openstack pour les nuls
TRANSCRIPT
OPENSTACK POUR LESOPENSTACK POUR LESNULSNULS
UNE INTRODUCTION À OPENSTACKUNE INTRODUCTION À OPENSTACKCréé par / et Sylvain
Révéreault Chris Cowley @chriscowleyunix
@srevereault
AGENDAAGENDAQu'est que c'est?
Éléments
Chaque élément fait quoi?
Comments utiliser?
Types d'architecture
QU'EST QUE C'EST (PAS)?QU'EST QUE C'EST (PAS)?Ce n'est pas un hyperviseur
Ce n'est pas une platforme de stockage
Ce n'est pas une alternative a VMware ESX ou vSphere(equivalent a vCloud Director)
Ce n'est même pas un seul projet.
DONC, QU'EST QUE C'EST?DONC, QU'EST QUE C'EST?Un groupe de projets pour gérer des service cloud
Supporté par la Openstack Foundation
Aujourd'hui concentré sur IaaS
Les éléments de PaaS commencent à venir
OPENSTACK FOUNDATIONOPENSTACK FOUNDATION
Et beaucoup plus ... même Orange
Et Moi
IAAS/PAAS?IAAS/PAAS?
COMPOSANTS OPENSTACKCOMPOSANTS OPENSTACKNovaSwiftGlanceKeystoneHorizonNeutronCinderCeilometerHeatTroveOslo
PROJETS EN INCUBATIONPROJETS EN INCUBATIONIronicTriple-OZaqarSaharaBarbicanDesignateManilad'autres ?
COMMUNICATION ENTRE LESCOMMUNICATION ENTRE LESCOMPOSANTSCOMPOSANTS
orchestration
identity
networking
OpenstackDashboardHorizon
horizon database
Image Services
glance-api
glance-registry
glancedatabases
ImageAPI
Object Store
swift-proxy objectAPI
account container object
accountdb
containerrdb
objectstore
computenova-api
nova compute
image API
image API
Queuenova
databases
Hypervisor
libvirtXenAPIvSphere
object API
novaconsoleauth
nova console
nova cert/objectstore
networkprovider
volumeprovider
block storage
cinder-api
novascheduler
cinder volume
cinderdatabases
cinderscheduler
keystone(service and admin api)
identityAPI
identityAPI
identity API
neutron server
identity API
Queueneutron agents neutron server
neutrondatabases
cataloguebackend
policybackend
identitybackend
token backenbackend
heat-api
heat databases
watcher task
scaling policy
auto-scaling group
cloudwatch api
telemetry
cinder-api
ceilometerdatabases
centralagent
CE N'EST PAS TOUTCE N'EST PAS TOUTJe n'ai pas mis:
TroveOsloTous les projets en incubation
QUI FAIT QUOIQUI FAIT QUOI
KEYSTONEKEYSTONEIdentification et autorisation
Utilisé par tous les autres modules.
Alice veut lancer un instance
User/API Keystone Endpoint
Commande lancer
Alice faire une requettepour les tenants elle a
Keystone donne une list de toutes les service d'Alice
Service vérifier le token
Keystone envoyer le token
statut signalé
GLANCEGLANCEGère les templates
Accepte les requettes des utilisateurs pour les images etmetadata
Templates stockés dans Swift/S3, FS ou HTTP
NOVANOVAGère tout les instances (openstack-lish pour VM)
Decide quel neud utiliser pour un instance
Une instance est "stateless"
Plugins pour plusieurs hyperviseurs (ou pas) - on peututiliser LXC ou meme "bare-metal"
CINDERCINDERProvisionne le stockage persistant pour les instances
On peut l'utiliser pour /, mais ce n'est pas le comportementpar défaut
Plugins existent pour tout entre LVM et EMC VMAX
SWIFTSWIFTStockage Objet
Utilisé par d'autres services (Glance par exemple) ou utiliséen direct
Pas seulement un format du stockage, mais un "dialecte" dustockage
NEUTRONNEUTRONSoftware Defined Networking (SDN)
Mon preféré
Les "tenants" peuvent gérer leur propre réseau avec lesFWs, LBs et VPNs
Possiblité d'ajouter les IP externes pour les instances qui enont besoin
Plugins pour Openvswitch, Cisco Nexus, VMware NSX,Brocade, BigSwitch, et d'autres
Un plugin L2 modular
HEATHEATOrchestration basée sur les templates
Avec un fichier on peut créer toute une infrastructure
InstancesReseauxStockageAccès externe
HORIZONHORIZONInterface web pour gérer Openstack
Utilisé par l'admin et les utilisateurs
Pas essentiel - les APIs sont des "citoyens de premièreclasse"
Horizon utilise ces APIs
CEILOMETERCEILOMETERCollecte de metrics (physique ou virtuelle)
Stockage de ces infos
Principalement pour la facturation des tenants.
TROVETROVEDBaaS (Database as a Service)
SQL (MySQL) ou NoSQL (MongoDB)
OSLOOSLOLes API partagées
LES NOUVELLES RÈGLESLES NOUVELLES RÈGLESRappel : Openstack n'est pas un alternative a vSphere
PENSE FOURMIS, PAS CHATPENSE FOURMIS, PAS CHAT
INSTANCES ARE STATELESSINSTANCES ARE STATELESSLes instances sont jetables
Mettre tout les données dans Cinder/Swift
RAPPELER LE "CHAOS MONKEY"RAPPELER LE "CHAOS MONKEY"
COMMENT TESTERCOMMENT TESTER
TRYSTACKTRYSTACK
Le plus simple - c'est dans le cloud
Il faut avoir un compte Facebook
http://trystack.org
RED HAT RDORED HAT RDO
Un projet Redat pour créer les labs et PoCs
http://openstack.redhat.com
Limité a RHEL, CentOS et Fedora
PUPPETPUPPET
Sur la Forge, il y a des modules pour installer/gérerOpenstack
Compatible avec RHEL/CentOS et Ubuntu LTS
Utilisé par RDO
Plus souple de RDO
JUJUJUJUProjet d'orchestration pour Ubuntu
ARCHITECTURESARCHITECTURES
1 NODE?1 NODE?Controller node
Database(MySQL/MariaDB)
Message broker(RabbitMQ/Qpid)
Identity(keystone)
Images(glance)
Compute(nova)
Dashboard(horizon)
Networking(neutron-server)
Block storage(cinder)
Object storage(swift)
Networking(ml2 agent, ovs agent)
Orchestration(heat)
Telemetry(ceilometer)
Database(trove)
management
external/instance tunnels(on loopback)
Telemetry(ceilometer agent)
2 NODE2 NODEController node
Database(MySQL/MariaDB)
Message broker(RabbitMQ/Qpid)
Identity(keystone)
Images(glance)
Computer(nova)
Dashboard(horizon)
Networking(neutron-server)
Block storage(cinder)
Object storage(swift)
Networking(ml2 agent, ovs agent)
Orchestration(heat)
Telemetry(ceilometer)
Database(trove)
Compute node
Computer(nova)
Networking(ml2 agent, ovs agent)
management management
instance tunnels
external
instance tunnels
Telemetry(ceilometer agent)
Telemetry(ceilometer agent)
HA CLUSTERHA CLUSTER
DEMODEMOÇa va finir mal :-)
QUESTIONS?QUESTIONS?