Anwendungen mit Ansible installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Übersicht ==
== Übersicht ==
Siehe die [https://wiki.hostsharing.net/index.php?title=Kategorie:Ansible_Playbook Kategorie:Ansible_Playbook] für eine Liste von Anwendungen, für die wir bereits ein Ansible Skript haben.
Siehe die [https://wiki.hostsharing.net/index.php?title=Kategorie:Ansible_Playbook Kategorie:Ansible_Playbook] für eine Liste von Anwendungen, für die wir bereits ein Ansible Skript haben.
In der README des Playbook Repositories wird beschrieben, wie man das Playbook bei Hostsharing benutzt.


== Vorbereitungen ==
== Vorbereitungen ==


=== Vorbereitung im Paket Admin ===
=== Vorbereitung im Paket Admin ===
Wichtig ist, dass man den xyz00 Benutzer entsprechend vorbereitet: Es muss eine Datei mit dem Namen ".hsadmin.properties" im HOME Verzeichnes des Paket Admins xyz00 angelegt werden. Man muss den Paketnamen und das Passwort des Paket Admins in dieser Datei hinterlegen.
Wichtig ist, dass man den <code>xyz00</code> Benutzer entsprechend vorbereitet: Es muss eine Datei mit dem Namen <code>.hsadmin.properties</code> im HOME Verzeichnes des Paket Admins <code>xyz00</code> angelegt werden. Man muss den Paketnamen und das Passwort des Paket Admins in dieser Datei hinterlegen.


Beispiel:
Beispiel:
Zeile 22: Zeile 20:
z.B. auf Debian:
z.B. auf Debian:


  apt-get install ansible
  hans@localhost:~$ apt-get install ansible
 
=== Aktuelles Ansible bei Hostsharing installieren ===
Das aktuelle Ansible kann auch direkt bei Hostsharing installiert werden. Dazu sollte ein Python ab 3.9 installiert werden, siehe [[Eigenes Python installieren]].
 
Dann kann mit pipenv das aktuelle Ansible installiert werden:
 
pipenv install ansible
 
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 ===
=== ssh config anpassen ===
Zeile 37: Zeile 51:


== Ein Playbook ausführen ==
== 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 <code>git clone</code>, siehe README.
Man muss dann das Repo des Ansible Playbooks auf dem eigenen lokalen Rechner clonen, mit <code>git clone</code>, siehe README.



Version vom 24. Oktober 2022, 16:19 Uhr

Übersicht

Siehe die Kategorie:Ansible_Playbook für eine Liste von Anwendungen, für die wir bereits ein Ansible Skript haben.

Vorbereitungen

Vorbereitung im Paket Admin

Wichtig ist, dass man den xyz00 Benutzer entsprechend vorbereitet: Es muss eine Datei mit dem Namen .hsadmin.properties im HOME Verzeichnes des Paket Admins xyz00 angelegt werden. Man muss den Paketnamen und das Passwort des Paket Admins in dieser Datei hinterlegen.

Beispiel:

xyz00@h99:~$ cat .hsadmin.properties 
xyz00.passWord=insertpkgadminpasswordhere

Diese Datei sollte geschützt werden, weil sie sonst von allen gelesen werden könnte:

xyz00@h99:~$ chmod 600 .hsadmin.properties

Ansible lokal installieren

z.B. auf Debian:

hans@localhost:~$ apt-get install ansible

Aktuelles Ansible bei Hostsharing installieren

Das aktuelle Ansible kann auch direkt bei Hostsharing installiert werden. Dazu sollte ein Python ab 3.9 installiert werden, siehe Eigenes Python installieren.

Dann kann mit pipenv das aktuelle Ansible installiert werden:

pipenv install ansible

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

Für jeden Schritt wird 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"