Openstack pour les nuls

download Openstack pour les nuls

of 37

  • date post

    24-Jul-2015
  • Category

    Engineering

  • view

    384
  • download

    35

Embed Size (px)

Transcript of Openstack pour les nuls

  • OPENSTACK POUR LESOPENSTACK POUR LESNULSNULS

    UNE INTRODUCTION OPENSTACKUNE INTRODUCTION OPENSTACKCr par / et Sylvain

    Rvreault Chris Cowley @chriscowleyunix

    @srevereault

  • AGENDAAGENDAQu'est que c'est?

    lmentsChaque lment 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 stockageCe n'est pas une alternative a VMware ESX ou vSphere

    (equivalent a vCloud Director)Ce n'est mme pas un seul projet.

  • DONC, QU'EST QUE C'EST?DONC, QU'EST QUE C'EST?Un groupe de projets pour grer des service cloud

    Support par la Openstack FoundationAujourd'hui concentr sur IaaS

    Les lments de PaaS commencent venir

  • OPENSTACK FOUNDATIONOPENSTACK FOUNDATION

    Et beaucoup plus ... mme OrangeEt 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 vrifier le token

    Keystone envoyer le token

    statut signal

  • GLANCEGLANCEGre les templates

    Accepte les requettes des utilisateurs pour les images etmetadata

    Templates stocks dans Swift/S3, FS ou HTTP

  • NOVANOVAGre tout les instances (openstack-lish pour VM)

    Decide quel neud utiliser pour un instanceUne 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 dfaut

    Plugins existent pour tout entre LVM et EMC VMAX

  • SWIFTSWIFTStockage Objet

    Utilis par d'autres services (Glance par exemple) ou utilisen direct

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

  • NEUTRONNEUTRONSoftware Defined Networking (SDN)

    Mon prefrLes "tenants" peuvent grer leur propre rseau avec les

    FWs, LBs et VPNsPossiblit d'ajouter les IP externes pour les instances qui en

    ont besoinPlugins pour Openvswitch, Cisco Nexus, VMware NSX,

    Brocade, BigSwitch, et d'autresUn plugin L2 modular

  • HEATHEATOrchestration base sur les templates

    Avec un fichier on peut crer toute une infrastructureInstancesReseauxStockageAccs externe

  • HORIZONHORIZONInterface web pour grer OpenstackUtilis par l'admin et les utilisateurs

    Pas essentiel - les APIs sont des "citoyens de premireclasse"

    Horizon utilise ces APIs

  • CEILOMETERCEILOMETERCollecte de metrics (physique ou virtuelle)

    Stockage de ces infosPrincipalement pour la facturation des tenants.

  • TROVETROVEDBaaS (Database as a Service)

    SQL (MySQL) ou NoSQL (MongoDB)

  • OSLOOSLOLes API partages

  • LES NOUVELLES RGLESLES NOUVELLES RGLESRappel : 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 donnes dans Cinder/Swift

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

  • COMMENT TESTERCOMMENT TESTER

  • TRYSTACKTRYSTACK

    Le plus simple - c'est dans le cloudIl faut avoir un compte Facebook

    http://trystack.org

  • RED HAT RDORED HAT RDO

    Un projet Redat pour crer les labs et PoCshttp://openstack.redhat.com

    Limit a RHEL, CentOS et Fedora

  • PUPPETPUPPET

    Sur la Forge, il y a des modules pour installer/grerOpenstack

    Compatible avec RHEL/CentOS et Ubuntu LTSUtilis 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

  • DEMODEMOa va finir mal :-)

  • QUESTIONS?QUESTIONS?