Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:ansible

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
wiki:ansible [2023/04/19 10:45] – [Updates für alle Systeme] techguruwiki:ansible [2024/04/07 12:38] (aktuell) – [Poweroff] pulsar
Zeile 1: Zeile 1:
- 
 ====== Ansible ====== ====== Ansible ======
  
Zeile 14: Zeile 13:
 ===== System Einrichtung ===== ===== System Einrichtung =====
  
-Zunächst ist das Paket ''ansible'' sowie ''sshpass'' zu installieren. Da Ansible default SSH keys verwendet, aber bei der Ersteinrichtung zunächst den Nutzer pi verwendet und hier SSH Passwort Authentifizierung genutzt wird.+Auf dem Ansible Kommando Rechner ist das Paket ''ansible'' sowie ''sshpass'' zu installieren. Da Ansible default SSH keys verwendet, aber bei der Ersteinrichtung zunächst den Nutzer pi verwendet und hier SSH Passwort Authentifizierung genutzt wird.
  
   apt install ansible sshpass   apt install ansible sshpass
  
-Zuvor wurde ein Passwort Hash z.B. mit Python zu erzeugen. Wie das funktioniert ist auf der [[:systemadmin|systemadmin]] Seite beschrieben. Dieser Hash enthält das verschleierte Passwort +Zuvor wurde ein Passwort Hash z.B. mit Python erzeugt. Wie das funktioniertist auf der [[:systemadmin|systemadmin]] Seite beschrieben. Dieser Hash enthält das verschleierte Passwort 
 für den neuen zu erstellenden backup Benutzer. :!: Dieser Hash ist im Start-playbook enthalten, daher muss dieser Schritt i.d.R. nicht mehr ausgeführt werden. :!: für den neuen zu erstellenden backup Benutzer. :!: Dieser Hash ist im Start-playbook enthalten, daher muss dieser Schritt i.d.R. nicht mehr ausgeführt werden. :!:
  
Zeile 25: Zeile 24:
 Konfigurations Ordner aus Sicherung in das neue Ansible Master System rüber kopieren. Im Start-playbook sollten alle Pfade und Dateien(z.B. ssh-key) zum Konfigurations-Ordner verweisen.  Konfigurations Ordner aus Sicherung in das neue Ansible Master System rüber kopieren. Im Start-playbook sollten alle Pfade und Dateien(z.B. ssh-key) zum Konfigurations-Ordner verweisen. 
  
-Nun kann man das Start-playbook auf dem Ansible Master System ausführen:+=== Ansible Ersteinrichtung für ein entferntes System === 
 +Folgenden Kommando nur wenn Ansible Ersteinrichtung für ein entferntes System durchgeführt werden soll. Start-playbook auf dem Ansible Master System ausführen für das iglu Remote-System:
  
   ansible-playbook -k -i /home/pi/xy/Konfiguration/ --limit iglu Start-playbook.yml   ansible-playbook -k -i /home/pi/xy/Konfiguration/ --limit iglu Start-playbook.yml
Zeile 32: Zeile 32:
  
   ansible-playbook --limit iglu Start_playbook.yml -k   ansible-playbook --limit iglu Start_playbook.yml -k
-   
-am besten den Hostnamen noch offen lassen, damit einfacher und universeller einsetzbar 
  
-  ansible-playbook Start_playbook.yml -k+=== Ansible Ersteinrichtung === 
 +Die Angabe des Hostnamen kann weglassen werden wenn im playbook der hostname, z.B. localhost schon bei hosts: drin steht. Da das Playbook aber nicht nur auf dem Ansible Kommando Rechner ausgeführt werden soll sondern für jeden Host eingesetzt wird, steht bei hosts: all. Hier kann man beim Ausführen des Playbooks mit --limit dann angeben auf welchen Host es aktuell ausgeführt werden soll. 
 + 
 +  ansible-playbook -k --limit iglu start_sshlogin.yml
  
 <code php> <code php>
  ---  ---
- - hosts: localhost+ - hosts: all
    vars:    vars:
      devops_password: '$6$OfKLYEUGj4tcy$6KJS3UQARnmXqasJaIvWsS1pwUbrpQBvxbxJ55PryPPI604TgsS31lnhKo8'      devops_password: '$6$OfKLYEUGj4tcy$6KJS3UQARnmXqasJaIvWsS1pwUbrpQBvxbxJ55PryPPI604TgsS31lnhKo8'
