Cloud
Créer et piloter une VM Ubuntu sur Scaleway
Choisir un pack système XBee, laisser le provider préparer l'image, puis piloter une instance Scaleway.
Ce tutoriel crée un environnement xbee à un seul hôte — une instance Scaleway
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 la même suite de
commandes que le tutoriel
Créer et piloter une VM Ubuntu sur AWS : seuls le provider déclaré et
ses paramètres propres changent — voir
Providers & volumes.
ubuntu:24.04 est un pack système racine XBee, pas un identifiant d’image Scaleway à
rechercher ou conserver. Le pack décrit la base attendue et le provider gère l’image
native réutilisable.
Prérequis : les identifiants Scaleway
Le binaire du provider scaleway utilise le mécanisme standard d’authentification du
SDK Scaleway. Créez une clé API dans la console Scaleway, puis exposez sa clé d’accès
et sa clé secrète dans votre shell :
export SCW_ACCESS_KEY=<access-key>
export SCW_SECRET_KEY=<secret-key>Le plus simple est de conserver ces variables dans un fichier hors de tout dépôt
versionné, par exemple ~/.config/scw/xbee.env, puis de le charger avant d’utiliser
xbee :
source ~/.config/scw/xbee.envLe projet cible reste déclaré explicitement dans la configuration xbee. Vous pouvez retrouver son identifiant dans la console Scaleway.
Créer l’environnement
mkdir vm-scaleway
cd vm-scaleway
xbee new env -p scaleway -s ubuntu:24.04Le xbee-env.yaml généré
Le squelette obtenu contient un hôte et reprend les valeurs Scaleway de la configuration globale :
schema-version: "1.0"
provider:
name: scaleway
projectId: <project-id>
zone: fr-par-1
default:
host:
system: ubuntu:24.04
net: xbee-net
provider:
commercialType: DEV1-M
volumeType: sbs_volume
size: 20
host: aSi projectId n’est pas encore renseigné dans ~/xbee.yaml, remplacez
<project-id> par l’identifiant du projet cible. Vous pouvez aussi enregistrer cette
valeur pour les prochains environnements :
xbee config set -p scaleway projectId <project-id>projectIddésigne le projet Scaleway dans lequel les ressources seront créées ;zonechoisit leur zone de disponibilité.commercialTypeest le type d’instance ;volumeTypele type du volume racine ;sizesa taille en Go.host: adéclare un unique hôte sanspack: rien d’autre que le systèmeubuntu:24.04n’y est installé.
Les valeurs ci-dessus correspondent aux valeurs intégrées actuelles de xbee. Adaptez notamment la zone et le type d’instance aux ressources disponibles dans votre projet.
Laisser XBee préparer l’image
xbee packxbee démarre une instance Scaleway temporaire, y installe le système requis, crée une
image à partir de son volume racine, puis détruit cette instance de construction.
L’image produite est ensuite réutilisée par les futurs xbee up, tant que la
définition du système ne change pas.
xbee up refuse de démarrer l’environnement tant que cette image n’a pas été
construite.
Démarrer la VM
xbee upCette commande démarre l’instance à partir de l’image construite à l’étape précédente,
attend qu’elle soit joignable en SSH, puis exécute les directives up et configure
de l’environnement — aucune ici.
Piloter la VM
xbee enter aouvre un shell SSH dans l’instance — a est la clé de l’hôte déclarée dans
xbee-env.yaml. Avec un seul hôte, son nom peut être omis :
xbee enterDepuis ce shell, l’instance se pilote comme toute machine Ubuntu :
lsb_release -aArrêter puis détruire la VM
xbee downéteint l’instance sans la supprimer. Un nouvel xbee up peut ensuite la redémarrer.
Pour supprimer réellement l’instance — mais pas l’image réutilisable par un prochain
environnement :
xbee deleteLa commande demande confirmation ; --force ou -f permet de la passer.
Pour aller plus loin
- Ajouter un pack applicatif à l’hôte (
host.a.pack), comme dans Utiliser le pack dans un environnement. - Modifier les valeurs Scaleway enregistrées avec Configuration globale.
- Déclarer un volume de données — voir Environnements.
- Consulter toutes les propriétés d’un environnement dans xbee-env.yaml.