ansible
So erstellen Sie einen DreamHost Cloud Server aus einem Ansible Playbook
Suche…
Installieren Sie die Shade-Bibliothek
Shade ist eine von OpenStack entwickelte Bibliothek, die die Interaktion mit OpenStack-Clouds wie DreamHost vereinfacht.
$ pip Schatten installieren
Schreibe ein Playbook, um einen Server zu starten
Erstellen Sie eine Datei namens launch-server.yaml
, die unser Playbook sein wird.
Der erste Teil des Playbooks enthält eine Liste von Hosts, auf denen Ihr Playbook ausgeführt wird. Wir haben nur einen lokalen Host.
- hosts: localhost
Dann müssen wir eine Liste von Aufgaben definieren, die in diesem Spielbuch ausgeführt werden sollen. Es wird nur einen Server geben, der einen Ubuntu Xenial-Server auf DreamCompute startet.
tasks:
- name: launch an Ubuntu server
Der nächste Teil des Playbooks verwendet das Modul os_server
(OpenStack Server). Dies definiert, wie der Server in DreamCompute aussehen muss.
os_server:
Der erste Schritt ist die Authentifizierung bei DreamCompute. Ersetzen Sie {username}
durch Ihren DreamCompute-Benutzernamen, {password}
durch Ihr DreamCompute-Kennwort und {project}
durch Ihr DreamCompute-Projekt. Sie finden diese in der OpenStack RC- Datei.
auth:
auth_url: https://iad2.dream.io:5000
username: {username}
password: {password}
project_name: {project}
Nächste Zeilen definieren einige Elemente des neuen Servers.
state: present
name: ansible-vm1
image: Ubuntu-16.04
key_name: {keyname}
flavor: 50
network: public
wait: yes
Lasst uns die letzten paar Zeilen aufbrechen:
-
state
ist der Status des Servers. Mögliche Werte sindpresent
oder nichtabsent
-
name
ist der Name des Servers, der erstellt werden soll. kann einen beliebigen Wert haben -
image
ist das Image, von dem der Server gestartet werden soll. Mögliche Werte sind im DreamHost Cloud-Webpanel sichtbar. Die Variable akzeptiert entweder den Bildnamen oder die UUID -
key_name
ist der Name des öffentlichen Schlüssels, der dem Server nach seinerkey_name
soll. Dies kann ein beliebiger Schlüssel sein, der bereits DreamCompute hinzugefügt wurde. -
flavor
ist die Flavour des Servers, der gestartet werden soll. Dies definiert, wie viel RAM und CPU Ihr Server haben wird. Die Variable akzeptiert entweder den Namen eines Flavours (gp1.semisonic) oder die ID (50, 100, 200 usw.). -
network
ist das Netzwerk, in dem der Server installiert werden kann. Im Fall der DreamHost Cloud ist dies daspublic
Netzwerk. -
wait
aufwait
eingestellt ist, muss das Playbook warten, bis der Server erstellt wurde, bevor es fortfährt.
Das Playbook ausführen
Führen Sie das Ansible-Playbook aus:
$ ansible-playbook launch-server.yaml
Sie sollten Ausgabe wie sehen
PLAY [localhost]
***************************************************************
TASK [setup]
*******************************************************************
ok: [localhost]
TASK [launch an Ubuntu server]
***********************************************
changed: [localhost]
PLAY RECAP
*********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0
Wenn Sie nun das DreamHost Cloud-Dashboard überprüfen, sollte eine neue Instanz mit dem Namen "ansible-vm1" angezeigt werden.