Zeile 69: Zeile 70:
  
 Nach der Ausführung des ''Start_playbook.yml'' ist der neue Backup Nutzer angelegt. Als diesen kann man sich nun anmelden und der ''/home/pi/xy/Konfiguration/'' sollte zum neuen Ansible Kontroll-Nutzer **verschoben** werden. Nach der Ausführung des ''Start_playbook.yml'' ist der neue Backup Nutzer angelegt. Als diesen kann man sich nun anmelden und der ''/home/pi/xy/Konfiguration/'' sollte zum neuen Ansible Kontroll-Nutzer **verschoben** werden.
 +
 +Neu:
 +In das Verzeichnis ''/home/tux/Dokumente/Konfiguration/Ansible/'' wechseln. Hier das ''ansible-playbook'' Kommando für das gewünschte Playbook ausführen. Da hier die ansible.cfg liegt und diese automatisch genutzt wird, wenn man sich im selben Pfad befindet:
 +
 +  ansible-playbook hauptkonfig.yml
 +
 +
 +Alt:
 Ausserdem ist die ''ansible.cfg'' und das Inventory(hosts) nach ''/etc/ansible/'' zu **kopieren**.  Ausserdem ist die ''ansible.cfg'' und das Inventory(hosts) nach ''/etc/ansible/'' zu **kopieren**. 
 Es ist darauf zu achten, dass die Berechtigungen für ''/etc/ansible/'' nur für den neuen Ansible Kontroll-Nutzer lesend und maximal schreibend sind. Es ist darauf zu achten, dass die Berechtigungen für ''/etc/ansible/'' nur für den neuen Ansible Kontroll-Nutzer lesend und maximal schreibend sind.
Zeile 80: Zeile 89:
  
  
-==== Updates für alle Systeme ====+ 
 +==== Updates für Suse ==== 
 + 
 +  ansible localhost -m zypper -a "update_cache=yes state=latest name='*'" --become -K 
 + 
 + 
 +==== Updates für alle Debian Systeme ====
  
 Alle Rechner im Netzwerk gleichzeitig mit Updates versorgen. Dafür braucht man kein extra Playbook schreiben, hier reicht auch ein Ad-Hoc Kommando. Alle Rechner im Netzwerk gleichzeitig mit Updates versorgen. Dafür braucht man kein extra Playbook schreiben, hier reicht auch ein Ad-Hoc Kommando.
Zeile 87: Zeile 102:
  
   ansible all -m shell -a "sudo apt update && sudo apt autoremove && sudo apt upgrade -y"   ansible all -m shell -a "sudo apt update && sudo apt autoremove && sudo apt upgrade -y"
-   
-  ansible all -i inventories/produktion/ -m shell -a "lsblk --output HCTL,PATH,MOUNTPOINT,PARTLABEL|grep -iC2 oraexp" 
- 
- 
      
 Im nächsten Aufruf wird das Ansible ''apt'' Modul verwendet, dies ist der von Ansible empfohlene Weg: Im nächsten Aufruf wird das Ansible ''apt'' Modul verwendet, dies ist der von Ansible empfohlene Weg:
Zeile 96: Zeile 107:
   ansible all -m apt -a "update_cache=yes upgrade=yes autoremove=yes cache_valid_time=86400" --become   ansible all -m apt -a "update_cache=yes upgrade=yes autoremove=yes cache_valid_time=86400" --become
      
 +Anzeigen der SCSI Harddisk ID und der dazugehörigen Mountpunkte, dann ein grep (Filtern) nach einem bestimmten Mountpunkt.
 +
 +  ansible all -i inventories/produktion/ -m shell -a "lsblk --output HCTL,PATH,MOUNTPOINT,PARTLABEL|grep -iC2 oraexp"
      
 ==== Nur auf einer Gruppe ==== ==== Nur auf einer Gruppe ====
Zeile 108: Zeile 122:
      
      
-==== Poweroff ====+==== Reboot und Poweroff ==== 
 + 
 +Nur den Rechner iglu neu-starten: 
 + 
 +  ansible iglu -a "/sbin/reboot" --become 
 +  
 Alle Maschinen ausschalten. Achtung! Auch den Host von wo aus der Kommando ausgeführt wird, wenn in all enthalten: Alle Maschinen ausschalten. Achtung! Auch den Host von wo aus der Kommando ausgeführt wird, wenn in all enthalten:
  
   ansible all -a "/sbin/poweroff" --become   ansible all -a "/sbin/poweroff" --become
-  +
    
  
wiki/ansible.1681893928.txt.gz · Zuletzt geändert: 2023/04/19 10:45 von techguru