Compute¶
Services de calcul et d'exécution sur OpenStack.
Nova¶
Nova est le service de compute d'OpenStack. Il géré le cycle de vie complet des machines virtuelles : création, démarrage, arrêt, migration, redimensionnement et suppression. Nova s'appuie sur des hyperviseurs (KVM, QEMU, Xen, VMware) pour exécuter les VMs.
Cas d'usage : serveurs web, backends applicatifs, environnements de développement, calcul intensif.
Flavors¶
Les flavors définissent les ressources allouees a une VM (vCPU, RAM, disque). Les flavors standards sont généralement pre-configurees par l'administrateur du cloud :
| Flavor | vCPU | RAM | Disque | Usage |
|---|---|---|---|---|
| m1.tiny | 1 | 512 Mo | 1 Go | Tests, micro-services |
| m1.small | 1 | 2 Go | 20 Go | Applications légères |
| m1.medium | 2 | 4 Go | 40 Go | Usage général |
| m1.large | 4 | 8 Go | 80 Go | Applications exigeantes |
| m1.xlarge | 8 | 16 Go | 160 Go | Bases de données, calcul |
Créer une instance¶
openstack server create mon-serveur \
--flavor m1.medium \
--image ubuntu-22.04 \
--network mon-reseau \
--key-name ma-cle \
--security-group default
Gérer le cycle de vie¶
# Lister les instances
openstack server list
# Arreter une instance
openstack server stop mon-serveur
# Redemarrer une instance
openstack server start mon-serveur
# Redimensionner (changer de flavor)
openstack server resize mon-serveur --flavor m1.large
openstack server resize confirm mon-serveur
# Supprimer une instance
openstack server delete mon-serveur
Créer une instance depuis une image custom¶
Si vous avez construit une image custom (par exemple avec Packer et Ansible) :
openstack server create mon-serveur \
--flavor m1.medium \
--image mon-image-custom \
--network mon-reseau \
--key-name ma-cle
Metadata et user-data
Vous pouvez injecter des scripts d'initialisation via --user-data init.sh pour automatiser la configuration au premier démarrage (cloud-init).
Ironic¶
Ironic est le service de bare-metal provisioning d'OpenStack. Il permet de provisionner des serveurs physiques de la même manière que Nova provisionne des VMs, en utilisant les mêmes APIs.
Cas d'usage : workloads haute performance (HPC), bases de données critiques, applications necessitant un accès direct au hardware, conformité reglementaire.
Fonctionnement¶
Ironic géré l'ensemble du cycle de vie du serveur physique :
- Enregistrement du nœud (adresse IPMI/BMC, specs hardware)
- Inspection automatique du hardware
- Déploiement de l'image OS via PXE/iPXE
- Nettoyage du nœud après utilisation
# Lister les noeuds bare-metal
openstack baremetal node list
# Provisionner un serveur bare-metal
openstack server create mon-bare-metal \
--flavor baremetal \
--image ubuntu-22.04 \
--network mon-reseau
Placement¶
Le service Placement géré l'inventaire des ressources disponibles (vCPU, RAM, disque, GPU) et aide Nova a choisir le meilleur hôte pour placer une nouvelle instance. Placement est un service distinct depuis la version Stein.
Cas d'usage : allocation intelligente des ressources, affinite/anti-affinite de placement, gestion de quotas.
Placement et Nova
Placement est obligatoire pour Nova. Il répond à la question "ou placer cette VM ?" en fonction des ressources disponibles et des contraintes demandées (zone, agregat, traits hardware).