---
title: TCONF Openstack
tags: autres
---
## TCONF Openstack
AWS a la maison. Creation de VM sur nos serveurs hébergés.
Utilisé chez OVH
Open-source
Commencé en 2010
Services :
- Swift : Object Storage
- moins utilisé
- fonctionne globalement comme S3
- **Nova** : Lancement de VM, Gestion du compute
- Conductor :
- Scheduler Donne l'HV
- Compute : Lance sur l'HV
- DB : Gere l'etat des VM
- **Cinder** : Stockage
- Agnostique a la solution de stockage :
- CEPH, LVM, Iscsi, ...
- **Neutron** : Gestion du network
- Plusieurs back-end : OVS, OVM, ...
- Keystone : Gestion d'utilisateurs
- Plusieurs solution d'authentification :
- SQL, LDAP, Kerberos, OIDC, SAML
- Glance : Gestion des images
- Image stocke dans S3 ou Swift
- Horizon : Web Interface
Communication entre les services:
-> chaque service expose une API perso mais standardisée
-> chaque service connait l'API des autres services
-> avec du messaging, Nova ne sait pas que tous les autres services existent donc cette methode est utilisée avec une message queue.
ex: DNS on cree un record DNS, il pop un event "dns create" dans une queue type RabbitMQ, le service DNS lit la queue RabbitMQ et traite le message.
Logging : chaque service drop ses propres logs.
Au CRI, les logs sont aggrégé dans un ES.
-> les logs sont collectés avec Fluentd.
kolla : Dockerise les services d'Open-stack
Pas de CD, pour des questions de couverture de test. Plus facile en terme de gestion de faire un systeme de maintenance.
Ressources :
- docs.openstack.org : Section Architecture
### Liens utiles (pour aller plus loin)
La doc, elle est pas forcément complète, mais elle a le mérite d'être clair sur les points qu'elle aborde.
Les parties intéressantes à lire sont les « Architecture Guide » et « Operations Guide »
https://docs.openstack.org/victoria/
Le design global d'OS (qui vient du Architecture Guide), avec le schéma super mastock donc je parlais
https://docs.openstack.org/arch-design/design.html
Globalement, le schéma ressemble à peu près à celui que j'ai fait, il détaille juste beaucoup plus les composants inhérants au fonctionnement de chaque service, comme les DB ou le messaging.
https://docs.openstack.org/arch-design/_images/osog_0001.png
Il y a le OpenStack Networking Guide, qui est super bien fait, mais faut s'accrocher, il se passe des trucs. Disons que passer sur l'introduction c'est déjà une grosse étape.
https://docs.openstack.org/neutron/victoria/admin/
Il y a la doc du driver OVN qui est pas mal aussi
https://docs.openstack.org/neutron/victoria/admin/ovn/index.html
et qui montre assez bien comment les différentes entités vont se parler entre elle. Genre comment les VMs vont pouvoir accéder à un réseau extérieur, comment elles vont pouvoir parler entre elles si elles sont sur un même réseau, etc.
https://docs.openstack.org/neutron/victoria/admin/ovn/routing.html
Les docs de Kolla et de Kolla-ansible ne sont pas spécialement intéressantes, il vaut mieux lire le code.
Et enfin, le service de Function-as-a-Service, Qinling
https://docs.openstack.org/qinling/victoria/user/