ansible
Come creare un DreamHost Cloud Server da un ansible Playbook
Ricerca…
Installa libreria Shade
Shade è una libreria sviluppata da OpenStack per semplificare le interazioni con i cloud OpenStack, come DreamHost.
$ pip installare ombra
Scrivi un Playbook per avviare un server
Crea un file chiamato launch-server.yaml
, che sarà il nostro playbook.
La prima parte del playbook è una lista di host su cui verrà eseguito il tuo playbook, ne abbiamo solo uno, localhost.
- hosts: localhost
Quindi dobbiamo definire un elenco di attività da eseguire in questo libro di esercizi. Ne avremo solo uno che lancia un server Xenial di Ubuntu su DreamCompute.
tasks:
- name: launch an Ubuntu server
La prossima parte del playbook utilizza il os_server
(OpenStack Server). Questo definisce come deve apparire il server in DreamCompute.
os_server:
Il primo passo è quello di autenticarsi su DreamCompute; sostituisci {username}
con il tuo nome utente DreamCompute, {password}
con la tua password DreamCompute e {project}
con il tuo progetto DreamCompute. Li troverai nel file OpenStack RC .
auth:
auth_url: https://iad2.dream.io:5000
username: {username}
password: {password}
project_name: {project}
Le linee successive definiscono alcuni elementi del nuovo server.
state: present
name: ansible-vm1
image: Ubuntu-16.04
key_name: {keyname}
flavor: 50
network: public
wait: yes
Consente di suddividere le righe precedenti:
-
state
è lo stato del server, i valori possibili sonopresent
oabsent
-
name
è il nome del server da creare; può essere qualsiasi valore -
image
è l'immagine da cui avviare il server; i possibili valori sono visibili sul pannello Web di DreamHost Cloud ; la variabile accetta il nome dell'immagine o UUID -
key_name
è il nome della chiave pubblica da aggiungere al server una volta creato; questo può essere qualsiasi tasto è già stato aggiunto a DreamCompute. -
flavor
è il sapore del server da avviare; questo definisce quanta RAM e CPU avrà il tuo server; la variabile accetta sia il nome di un sapore (gp1.semisonic) o l'ID (50, 100, 200, ecc.) -
network
è la rete su cui mettere il tuo server. Nel caso DreamHost Cloud è la retepublic
. -
wait
set to yes forza il playbook ad aspettare che il server venga creato prima di continuare.
Esecuzione del Playbook
Esegui il playbook di Ansible:
$ ansible-playbook launch-server.yaml
Dovresti vedere l'output come
PLAY [localhost]
***************************************************************
TASK [setup]
*******************************************************************
ok: [localhost]
TASK [launch an Ubuntu server]
***********************************************
changed: [localhost]
PLAY RECAP
*********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0
Ora se controlli il dashboard di DreamHost Cloud dovresti vedere una nuova istanza chiamata "ansible-vm1"