ansible
Hur man skapar en DreamHost Cloud Server från en ansvarsfull Playbook
Sök…
Installera Shade-biblioteket
Shade är ett bibliotek utvecklat av OpenStack för att förenkla interaktioner med OpenStack moln, som DreamHost.
$ pip installera skugga
Skriv en spellista för att starta en server
Skapa en fil med namnet launch-server.yaml
, det kommer att vara vår spellista.
Den första delen av spelboken är en lista över värdar som din spellista kommer att köras på, vi har bara en, localhost.
- hosts: localhost
Då måste vi definiera en lista med uppgifter som ska utföras i denna spellista. Vi kommer bara att ha en som startar en Ubuntu Xenial-server på DreamCompute.
tasks:
- name: launch an Ubuntu server
Nästa del av spelboken använder os_server
(OpenStack Server) -modulen. Detta definierar hur servern ska se ut i DreamCompute.
os_server:
Det första steget är att autentisera till DreamCompute; ersätt {username}
med ditt DreamCompute-användarnamn, {password}
med ditt DreamCompute-lösenord och {project}
med ditt DreamCompute-projekt. Du hittar dem i OpenStack RC- filen.
auth:
auth_url: https://iad2.dream.io:5000
username: {username}
password: {password}
project_name: {project}
Nästa rader definierar vissa delar av den nya servern.
state: present
name: ansible-vm1
image: Ubuntu-16.04
key_name: {keyname}
flavor: 50
network: public
wait: yes
Låter bryta ner de föregående raderna:
-
state
är serverns tillstånd, möjliga värden ärpresent
ellerabsent
-
name
är namnet på servern att skapa; kan vara vilket värde som helst -
image
är den bild som servern ska startas från; möjliga värden syns på DreamHost Cloud webbpanel ; variabeln accepterar antingen bildnamn eller UUID -
key_name
är namnet på den offentliga nyckeln som ska läggas till servern när den har skapats; detta kan vara vilken nyckel som redan har lagts till i DreamCompute. -
flavor
är smaken från server att starta; detta definierar hur mycket RAM och CPU din server kommer att ha; variabeln accepterar antingen namnet på en smak (gp1.semisonic) eller ID (50, 100, 200, etc) -
network
är nätverket att sätta din server på. I DreamHost Cloud-fallet är det detpublic
nätverket. -
wait
inställt på ja tvingar spelboken att vänta på att servern ska skapas innan du fortsätter.
Kör Playbook
Kör Ansible-spelboken:
$ ansible-playbook launch-server.yaml
Du bör se output som
PLAY [localhost]
***************************************************************
TASK [setup]
*******************************************************************
ok: [localhost]
TASK [launch an Ubuntu server]
***********************************************
changed: [localhost]
PLAY RECAP
*********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0
Om du nu kontrollerar DreamHost Cloud-instrumentpanelen bör du se en ny instans med namnet “ansible-vm1”