Vous êtes sur la page 1sur 45

Le Cloud Open-Mind !

Emilien Macchi
1

Sommaire
Introduction Comprendre Swift Comprendre Glance Comprendre Nova Dploiement

Divers

Emilien Macchi

OpenStack

Introduction

Emilien Macchi

Quest-ce-quOpenStack ?
Projet OpenSource ambitieux Catgorie : IaaS Divis en plusieurs sous-projets : 3 principaux, et dautres en dveloppement. Simpose sur le march de lOpenSource Sous Licence Apache 2.0

Emilien Macchi

Un cloud, trois projets


Swift fournit le stockage des donnes via API Nova orchestre, gre et offre des machines virtuelles Glance gre les images des machines

Swift Cloud storage

Nova Cloud Compute

Glance Image delivery and registration

Emilien Macchi

Comprendre Swift

Grer le stockage.

Emilien Macchi

Comprendre Swift 1/5


Systme de stockage volutif et redondant
Ne doit pas tre vu comme un FS, car les donnes ne sont accessibles que par API Les donnes sont vues comme des objets, stocks dans des zones, situes sur plusieurs serveurs, racks, data centers

Emilien Macchi

Comprendre Swift 3/5


Utilisateur
Swift API / S3 API

Auth

Swift-proxy

Cache

Swift-Object

Swift-Container

Swift-Account

Object Store

Container DB

Account DB

Architecture globale
Emilien Macchi
8

Comprendre Swift 4/5


3 tapes dauthentification :
Identification, reception dun Token unique Authentification via HTTP Headers sur Proxy Validation de lauthentification avec Swift-Account, SwiftContainer et/ou Swift-Object

Emilien Macchi

Comprendre Swift 5/5


Vocabulaire :
Swift-Account : Gre une base de donnes Sqlite3 contenant les objets de stockage Swift-Container : Gre une autre base de donnes Sqlite3 contenant la topologie des conteneurs Swift-Object : Topologie des objets rels enregistrs sur chaque noeud

Emilien Macchi

10

Comprendre Glance

Grer les images.

Emilien Macchi

11

Comprendre Glance 1/3


Fournit les services de stockages, de dcouvertes, denregistrements, et de distributions pour les images disques des machines virtuelles

Fonctionne par API compatible avec dautres systmes

Emilien Macchi

12

Comprendre Glance 2/3


Utilisateur API calls : Nova-API via port 9292

Glance-Registry via port 9191


Image Disk format Container format Size ...

Glance-API

(Images Metadata)

Virtual Disk Image

Image Property Custom Image metadata...

Database

Images store Virtual Disk Image (FS, HTTP, Swift, S3) Virtual Disk Image

Raw, VHD, VMDK, qcow2 VDI, ISO, AMI, ARI, AKI

Architecture globale
Emilien Macchi
13

Comprendre Glance 3/3

Nova
Utilise les Images

Glance
Enregistre les images

Swift

Ecosystme dimages OpenStack

Emilien Macchi

14

Comprendre Nova

Orchestrer les VM.

Emilien Macchi

15

Comprendre Nova 1/13


Multi-clients Gestion des droits (par des rles) Contrle des quotas pour chaque ressource Hautement compatible

Emilien Macchi

16

Comprendre Nova 2/13


Nova Cloud Compute

Manage

Xen Hypervisor

KVM Hypervisor

Vmware ESXi Hypervisor

Nova : Emilien Macchi le Manager

17

Comprendre Nova 3/13


Nova Cloud Compute Gre le rseau, les volumes, lAPI, lordonnanceur, et le services dimages

Cloud Controller node

Composants de Nova

Gre les instances virtuelles Nova Cloud Compute Nova Cloud Compute

Compute nodes

Compute nodes

Emilien Macchi

18

Comprendre Nova 4/13


Single Node (Test) Nova

Tous les services Nova

Two Nodes (Dveloppement) Nova Nova

Service Compute Nova

Autres Services Nova

Multiple nodes (Production) Nova Nova

Service Compute Nova

Autres Services Nova

Diffrentes architectures possibles


Emilien Macchi
19

Comprendre Nova 5/13


Utilisateur

Nova Sheduler

Nova-API

Queue

Database

Nova Network

Nova Volume

Nova Compute

Architecture logique de Nova


Emilien Macchi
20

Comprendre Nova 6/13


En rsum : Les utilisateurs qui veulent utiliser Nova pour crer des instances de machines, excutent des appels via lAPI de Nova avec OpenStack API, ou EC2 API. Pour effectuer ces demandes, le service Nova change des informations entre la file dattente (actions) et la base de donnes (informations). Glance est un service vraiment part, qui est interfac avec Nova via API pour fournir un service dimages disques virtuelles.

Emilien Macchi

21

Comprendre Nova

Les diffrents modules de Nova

Emilien Macchi

22

Comprendre Nova 7/13


API : Cur de Nova Fonction principale : Cloud Controller avec le service nova-api Compatible avec lAPI Amazon EC2

Ecoute sur le port 8773 pour EC2 API et 8774 pour OpenStack API
Initialise la plupart des activits Renforce certaines fonctionnalits (ex : quotas)
23

Emilien Macchi

Comprendre Nova 8/13


