Anwendungen mit Ansible installieren
Übersicht
Siehe die Kategorie:Ansible_Playbook für eine Liste von Anwendungen, für die wir bereits ein Ansible Skript haben.
Vorbereitungen
Vorbereitung des Zugriffs für den Paket Admin
Wichtig ist, dass man den xyz00
Benutzer entsprechend vorbereitet: Es muss eine Datei mit dem Namen und Paf inventories/group_vars/xyz00.yml
angelegt werden. Man muss den Paketnamen und das Passwort des Paket Admins in dieser Datei hinterlegen.
Die Datei sieht so aus:
--- pac: xyz00 pac_pass: topsecret
Diese Datei kann auch als Vault erstellt werden:
ansible-vault create inventories/group_vars/all/vault
mit diesem Inhalt:
--- vault_hsadmin_user: xy vault_hsadmin_pass: "topsecret" ansible_become_password: "topsecret"
Dann muss bei Aufrufen von ansible-playbook
immer der Parameter --ask-vault-pass
hinzugefügt werden.
Mit diesen Befehlen kann das Vault bearbeitet und betrachtet werden:
ansible-vault edit inventories/group_vars/all/vault ansible-vault view inventories/group_vars/all/vault
Aktuelles Ansible installieren
Das aktuelle Ansible kann mit pipenv entweder lokal oder direkt in einem Hostsharing Benutzer installiert werden:
pipenv install ansible hs.admin.api
Um z.B. ein playbook auszuführen, muss dann folgendes ausgeführt werden:
pipenv shell ansible-playbook ...
bzw.
pipenv run ansible-playbook ...
ssh config anpassen
Beim Aufruf von Ansible auf dem lokalen Gerät wird für jeden Schritt per Voreinstellung eine eigene SSH Verbindung aufgebaut. Damit der Server nicht denkt, er wird angegriffen, müssen in der eigenen SSH Client Konfiguration auf dem lokalen Rechner die folgenden Einstellungen vorgenommen werden.
In der Datei $HOME/.ssh/config
:
Host *.hostsharing.net ControlPath ~/.ssh/cm-%r@%h:%p ControlMaster auto ControlPersist 10m
Ein Playbook ausführen
In der README des Playbook Repositories wird beschrieben, wie man das Playbook bei Hostsharing benutzt.
Man muss dann das Repo des Ansible Playbooks auf dem eigenen lokalen Rechner clonen, mit git clone
, siehe README.
hans@localhost:~$ git clone https://github.com/<URL REPO>/Hostsharing-Ansible-<IRGENDWAS>.git
Dann am besten die Datei inventory-sample.yml
zu inventory.yml
kopieren, und die eigenen Daten entsprechend dort eintragen.
Wir gehen davon aus, dass wir den Zugang zu xyz00.hostsharing.net
als Benutzer xyz00
über SSH Key eingerichtet haben.
Dann das Playbook aufrufen, auf dem lokalen Rechner (dort muss Ansible installiert sein):
hans@localhost:~$ cd Hostsharing-Ansible-<IRGENDWAS> hans@localhost:~$ ansible-playbook -i inventory.yml playbook-install.yml
Zum Debuggen will man nicht nochmal alle Aufgaben durchführen, die bereits erledigt sind. Dann gibt es den Parameter start-at-task
, wo man den Namen der Task angibt, bei der gestartet werden soll:
hans@localhost:~$ ansible-playbook -i inventory.yml playbook-install.yml \ -start-at-task="install the certificates"