centos:ansible:playbooks1

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
centos:ansible:playbooks1 [20.06.2020 18:58. ] – angelegt djangocentos:ansible:playbooks1 [28.06.2020 14:10. ] – [07: Mit Hilfe von Ansible einen Offloader auf Basis eines Raspberry 4B bauen] django
Zeile 7: Zeile 7:
 In den beiden Kapiteln **[[centos:ansible:start#playbooks|Playbooks]]** und **[[centos:ansible:start#yaml_-_was_ist_das|YAML - was ist das?]]** hatten wir uns schon eingehend mit den Hintergrundinformationen zu diesen beiden Themenblöcken beschäftigt, so dass wir uns nun direkt mit unserem ersten Playbook beschäftigen können. In den beiden Kapiteln **[[centos:ansible:start#playbooks|Playbooks]]** und **[[centos:ansible:start#yaml_-_was_ist_das|YAML - was ist das?]]** hatten wir uns schon eingehend mit den Hintergrundinformationen zu diesen beiden Themenblöcken beschäftigt, so dass wir uns nun direkt mit unserem ersten Playbook beschäftigen können.
  
-==== Verzeichnis-Struktur ==== 
-Für die weitere programmatische Arbeit legen wir uns am besten im Home-Verzeichnis unseres Admins ein Verzeichnis **''ansible''** an. Somit haben wir es später einfacher einen Überblick über unsere Administrations- und Orchestrierungsaufgaben zu  behalten. 
-   # mkdir -p ~/ansible/files 
-   # mkdir -p ~/ansible/authkeys 
- 
-Somit haben wir folgende Struktur angelehgt: 
-<code>/home/django/ansible/ 
-├── authkeys 
-└── files</code> 
  
 ==== 01: Benutzer anlegen ==== ==== 01: Benutzer anlegen ====
Zeile 37: Zeile 28:
  
   tasks:   tasks:
-    - name: Make sure we have a group 'ruben' for our new admin-user 'ruben'+    - name: Make sure we have a group '{{ createuser }}' for our new admin-user '{{ createuser }}'
       group:       group:
         name: '{{ createuser }}'         name: '{{ createuser }}'
Zeile 43: Zeile 34:
         state: present         state: present
  
-    - name: Add the user 'ruben' with a specific uid and a primary group of 'ruben'+    - name: Add the user '{{ createuser }}' with a specific uid and a primary group of '{{ createuser }}'
       user:       user:
         name: '{{ createuser }}'         name: '{{ createuser }}'
Zeile 51: Zeile 42:
         state: present         state: present
  
-    - name: Initial password generation for user 'ruben+    - name: Initial password generation for user '{{ createuser }}
-      shell: usermod -p $(echo '{{ createpassword }}' | openssl passwd -1 -stdin) {{ createuser }}</file>+      shell: usermod -p $(echo '{{ createpassword }}' | openssl passwd -1 -stdin) {{ createuser }} 
 +...</file>
  
 === Script Beschreibung === === Script Beschreibung ===
Zeile 76: Zeile 68:
   * Zeile **26**: **''name''**: Beschreibender Text(//Initial password generation for user 'ruben'//), der später beim Aufruf von **''ansible-playbooks''** ausgegeben werden soll.   * Zeile **26**: **''name''**: Beschreibender Text(//Initial password generation for user 'ruben'//), der später beim Aufruf von **''ansible-playbooks''** ausgegeben werden soll.
   * Zeile **27**: **''shell:''** Ansible Module **[[https://docs.ansible.com/ansible/latest/modules/shell_module.html|shell]]** welches zum Ausführen von Shell-Befehlen auf dem Zielsystem verwendet werden kann. Hiermit setzen wir das Passwort unseres gerade angelegten Users 'ruben'.   * Zeile **27**: **''shell:''** Ansible Module **[[https://docs.ansible.com/ansible/latest/modules/shell_module.html|shell]]** welches zum Ausführen von Shell-Befehlen auf dem Zielsystem verwendet werden kann. Hiermit setzen wir das Passwort unseres gerade angelegten Users 'ruben'.
 +  * Zeile **28**: **''%%...%%''** Endekennzeichen der YML-Datei
 +
  
 === Script ausführen === === Script ausführen ===
 Nun wollen wir unser ersten Playbook ausführen, um auf dem Zielhost den gewünschten Benutzer anzulegen; hierzu rufen wir unser Script wie folgt auf: Nun wollen wir unser ersten Playbook ausführen, um auf dem Zielhost den gewünschten Benutzer anzulegen; hierzu rufen wir unser Script wie folgt auf:
-   $ ansible-playbook -v 01_create-user.yml+   $ ansible-playbook -v 01_create-user.yml --limit=demo 
 + 
 +<WRAP center round tip 80%> 
 +Da wir den User erst einmal nur auf dem Host **demo** anlegen wollen, \\ schränken wir beim Aufruf des Playbooks die Ausführung mit dem Parameter **''limit=''** entsprechend ein. 
 +</WRAP> 
  
 <html><pre class="code"> <html><pre class="code">
Zeile 164: Zeile 163:
         group: root         group: root
         mode: "0440"         mode: "0440"
-        validate: visudo -cf %s</file>+        validate: visudo -cf %s 
 +...</file>
  
 === Script Beschreibung === === Script Beschreibung ===
Zeile 175: Zeile 175:
   * Zeile **8**: **''name''**: Beschreibender Text (//All users from groub 'wheel' are allowed sudo users//), der später beim Aufruf von **''ansible-playbooks''** ausgegeben werden soll.   * Zeile **8**: **''name''**: Beschreibender Text (//All users from groub 'wheel' are allowed sudo users//), der später beim Aufruf von **''ansible-playbooks''** ausgegeben werden soll.
   * Zeile **9 - 15**: **''copy:''** Ansible Module **[[https://docs.ansible.com/ansible/latest/modules/copy_module.html|copy]]** welches zum Kopieren, verändern und auch Löschen von Dateien herangezogen werden kann.    * Zeile **9 - 15**: **''copy:''** Ansible Module **[[https://docs.ansible.com/ansible/latest/modules/copy_module.html|copy]]** welches zum Kopieren, verändern und auch Löschen von Dateien herangezogen werden kann. 
 +  * Zeile **16**: **''%%...%%''** Endekennzeichen der YML-Datei
 === Script ausführen === === Script ausführen ===
 Nun wollen wir unser ersten Playbook ausführen, um auf dem Zielhost eine Datei mit dem gewünschten Inhalt ablegen; hierzu rufen wir unser Script wie folgt auf: Nun wollen wir unser ersten Playbook ausführen, um auf dem Zielhost eine Datei mit dem gewünschten Inhalt ablegen; hierzu rufen wir unser Script wie folgt auf:
Zeile 249: Zeile 249:
  
     - include_tasks: 02_passwd_sudo_wheel.yml     - include_tasks: 02_passwd_sudo_wheel.yml
 +...
 </file> </file>
  
Zeile 360: Zeile 361:
         - ansible_facts['distribution'] == "CentOS"         - ansible_facts['distribution'] == "CentOS"
         - ansible_facts['distribution_major_version'] == "7"         - ansible_facts['distribution_major_version'] == "7"
 +...
 </file> </file>
  
Zeile 841: Zeile 842:
         state: started          state: started 
         enabled: yes         enabled: yes
 +...
 </file> </file>
  
Zeile 995: Zeile 996:
       #https://docs.ansible.com/ansible/latest/modules/raw_module.html       #https://docs.ansible.com/ansible/latest/modules/raw_module.html
       raw: uci set gluon-node-info.@owner[0].contact=' Django [BOfH] django@nausch.org | chat -> @django' ; uci commit       raw: uci set gluon-node-info.@owner[0].contact=' Django [BOfH] django@nausch.org | chat -> @django' ; uci commit
 +...
 </file> </file>
  
Zeile 1038: Zeile 1039:
  
 ==== 07: Mit Hilfe von Ansible einen Offloader auf Basis eines Raspberry 4B bauen ==== ==== 07: Mit Hilfe von Ansible einen Offloader auf Basis eines Raspberry 4B bauen ====
-In diesem Konfigurationsbeispiel wollen wir möglichst einfach und schnell einen Offloader für **[[https://ffmuc.net|Freifunk München]] auf Basis eines **[[https://www.raspberrypi.org/products/raspberry-pi-4-model-b/|Raspberry 4B]] befassen. Dabei gehen wir auf unterschiedliche Konfigurations-Optionen ein und wollen dennoch die Einstiegshürden für den ungeübteren Ansible und Linux-User möglichst tief ansetzen.+In diesem **[[centos:ansible:ffmuc-rpb4-ol|Konfigurationsbeispiel]]** wollen wir möglichst einfach und schnell einen Offloader für **[[https://ffmuc.net|Freifunk München]] auf Basis eines **[[https://www.raspberrypi.org/products/raspberry-pi-4-model-b/|Raspberry 4B]] befassen. Dabei gehen wir auf unterschiedliche Konfigurations-Optionen ein und wollen dennoch die Einstiegshürden für den ungeübteren Ansible und Linux-User möglichst tief ansetzen.  
 + 
 +Die detaillierte Beschreibung hierzu ist im Kapitel **[[centos:ansible:ffmuc-rpb4-ol|Bau eines Freifunk-Offloaders auf Basis eines Raspberry 4B]]** zu finden. 
 +====== Links ====== 
 +  * **[[centos:ansible:first|zurück zum Kapitel "Erste Schritte Rund um Ansible"]] <= ** 
 +  * **=> [[centos:ansible:detail|weiter zum Kapitel "Ansible - Erweiterte Konfigurationsbeispiele]]** 
 +  * ** [[centos:ansible:start|Zurück zur "Ansible"-Übersicht]]** 
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]** 
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]** 
  
-Das entsprechende **Howto** findet sich im Detail auf folgender Seite **[[centos:ansible:ffmuc-rpb4-ol|hier]]**.