Openstack pour les nuls

Preview:

Citation preview

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?