Comment utiliser les données utilisateur ou les métadonnées lors du déploiement d'une instance CloudStack by Ikoula ?
Introduction
Comment utiliser les données utilisateur ("userdata") ou les métadonnées ("metadata") lors du déploiement d'une instance CloudStack by Ikoula ?
Données utilisateur
Contexte : Je souhaite procéder à des opérations post-déploiement de mon instance ou stocker des données qui ne seront consultables que par celle-ci.
La fonctionnalité d'ajout de données utilisateur vous permet d'attacher entre 2Ko (HTTP GET) et 32Ko (HTTP POST) de données encodées en base64 à une instance lors de son déploiement en saisissant des données dans le champs prévu à cet effet lors de l'assistant de déploiement d'instance (via votre interface Cloud by Ikoula, Extranet ou encore via l'API lors de l'appel "deployVirtualMachine").
Ces données seront accessibles à votre instance une fois déployée via interrogation d'une URL spécifique sur la VM routeur (votre passerelle réseau), exemple : "curl http://10.1.1.1/latest/user-data"
Vous pouvez y placer des données destinées à être lues ou bien exécutées (par exemple : faire usage de puppet pour installer Drupal tel que nous le faisons dans notre script GitHub : https://github.com/ikoula/cloudstack/blob/master/drupal.php (l. 79)).
Note : Ce type de mécanisme se met en place au moment du déploiement des instances.
Meta-données
Contexte : Je souhaite récupérer des informations spécifiques à mon instance ou à son paramétrage une fois cette dernière déployée.
Les métadonnées de votre instance sont accessibles via une URL de type "http://10.1.1.1/latest/meta-data/{type de metadonnée}". où "10.1.1.1" est l'adresse de votre passerelle. Les types de métadonnées étant :
- service-offering : La description de l'offre de service utilisée lors du déploiement.
- availability-zone : Le nom de la zone de déploiement.
- local-ipv4 : L'adresse IPv4 privée de la VM.
- local-hostname : Le nom d'hôte de l'instance.
- public-ipv4 : La première IP publique de votre routeur virtuel.
- public-hostname : La première IP publique de votre routeur virtuel (identique public-ipv4).
- instance-id : Le nom d'affichage votre instance (peut différer du nom d'hôte)
Note : Ces données sont accessibles tout au long de la vie de votre instance.
Aller plus loin
Documentation complémentaire en anglais : http://docs.cloudstack.apache.org/projects/cloudstack-administration/en/latest/virtual_machines.html#user-data-and-meta-data