LXD : les profils
Un profil regroupe une configuration réutilisable (limites, périphériques, réseau, cloud-init) appliquée à plusieurs instances. C’est l’équivalent LXD d’un modèle de configuration : une modification du profil s’applique à toutes les instances qui l’utilisent.
Profil default
Section intitulée « Profil default »Toute instance reçoit le profil default, qui contient un disque racine et une carte réseau :
lxc profile list # liste les profilslxc profile show default # contenu du profil par défautCréer et configurer
Section intitulée « Créer et configurer »lxc profile create petitlxc profile set petit limits.cpu 1lxc profile set petit limits.memory 512MiBlxc profile get petit limits.memory # lire une valeurlxc profile unset petit limits.cpu # retirer une valeurAjouter un périphérique au profil :
lxc profile device add petit donnees disk source=/srv/donnees path=/mnt/donneeslxc profile device remove petit donneesÉditer au format YAML
Section intitulée « Éditer au format YAML »lxc profile edit petit # ouvre le profil dans l'éditeurlxc profile edit petit < petit.yaml # remplace le contenu depuis un fichierExemple de fichier :
name: petitdescription: Petit serveurconfig: limits.cpu: '2' limits.memory: 2GiB boot.autostart: 'true'devices: {}Appliquer un profil
Section intitulée « Appliquer un profil »lxc launch ubuntu:24.04 c1 -p default -p petit # à la création : liste de profilslxc profile add c1 petit # ajoute un profil à une instancelxc profile remove c1 petit # le retirelxc profile assign c1 default,petit # remplace la liste complètelxc profile show petit # voir aussi la section « used_by »Ordre d’application
Section intitulée « Ordre d’application »Les profils s’appliquent dans l’ordre de la liste ; en cas de conflit, le dernier l’emporte. La configuration propre à l’instance prime sur tous les profils.
lxc config show c1 --expanded # résultat final : profils + configuration de l'instanceProfil et cloud-init
Section intitulée « Profil et cloud-init »Un profil peut initialiser automatiquement toutes les instances qui l’utilisent :
lxc profile set petit cloud-init.user-data "$(cat cloud-init.yaml)"Copier et supprimer
Section intitulée « Copier et supprimer »lxc profile copy petit moyenlxc profile delete moyen # échoue si une instance l'utilisePour aller plus loin
Section intitulée « Pour aller plus loin »- Documentation officielle : documentation.ubuntu.com/lxd/en/latest/profiles