Upload
hoangcong
View
218
Download
0
Embed Size (px)
Citation preview
Orchestrer son cloud OpenStack avec Heat
Adrien [email protected]
Osones
7 juillet 2014
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 1 / 43
Introduction
Le cloud ? Parlons IaaS et OpenStack
Le besoin d’orchestration
Les principes de Heat
Quelques fonctionnalites avancees de Heat
Futur de Heat
Demonstration
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 4 / 43
Qui suis-je ?
Adrien CuninI 24 ans et passionne de logiciels libresI Contributeur depuis 2006 (notamment Ubuntu et Debian)I Ingenieur cloud computing / OpenStack
OsonesI Services et formations cloud computing (OpenStack, AWS)
Association OpenStack-frI Membre du CA et co-fondateur
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 5 / 43
Plan
1 Le cloud, l’IaaS et OpenStack
2 L’orchestration et HeatPourquoi orchestrer ?L’orchestration dans OpenStack : Heat
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 6 / 43
Plan
1 Le cloud, l’IaaS et OpenStack
2 L’orchestration et HeatPourquoi orchestrer ?L’orchestration dans OpenStack : Heat
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 7 / 43
Le cloud, significations...
Stockage/calcul distant (dans ce contexte, on oublie)
Virtualisation++
Abstraction du materiel (voire plus)
Acces normalise par des APIs
Service et facturation a la demande
Flexibilite, elasticite
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 8 / 43
WaaS : Whatever as a Service
Principalement
IaaS Infrastructure as a ServicePaaS Platform as a ServiceSaaS Software as a Service
Mais aussi :I Database as a ServiceI Network as a ServiceI Load balancing as a ServiceI $APPLICATION as a Service
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 9 / 43
Recapitulatif
Source : WikipediaAdrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 10 / 43
Cloud public ou cloud prive ?
Public fourni par un hebergeur a des clients (AWS, Rackspace Cloud, etc.);cloud externalise
Prive plateforme et ressources internes
Hybride utilisation de ressources publiques en complement d’un cloud prive,lorsque le besoin apparait (cloud bursting)
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 11 / 43
Comment faire de l’IaaS
Cloud public de reference : Amazon Web Services (AWS), pionniersdu genre (des 2002)
Logiciels libres permettant le deploiement d’un cloud prive :I EucalyptusI CloudStackI OpenNebulaI OpenStack
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 12 / 43
Le projet OpenStack en resume
Networking
OPENSTACK CLOUD OPERATING SYSTEM
Standard Hardware
Compute Storage
Your Applications
OpenStack Dashboard
OpenStack Shared Services
APIs
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 13 / 43
Historique du projet OpenStack
Demarrage en 2010
Objectif : le Cloud Operating System libre
Fusion de deux projets de Rackspace (Storage) et de la NASA(Compute)
Licence Apache 2.0Les releases jusqu’a aujourd’hui :
I Austin (2010.1)I Bexar (2011.1)
...I Grizzly (2013.1)I Havana (2013.2)I Icehouse (2014.1)I Novembre 2014 : Juno
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 14 / 43
Fondation OpenStack
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 15 / 43
Quelques soutiens/contributeurs ...
Rackspace
Canonical
Red Hat
Suse
HP
IBM
Dell, Intel
Cisco, Juniper
NetApp, VMWare
Yahoo, Bull
Mais aussi : Mirantis, StackOps, eNovance
http://www.openstack.org/foundation/companies/
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 16 / 43
... et utilisateurs
Tous les contributeurs precedemment cites
En France : CloudWatt et Numergy
Wikimedia
CERN
Paypal
Comcast
Etc. Sans compter les implementations confidentielles
http://www.openstack.org/user-stories/
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 17 / 43
Developpement du projet
Open Source
Open Design
Open Development
Open Community
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 18 / 43
Architecture conceptuelle
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 19 / 43
Quelques notions
A partir d’images, on cree des instances
On attache des volumes a ces instances
Les instances sont placees dans des reseaux
Toutes ces actions sont faisables par une API REST
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 20 / 43
Plan
1 Le cloud, l’IaaS et OpenStack
2 L’orchestration et HeatPourquoi orchestrer ?L’orchestration dans OpenStack : Heat
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 21 / 43
Ce que nous fournit deja l’IaaS
Differents types de ressources
Acces a la demande, rapide et agile, a ces ressources
Possibilite de lier certaines ressources entre elles
Des passerelles vers l’interieur des instances (user data et cloud-init)
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 22 / 43
Ce qu’il manque
Une interface unifiee a tous les types de ressources
Un format de description de son architecture : ressources et liensentre ressources
La possibilite de reproduire et distribuer facilement un modeled’architecture
Aller plus loin dans la configuration de l’interieur des instances
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 23 / 43
Principes de Heat
Integration officielle dans le projet : Havana (fin 2013)
Inspire de CloudFormation (CFN) chez AWS
Description de son architecture dans un fichier template
Un template est instancie en stack
C’est Heat qui va faire les demandes d’allocation de ressources aupresdes differents services
Cycle de vie d’une stack : creation, mise(s) a jour, destruction
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 24 / 43
Les templates
Template d’une architecture : fichier texte
Prend des parametres
Declare des ressources
Renvoie des sorties
Format HOT (Heat Orchestration Template) : base sur YAML
(Le format CFN est base sur JSON)
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 25 / 43
Parametres
Configurer une stack a son lancement
Possibilite de definir des contraintes sur ces parametres
Exemples :I Taille de l’instanceI Cle publique SSH pour acceder a l’instanceI Mot de passe
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 27 / 43
Parametres : exemple
db_name:
type: string
description: WordPress database name
default: wordpress
constraints:
- length: { min: 1, max: 64 }
description: db_name must be between 1 and 64 characters
- allowed_pattern: ’[a-zA-Z][a-zA-Z0-9]*’
description: >
db_name must begin with a letter and contain only alphanumeric
characters
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 28 / 43
Ressources
Une ressource a un type ...
... et des proprietes
Possibilite de faire reference a un parametre ou a une autre ressource
Quelques types de ressource possibles :I OS::Nova::ServerI OS::Neutron::NetI OS::Cinder::Volume
Attributs
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 29 / 43
Ressource : exemple
server1:
type: OS::Nova::Server
properties:
name: Server1
image: { get_param: image }
flavor: { get_param: flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: server1_port }
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 30 / 43
Les sorties
Permet de renvoyer des informations utiles a l’utilisateur
Exemples :I Adresse de l’application web deployeeI Mot de passe genere
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 31 / 43
Ressource : exemple
outputs:
server1_provider_ip:
description: IP address of server1 in provider network
value: { get_attr: [ server1, first_address ] }
server2_provider_ip:
description: IP address of server2 in provider network
value: { get_attr: [ server2, first_address ] }
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 32 / 43
Demonstration
Creation d’une stack avec deux instances
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 33 / 43
Quelques fonctionnalites avancees
Nested stacks : referencer un template dans un autre
Definition de ses propres ressources (provider resources)
Environnements : passer des parametres lors de l’instanciation d’unestack
Autoscaling : avec Ceilometer
Application configuration : aller plus loin que cloud-init
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 34 / 43
Nested stacks + provider resources + environments I
(my_nested.yaml)
heat_template_version: 2013-05-23
resources:
my_instance:
type: OS::Nova::Server
properties:
flavor: m1.small
image: my_image
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 35 / 43
Nested stacks + provider resources + environments II
(my_stack.yaml)
heat_template_version: 2013-05-23
resources:
my_nested:
type: My::Custom::Server
(environment.yaml)
resource_registry:
My::Custom::Server: my_nested.yaml
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 36 / 43
Autoscaling
Faire evoluer dynamiquement le nombre de ressources dans la stack
Exemple : 1 load-balancer + N serveurs web
Les instances ”serveur web” sont creees et supprimees a la volee enfonction d’une metrique
Couplage avec Ceilometer (OpenStack Telemetry) pour larecuperation des metriques
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 37 / 43
Generer un template a partir de l’existant
Aujoud’hui pas de solution integree dans OpenStack
Recemment, solution proposee par CloudWatt : Flame
http://dev.cloudwatt.com/fr/blog/
introduction-a-flame-le-generateur-de-template-automatique-pour-heat.
html
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 38 / 43
Futur de Heat
Discussion sur une nouvelle version de l’API
Chiffrement dans les templates
Versionnement des ressources
Avancees dans le deploiement de configuration et d’application
API Autoscaling en dehors de Heat
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 39 / 43
Conclusion
L’orchestration devient essentiel pour deployer des applicationscomplexes dans le cloud
Heat n’en est qu’a ses debuts
Nous sommes en route vers le PaaS
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 40 / 43
Ressources
http://openstack.org
https://wiki.openstack.org/Heat
http:
//docs.openstack.org/developer/heat/template_guide/
https:
//git.openstack.org/cgit/openstack/heat-templates/
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 41 / 43
OpenStack en Francais
Site web : http://openstack.fr
Mailing-list : [email protected]
IRC : #openstack-fr@Freenode
Twitter : @OpenStackFr
L’association : https://asso.openstack.fr
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 42 / 43
Merci !
Cette presentation est sous licence CC BY-SA(Certains schemas et exemples ont ete piques a Steven Hardy & Zane Bitter)
Questions ?Email : [email protected] : Adri2000@Freenode
Twitter : @Adri2000 OS
Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 43 / 43