Présentation d'OpenStack
Jérôme PANSANEL <
[email protected]>
IPHC – Décembre 2015
1
Histoire
● Middleware Cloud ouvert / libre
● Rackspace (stockage) + NASA (calcul)
● Développé en python
● Licence Apache 2.0
● Fondation :
● Juridique
● RH (dev, marketing, release manager)
● Infrastructure
● Organisation des OpenStack summit (4,5K participants)
● 500 organisations
● 23K membres individuels
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 2
Rythme des versions
6 mois d'intervalle (Avril ~ Octobre) :
● Austin (2010.1)
● Bexar (2011.1)
● […]
● Havana (2013.2)
● Icehouse (2014.1)
● Juno (2014.2)
● Kilo (2015.1)
● Liberty (2015.2)
● Mitaka (2016.1)
● N… (2016.2)
● O… (2017.1)
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 3
Largement supporté
Pour la version kilo :
● ~1500 contributeurs
● 70 organisations
● + de 7K bogues corrigés
● 800K chaînes traduites
● RedHat, IBM, Dell, Intel, Cisco, Juniper,
NetApp, HP, VMWare, Google, Yahoo…
Développement :
● Ouvert a tous
● Cycles courts (6 mois)
● Git, GitHub, Gerrit, Launchpad, Jenkins
● Très actif (17K commits / icehouse : havana + 25 %)
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 4
Largement utilisé
Secteur public : Secteur Français, cloud souverain :
● CERN
● Harvard ● Cloudwatt (Orange, Thalès)
● INFN ● Numergy (SFR, Bull)
● MIT
● Wikimedia En 2012 : Caisse des dépôts et
● FG-Cloud : fédération France Grilles Consignations : 2 * 75 M€ pour 2 * 33%
● EGI FedCloud : APIs occi, ooi
Secteur privé : Début 2015 : Orange rachète Cloudwatt
● OVH Octobre 2015 : procédure de sauvegarde
● Paypal
● Seagate
pour Numergy.
● Orange
● Disney
● Sony
● American Express
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 5
Architecture en composants
Chacun de ces composants est un projet séparé
● Nova : Calcul ● Ironic : Bare-metal
● Swift : Stockage objet ● Magnum : Conteneurs
● Cinder : Stockage bloc ● Zaqar : Queue
● Neutron : Réseau (SDN) ● Sahara : traitement de données
● Glance : Images VM ● Designate : DNS
● Keystone : Identité ● Barbican : Gestion de clés
● Horizon : UI web ● Solum : PaaS
● Ceilometer : Métrologie ● Manila : Systèmes de fichiers
● Heat : Orchestration partagés
● Trove : Bases de données
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 6
Architecture en composants
● Chaque composant est découpé en services
● Communication par bus de messages AMQP : RabbitMQ, etc...
● Utilisation d'une base de données (MariaDB, MySQL, PostgreSQL)
● Ces composants supportent différentes API :
● ReST
● Librairies natives python
● Amazon
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 7
Architecture
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 8
Keystone
● Annuaire d'utilisateurs et de groupes / projets (tenants)
● Catalogue de services
● Authentification
● Autorisation d'accès aux services
● Fonctionnement basé sur des « tokens »
● API admin : port 35357
● API utilisateur : port 5000
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 9
Les tenants ou projets
● Concept d'isolation des utilisateurs en groupes isolés
● Les utilisateurs ont des rôles sur des tenants
● Les ressources sont associées à un tenant
● Mais éventuellement partagées
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 10
Nova
Service de Calcul, fournit des instances de VM :
● Virtualisation : libvirt, KVM, Qemu, VMWare, Xen, vSphere
● Conteneurs : LXC, Docker, OpenVZ
● Instances éphémères (disque OS volatile)
● Les VMs sont instanciées par gabarits (flavor)
● Glance fournit les images
● Neutron fournit des ports réseaux
● Cinder fournit du stockage bloc
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 11
Nova²
Capacités :
● Redimensionnement d'une instance
● Migration possible d'une instance
● Groupes de sécurité : pare-feu pour chaque instance
● Service de méta-données personnalisées pour chaque instance
● Logs console de l'instance
● Accès console (VNC, Spice)
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 12
Nova++
Nova scheduler :
● Distribue les nouvelles instances sur les hyperviseurs
● Filtre en fonction des CPU, de la RAM, etc...
● Trie par poids en RAM (par défaut)
Nova conductor :
● Nœuds compute sont plus vulnérables
● Proxy entre nœuds compute et BDD
● Augmente la sécurité (évite des injections SQL, etc...)
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 13
Glance
● Catalogue d'images de VM
● Backend de stockage : disque local, swift, CEPH, etc...
● Les images ont des propriétés :
● Format (type) : qcow2, iso, raw, vmdk, etc...
● Taille disque minimum
● Visibilité
● RAM minimum
● Publique ?
● Etc...
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 14
Neutron
● Network as a Service
● Software Defined Networking
● IP flottantes
● Groupes de sécurité (firewall)
● Agents DHCP pour les instances
● Implémentation virtuelle : OpenVSwitch, etc...
● Implémentation matérielle : Cisco, Juniper, etc.
● L2, L3
● Équilibrage de charge (HAProxy)
● FwaaS
● VPN
● Utilise les namespaces réseau linux pour éviter les conflits d'IP
● Proxy metadata pour instances isolées
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 15
Neutron²
Les éléments présentés par l'API :
● Réseaux
● Sous-réseaux (plusieurs sur un réseau)
● Routeurs
● Ports qui connectent les éléments du réseau
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 16
Neutron
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 17
Cinder
● Volumes persistants
● Mode bloc (idem disques réels)
● Snapshots
● Backups
● Attachés par iSCSI aux instances
● Usage exclusif, pas partagé
● Bootable éventuellement
● Backends :
● LVM (par défaut)
● CEPH
● GlusterFS
● NetApp
● Etc...
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 18
Horizon
● Interface utilisateur web
● Basée sur django et les APIs
● Dashboard est la version fournie
● Les services visibles sont ceux répertoriés dans keystone
● Zone spécifique pour « admin »
● Zone par « tenant » ou projet
IPHC – Décembre 2015 Formation administrateur OpenStack – V. Legoll & J. Pansanel 19