Scheduler : Principe simple : il prend une demande dinstance de machine virtuelle et dtermine o (quel compute server ) doit elle tre excute. Fonctionnement par algorithmes pour assurer un fonctionnement optimal. 3 choix dordonnancement :
Simple : tente de trouver lhte le moins charg Chance (celui par dfaut) : choisit un hte disponible au hasard depuis sa Service Table Zone : Prend un hte au hasard depuis une zone disponible

Emilien Macchi

24

Comprendre Nova 9/13


Compute Worker : Cr et termine les instances de machines virtuelles

Reoit et excute des actions visant mettre jour les tats des VM dans la base de donnes
Supporte plusieurs API : KVM, Xen, Citrix, VMware, Hyper-V,

Emilien Macchi

25

Comprendre Nova 10/13


Volume Worker : Gre la cration, lattachement et le dtachement de volumes persistants Compatible avec AoE, iSCSI (dont Solaris ZFS), Sheepdog, RBD, LeftHand (HP)

Emilien Macchi

26

Comprendre Nova 11/13


Network Worker : Configure les interfaces bridge Adapte les rgles de pare-feu (Iptables) 2 types dadresse IP pour une instance :
Adresse fixe : prive Adresse provisoire : publique

3 gestionnaires de rseaux :
Flat : adresse fixe attache linterface bridge FlatDHCP : adressage dynamique pour chaque interface bridge Support des VLAN : chaque projet dispose de sa plage dadresses IP accessibles via VLAN.

Emilien Macchi

27

Comprendre Nova 12/13


Queue : Point de passage oblig pour les instructions changes entre les services Diffrents types de files dattente de messages pour faciliter la communication : Topics, Fanout, Host

Emilien Macchi

28

Comprendre Nova 13/13


Database : Enregistre la configuration et les tats en temps rels pour une infrastructure Cloud : types dinstances disponibles, instances en cours dutilisation, rseaux disponibles, projets,

Supporte la plupart des SGBD : MySQL, PostgreSQL

Emilien Macchi

29

Dploiement

Planification du dploiement

Emilien Macchi

30

Dploiement
3 tapes : Ecrire le scnario de dploiement, finaliser les choix darchitectures, et sassurer que le matriel requis soit disponible. Installer les prrequis puis Nova, et enfin configurer. Utiliser Nova pour prparer le systme afin daccueillir les utilisateurs finaux.

Emilien Macchi

31

Dploiement
Utilisation de Nova
Planification de dploiement de Nova

Ajout dutilisateurs et de projets

Planification Envoi dimages Lancement dinstances

Installation de Nova Installation

Configuration

Configuration des accs Instance daccs

Workflow
Emilien Macchi
32

Dploiement
Choix faire : Technologie de virtualisation : KVM ? VMware ? ? Attention, vous ne pouvez pas mlanger les technologies de virtualisation lintrieur dune zone. Lauthentification : en local (via SQLite3) ou par LDAP LAPI : OpenStack et Amazon EC2 Scheduler Service dimage Bases de donnes : SQLite3, MySQL, PostreSQL Volumes : SAN ou iSCSI,

Emilien Macchi

33

Dploiement

Installation du Cloud :

Les mains dans le cambouis.


34

Emilien Macchi

Installation STOP !
Il existe plusieurs mthodes dinstallation dOpenStack : Via StackOps (Distribution All-in-one) Depuis les packages

Lors de notre dploiement, nous avons choisis StackOps ! Emilien Macchi


35

Installation
Installation de la distribution en mode Single Node (suffisant pour des tests).
Pour nos tests, nous installons les 3 modules dOpenStack sur le mme serveur. Pensez laisser un volume (minimum) logique LVM libre. Dfinir la plage dadresses IP publiques.

Emilien Macchi

36

Dploiement

Administration du Cloud

Emilien Macchi

37

Administration
Plusieurs moyens :
Par la ligne de commande

Par lextention HybridFox de Firefox


Par un dashboard en interface Web (plusieurs solutions libres)

Nous retiendrons le module Cloud intgr Drupal (Clanavi). Il communique via API avec les modules dOpenStack.

Emilien Macchi

38

Gestion des Instances

Emilien Macchi

39

Gestion des Images

Emilien Macchi

40

Facturation

Emilien Macchi

41

Fonctionalites du Dashboard
Bnficie de la puissance de Drupal
Gestions des permissions (clients, admins) Gestions des Images, des instances, du rseau, des volumes, des cls SSH, des clusters, des facturations, des templates, des Snapshots

Emilien Macchi

42

Dploiement

Et aprs ?

Emilien Macchi

43

La suite
Nous avons vu les diffrentes fonctionnalits de base dOpenStack. Quelle sont les prochaines tapes ?
Installer plusieurs computer nodes Sparer les services sur diffrents serveurs Etre dans un environnement htrogne :
Stockage dport par une baie SAN (exemple) Orchestrage dun hyperviseur tel que VMware ESXi

Tester le fonctionnement en mode stress :


Rpartition de charge Haute disponibilit Tolrance de panne

Emilien Macchi

44

Divers
Auteur : Emilien Macchi (emilien.macchi@gmail.com) Sources :
Documentation officielle OpenStack & StackOps (Wiki, Doc, Lauchpad) Livre Deploying OpenStack (Collection OReilly publi en 2011) Mon meilleur ami : Google

Visuels : distribus sous Licence GPL et raliss avec Visio 2010 et Powerpoint 2010 (sauf le logo OpenStack qui est officiel)

Emilien Macchi

45