ansible
Comment créer un serveur Cloud DreamHost à partir d'un Playbook Ansible
Recherche…
Installer la bibliothèque d'ombre
Shade est une bibliothèque développée par OpenStack pour simplifier les interactions avec les clouds OpenStack, comme DreamHost.
$ installer la teinte
Ecrire une Playbook pour lancer un serveur
Créez un fichier nommé launch-server.yaml
, qui sera notre playbook.
La première partie du playbook est une liste des hôtes sur lesquels votre playbook sera exécuté, nous n'en avons qu'une, localhost.
- hosts: localhost
Ensuite, nous devons définir une liste de tâches à effectuer dans ce playbook. Nous en aurons seulement un qui lancera un serveur Ubuntu Xenial sur DreamCompute.
tasks:
- name: launch an Ubuntu server
La partie suivante du playbook utilise le os_server
(OpenStack Server). Cela définit l'apparence du serveur dans DreamCompute.
os_server:
La première étape consiste à s'authentifier sur DreamCompute; remplacez {username}
par votre nom d'utilisateur DreamCompute, {password}
par votre mot de passe DreamCompute et par {project}
par votre projet DreamCompute. Vous les trouverez dans le fichier OpenStack RC .
auth:
auth_url: https://iad2.dream.io:5000
username: {username}
password: {password}
project_name: {project}
Les lignes suivantes définissent certains éléments du nouveau serveur.
state: present
name: ansible-vm1
image: Ubuntu-16.04
key_name: {keyname}
flavor: 50
network: public
wait: yes
Permet de décomposer les quelques lignes précédentes:
-
state
est l'état du serveur, les valeurs possibles sontpresent
ouabsent
-
name
est le nom du serveur à créer; peut être n'importe quelle valeur -
image
est l'image depuis laquelle démarrer le serveur; les valeurs possibles sont visibles sur le panneau Web de DreamHost Cloud ; la variable accepte soit le nom de l'image, soit l'UUID -
key_name
est le nom de la clé publique à ajouter au serveur une fois créé; Cela peut être n'importe quelle clé a déjà été ajoutée à DreamCompute. -
flavor
est la saveur du serveur à démarrer; Ceci définit la quantité de mémoire vive et de processeur que votre serveur aura; la variable accepte soit le nom d'une saveur (gp1.semisonic) ou l'ID (50, 100, 200, etc.) -
network
est le réseau sur lequel mettre votre serveur. Dans DreamHost Cloud, c'est le réseaupublic
. -
wait
set to yes force le bookbook à attendre la création du serveur avant de continuer.
Lancer le Playbook
Exécutez le playbook Ansible:
$ ansible-playbook launch-server.yaml
Vous devriez voir la sortie comme
PLAY [localhost]
***************************************************************
TASK [setup]
*******************************************************************
ok: [localhost]
TASK [launch an Ubuntu server]
***********************************************
changed: [localhost]
PLAY RECAP
*********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0
Maintenant, si vous vérifiez le tableau de bord de DreamHost Cloud, vous devriez voir une nouvelle instance nommée «ansible-vm1»