... | ... | @@ -593,13 +593,73 @@ Personnalisation des machines virtuelles |
|
|
|
|
|
Vous pouvez personnaliser vos machines virtuelles lors de leur démarrage
|
|
|
initial grâce au paramètre `--user-data` de `openstack server create`.
|
|
|
Ce paramètre doit référencer un fichier contenant des instructions pour
|
|
|
le logiciel `cloud-init` qui est présent dans la machine virtuelle.
|
|
|
|
|
|
Ainsi, pour exécuter *script.sh* (dans l'exemple) lors du démarrage de votre machine virtuelle,
|
|
|
il suffit de taper :
|
|
|
L'exemple suivant met à jour le système et installe des paquets
|
|
|
supplémentaires utiles pour chiffrer un volume, en utilisant un script
|
|
|
`cloud-config`
|
|
|
|
|
|
Créez un fichier `cloud_init_cfg.txt` contenant :
|
|
|
|
|
|
``` {.sourceCode .yaml}
|
|
|
#cloud-config
|
|
|
|
|
|
# Upgrade the instance OS packages on first boot
|
|
|
package_upgrade: true
|
|
|
|
|
|
# Add packages for entropy gathering and encrypted volume management
|
|
|
packages:
|
|
|
- haveged
|
|
|
- cryptsetup
|
|
|
```
|
|
|
|
|
|
> **note**
|
|
|
>
|
|
|
> le premier caractère '\#' doit figurer tel-quel dans le fichier, il
|
|
|
> indique au logiciel `cloud-init` le format du contenu du fichier
|
|
|
> `cloud_init_cfg.txt`.
|
|
|
|
|
|
Et utilisez-le lors du démarrage de votre machine virtuelle :
|
|
|
|
|
|
``` {.sourceCode .console}
|
|
|
$ openstack server create [...] --user-data ./script.sh MY_VM_NAME
|
|
|
$ openstack server create [...] --user-data cloud_init_cfg.txt MY_VM_NAME
|
|
|
```
|
|
|
D'autres exemples de scripts `cloud-config` sont disponibles à la [fin de cette
|
|
|
documentation](#Exemple de scripts)
|
|
|
|
|
|
> **ATTENTION**
|
|
|
>
|
|
|
> L'exécution du logiciel `cloud-init` n'est pas instantanée.
|
|
|
> Si vous demandez une mise à jour complète du système d'exploitation,
|
|
|
> cela peut prendre plusieurs minutes avant d'être effectué, alors que
|
|
|
> vous pouvez déjà vous connecter à la VM grâce à `ssh`. Pour vérifier
|
|
|
> que tout s'est bien passé, vous pouvez vérifier le contenu des
|
|
|
> fichiers : `/var/log/cloud-init.log` et
|
|
|
> `/var/log/cloud-init-output.log` sur la machine virtuelle.
|
|
|
>
|
|
|
> Le logiciel `cloud-init` est très sensible au format du fichier
|
|
|
> `cloud_init_cfg.txt`, les espaces, tabulations et autres éléments de
|
|
|
> formattage sont importants. En plus de vous référer à la documentation
|
|
|
> citée ci-dessous, vous pouvez vous aider du logiciel `yamllint` pour
|
|
|
> vérifier le format. Toutefois celui-ci est plus pointilleux que
|
|
|
> `cloud-init`, donc n'utilisez ses remarques que de manière
|
|
|
> informative. Construisez votre script de contextualisation petit à
|
|
|
> petit en vérifiant à chaque étape que ce que vous avez ajouté
|
|
|
> fonctionne correctement.
|
|
|
|
|
|
Référez-vous à la [documentation de
|
|
|
cloud-init](http://cloudinit.readthedocs.org/en/latest/topics/examples.html)
|
|
|
pour de plus amples informations sur les possibilités de configuration.
|
|
|
|
|
|
> **note**
|
|
|
>
|
|
|
> `cloud-init` supporte diffèrents formats. Il est aussi possible d'exécuter
|
|
|
> des scripts shell au démarrage d'une VM.
|
|
|
>
|
|
|
> ``` {.sourceCode .console}
|
|
|
> $ openstack server create [...] --user-data ./script.sh MY_VM_NAME
|
|
|
> ```
|
|
|
|
|
|
|
|
|
Gestion du stockage
|
... | ... | |