37
OPENSTACK POUR LES OPENSTACK POUR LES NULS NULS UNE INTRODUCTION À OPENSTACK UNE INTRODUCTION À OPENSTACK Créé par / et Sylvain Révéreault Chris Cowley @chriscowleyunix @srevereault

Openstack pour les nuls

Embed Size (px)

Citation preview

Page 1: Openstack pour les nuls

OPENSTACK POUR LESOPENSTACK POUR LESNULSNULS

UNE INTRODUCTION À OPENSTACKUNE INTRODUCTION À OPENSTACKCréé par / et Sylvain

Révéreault Chris Cowley @chriscowleyunix

@srevereault

Page 2: Openstack pour les nuls

AGENDAAGENDAQu'est que c'est?

Éléments

Chaque élément fait quoi?

Comments utiliser?

Types d'architecture

Page 3: Openstack pour les nuls

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.

Page 4: Openstack pour les nuls

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

Page 5: Openstack pour les nuls

OPENSTACK FOUNDATIONOPENSTACK FOUNDATION

Et beaucoup plus ... même Orange

Et Moi

Page 6: Openstack pour les nuls

IAAS/PAAS?IAAS/PAAS?

Page 7: Openstack pour les nuls

COMPOSANTS OPENSTACKCOMPOSANTS OPENSTACKNovaSwiftGlanceKeystoneHorizonNeutronCinderCeilometerHeatTroveOslo

Page 8: Openstack pour les nuls

PROJETS EN INCUBATIONPROJETS EN INCUBATIONIronicTriple-OZaqarSaharaBarbicanDesignateManilad'autres ?

Page 9: Openstack pour les nuls

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

Page 10: Openstack pour les nuls

CE N'EST PAS TOUTCE N'EST PAS TOUTJe n'ai pas mis:

TroveOsloTous les projets en incubation

Page 11: Openstack pour les nuls

QUI FAIT QUOIQUI FAIT QUOI

Page 12: Openstack pour les nuls

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é

Page 13: Openstack pour les nuls

GLANCEGLANCEGère les templates

Accepte les requettes des utilisateurs pour les images etmetadata

Templates stockés dans Swift/S3, FS ou HTTP

Page 14: Openstack pour les nuls

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"

Page 15: Openstack pour les nuls

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

Page 16: Openstack pour les nuls

SWIFTSWIFTStockage Objet

Utilisé par d'autres services (Glance par exemple) ou utiliséen direct

Pas seulement un format du stockage, mais un "dialecte" dustockage

Page 17: Openstack pour les nuls

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

Page 18: Openstack pour les nuls

HEATHEATOrchestration basée sur les templates

Avec un fichier on peut créer toute une infrastructure

InstancesReseauxStockageAccès externe

Page 19: Openstack pour les nuls

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

Page 20: Openstack pour les nuls

CEILOMETERCEILOMETERCollecte de metrics (physique ou virtuelle)

Stockage de ces infos

Principalement pour la facturation des tenants.

Page 21: Openstack pour les nuls

TROVETROVEDBaaS (Database as a Service)

SQL (MySQL) ou NoSQL (MongoDB)

Page 22: Openstack pour les nuls

OSLOOSLOLes API partagées

Page 23: Openstack pour les nuls

LES NOUVELLES RÈGLESLES NOUVELLES RÈGLESRappel : Openstack n'est pas un alternative a vSphere

Page 24: Openstack pour les nuls

PENSE FOURMIS, PAS CHATPENSE FOURMIS, PAS CHAT

Page 25: Openstack pour les nuls

INSTANCES ARE STATELESSINSTANCES ARE STATELESSLes instances sont jetables

Mettre tout les données dans Cinder/Swift

Page 26: Openstack pour les nuls

RAPPELER LE "CHAOS MONKEY"RAPPELER LE "CHAOS MONKEY"

Page 27: Openstack pour les nuls

COMMENT TESTERCOMMENT TESTER

Page 28: Openstack pour les nuls

TRYSTACKTRYSTACK

Le plus simple - c'est dans le cloud

Il faut avoir un compte Facebook

http://trystack.org

Page 29: Openstack pour les nuls

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

Page 30: Openstack pour les nuls

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

Page 31: Openstack pour les nuls

JUJUJUJUProjet d'orchestration pour Ubuntu

Page 32: Openstack pour les nuls

ARCHITECTURESARCHITECTURES

Page 33: Openstack pour les nuls

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)

Page 34: Openstack pour les nuls

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)

Page 35: Openstack pour les nuls

HA CLUSTERHA CLUSTER

Page 36: Openstack pour les nuls

DEMODEMOÇa va finir mal :-)

Page 37: Openstack pour les nuls

QUESTIONS?QUESTIONS?