Cas pratiques
Créer et piloter une VM Ubuntu sur Azure
Un environnement à un hôte, sans pack applicatif : construire l'image, démarrer la VM Azure, y ouvrir un shell, puis la détruire.
Ce tutoriel crée un environnement xbee à un seul hôte — une VM Azure ubuntu:24.04,
sans aucun pack applicatif — et la pilote de bout en bout : construction de l’image,
démarrage, connexion shell, arrêt, destruction. Il suit exactement la même suite de
commandes que
Créer et piloter une VM Ubuntu sur AWS : seuls le
provider déclaré et ses champs propres changent — voir
Providers & volumes.
Prérequis : les identifiants Azure
Le binaire du provider azure s’authentifie via un principal de service
(service principal), identifié par quatre variables d’environnement standard du SDK
Azure :
export AZURE_TENANT_ID=<tenant-id>
export AZURE_CLIENT_ID=<client-id>
export AZURE_CLIENT_SECRET=<client-secret>
export AZURE_SUBSCRIPTION_ID=<subscription-id>Le plus simple est de les regrouper dans un fichier (par exemple ~/.azure/xbee-sp.env,
en dehors de tout dépôt versionné) et de le sourcer avant d’utiliser xbee :
source ~/.azure/xbee-sp.envCréer l’environnement
mkdir vm-azure
cd vm-azure
xbee new env -p azure -s ubuntu:24.04Le xbee-env.yaml généré
schema-version: "1.0"
provider:
name: azure
default:
host:
system: ubuntu:24.04
net: xbee-net
host: aSelon la configuration locale (~/xbee.yml), default.host.provider peut déjà
contenir des valeurs par défaut pour Azure, ou rester absent. Dans tous les cas,
assurez-vous d’obtenir les champs suivants, propres à Azure — voir
Providers & volumes :
default:
host:
system: ubuntu:24.04
net: xbee-net
provider:
subscriptionId: <subscription-id>
resourceGroup: mon-groupe-de-ressources
location: westeurope
vmSize: Standard_D2s_v3
size: 30
host: asubscriptionId/resourceGroup/locationsituent la VM ;vmSizeen choisit le gabarit ;sizeest la taille (en Go) du disque racine. Le groupe de ressources doit déjà exister côté Azure.host: adéclare un unique hôte, sanspack: rien d’autre que le systèmeubuntu:24.04n’y est installé.
Construire l’image
xbee packxbee démarre une VM Azure temporaire, y installe le système requis, capture le
résultat en image, puis détruit cette VM temporaire. Cette image est ensuite réutilisée
par tous les futurs xbee up, tant que la définition du système ne change pas.
xbee up refuse de démarrer tant que cette étape n’a pas été faite.
Démarrer la VM
xbee updémarre la VM à partir de l’image construite à l’étape précédente, attend qu’elle soit
joignable en SSH, puis exécute les directives up/configure de l’environnement —
aucune ici.
Piloter la VM
xbee enter aouvre un shell SSH dans la VM — a est la clé de l’hôte déclarée dans
xbee-env.yaml. Avec un seul hôte, le nom peut être omis (xbee enter).
lsb_release -aArrêter puis détruire la VM
xbee downéteint la VM sans la supprimer : un nouvel xbee up la redémarre, en repartant de la
même image. Pour supprimer la VM elle-même (pas l’image, réutilisable par un futur
xbee up) :
xbee deletedemande confirmation ; --force/-f la saute.
Pour aller plus loin
- Ajouter un pack applicatif à cet hôte (
host.a.pack), exactement comme dans Utiliser le pack dans un environnement. - Déclarer un volume de données — voir Environnements.
- Toutes les propriétés reconnues dans un
xbee-env.yaml— voir xbee-env.yaml. - Le détail complet, commande par commande — voir Créer et piloter une VM Ubuntu sur AWS, identique au-delà du provider.