Aller au contenu

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 :

  1. Enregistrement du nœud (adresse IPMI/BMC, specs hardware)
  2. Inspection automatique du hardware
  3. Déploiement de l'image OS via PXE/iPXE
  4. 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).