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 [2024/01/21 23:56] – [System Einrichtung] techguruwiki:ansible [2025/09/27 15:37] (aktuell) – [System Einrichtung] pulsar
Zeile 1: Zeile 1:
- 
 ====== Ansible ====== ====== Ansible ======
  
-  apt list "*ansible*" 
- 
-<code> 
-ansible-doc/stable 2.7.7+dfsg-1 all 
-ansible-lint/stable 4.1.0+dfsg.1-1 all 
-ansible-tower-cli-doc/stable 3.3.0-1 all 
-ansible-tower-cli/stable 3.3.0-1 all 
-ansible/stable,now 2.7.7+dfsg-1 all  [installiert] 
-</code> 
  
 ===== 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
Zeile 34: Zeile 24:
   ansible-playbook --limit iglu Start_playbook.yml -k   ansible-playbook --limit iglu Start_playbook.yml -k
  
-=== Ansible Ersteinrichtung auf localhost === +=== Ansible Ersteinrichtung === 
-Die Angabe des Hostnamen einfach weglassen wenn es auf localhost ausgeführt wirdDamit einfacher und universeller einsetzbar mit dem folgenden Kommando:+Die Angabe des Hostnamen kann weglassen werden wenn im playbook der hostname, z.B. localhost schon bei hosts: drin stehtDa das Playbook aber nicht nur auf dem Ansible Kommando Rechner ausgeführt werden soll sondern für jeden Host eingesetzt wird, steht bei hostsall. Hier kann man beim Ausführen des Playbooks mit --limit dann angeben auf welchen Host es aktuell ausgeführt werden soll.
  
-  ansible-playbook Start_playbook.yml -k+  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 73: Zeile 63:
  
 Neu: 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 wirdwenn man sich im selben Pfad befindet:+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   ansible-playbook hauptkonfig.yml
  
 +Hier muss auch keine Inventory Datei mit angegeben werden, da diese in der ''ansible.cfg'' so konfiguriert ist, das direkt die hosts-Datei im selben Verzeichnis verwendet wird.
 +===== Ansible Einzeiler =====
  
-Alt: +Ohne gleich ein Playbook oder eine komplette Role zu erstellen, kann man ansible direkt ausführen und 
-Ausserdem ist die ''ansible.cfg'' und das Inventory(hosts) nach ''/etc/ansible/'' zu **kopieren**.  +die entsprechenden Parameter übergeben.
-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.+
  
  
  
-===== Ansible Einzeiler =====+==== Updates für Suse ====
  
-Ohne gleich ein Playbook oder eine komplette Role zu erstellen, kann man ansible direkt ausführen und +  ansible localhost -m zypper -a "update_cache=yes state=latest name='*'" --become -K
-die entsprechenden Parameter übergeben.+
  
  
-==== Updates für alle Systeme ====+==== 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 97: Zeile 87:
  
   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"
-   
-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" 
- 
- 
      
 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 108: Zeile 92:
   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 120: Zeile 107:
      
      
-==== Poweroff ====+==== Ohne Inventory und zusätzliche Dateien ==== 
 + 
 +Beachte das Komma nach dem Hostnamen. Es ist wichtig, da es Ansible signalisiert, dass dies eine Liste von Hosts ist, auch wenn es nur einer ist. Mit dem Schalter ''-e'' werden extra Variablen mit übergeben. 
 + 
 +  ansible-playbook -i 'servername.example.com,' -e "ansible_user=admin ansible_password=secretpass" playbook.yml 
 +==== 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.1705877764.txt.gz · Zuletzt geändert: 2024/01/21 23:56 von techguru