Änderungen

Zeile 18: Zeile 18:  
* Puppet-Milestones: https://git.nordwest.freifunk.net/groups/ffnw-puppet/milestones
 
* Puppet-Milestones: https://git.nordwest.freifunk.net/groups/ffnw-puppet/milestones
   −
Es ist absolut notwendig, dass du die [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet|README des Puppet-Base-Repos]] liest und verstehst, bevor du anfängst für Puppet zu entwickeln.
+
Es ist absolut notwendig, dass du die [https://git.nordwest.freifunk.net/ffnw-puppet/puppet README des Puppet-Base-Repos] liest und verstehst, bevor du anfängst für Puppet zu entwickeln.
    
== Puppet Master ==
 
== Puppet Master ==
Besuche für einen guten Einstieg die [[https://git.nordwest.freifunk.net/groups/ffnw-puppet|Puppet-Gruppe]] und schaue auf die [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet/blob/master/README.md|README]] des [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet/|Puppet Repos]].
+
Besuche für einen guten Einstieg die [https://git.nordwest.freifunk.net/groups/ffnw-puppet Puppet-Gruppe] und schaue auf die [https://git.nordwest.freifunk.net/ffnw-puppet/puppet/blob/master/README.md README] des [https://git.nordwest.freifunk.net/ffnw-puppet/puppet/ Puppet Repos].
    
=== Wichtige kommandos ===
 
=== Wichtige kommandos ===
Zeile 58: Zeile 58:     
=== Dateistruktur auf dem Puppetmaster ===
 
=== Dateistruktur auf dem Puppetmaster ===
Die Konfiguration des Puppetmaster für die verwalteten Nodes liegt in `/etc/puppetlabs/code`. Im Unterordner `environments` liegen der Entwicklungszweig `master` und der Produktivzweig `production`. Im ersteren wird entwickelt, zweiterer enthält die Konfigurationen die auf die Nodes geht, die im produktiven Einsatz sind.
+
Die Konfiguration des Puppetmaster für die verwalteten Nodes liegt in ''/etc/puppetlabs/code''. Im Unterordner ''environments'' liegen der Entwicklungszweig ''master'' und der Produktivzweig ''production''. Im ersteren wird entwickelt, zweiterer enthält die Konfigurationen die auf die Nodes geht, die im produktiven Einsatz sind.
    
Die Ordnerstruktur der Zweige ist in folgender Grafik dargestellt. Sie ist komplexer als zunächst geplant und sicherlich noch verbesserbar, bietet gegenüber den bis dahin probierten, gängigeren Strukturen die folgenden Vorteile:
 
Die Ordnerstruktur der Zweige ist in folgender Grafik dargestellt. Sie ist komplexer als zunächst geplant und sicherlich noch verbesserbar, bietet gegenüber den bis dahin probierten, gängigeren Strukturen die folgenden Vorteile:
   −
* Jeder verwaltete Node kann beliebig viele unterschiedliche rollen (zB supernode, webserver, ...) einnehmen, die in roles-available und unter `:hierarchy` in der `hiera.yaml` definiert sind
+
* Jeder verwaltete Node kann beliebig viele unterschiedliche rollen (zB supernode, webserver, ...) einnehmen, die in roles-available und unter '':hierarchy'' in der ''hiera.yaml'' definiert sind
* Jeder Parameter kann auf dem Node, in den Rollen oder auf allgemeiner ebene festgelegt werden. Durch Verwendung des `:merge_behavior: deeper` führt hiera diese Ebenen zusammen. Dies erspart redundante Definitionen und beugt Fehlern vor.
+
* Jeder Parameter kann auf dem Node, in den Rollen oder auf allgemeiner ebene festgelegt werden. Durch Verwendung des '':merge_behavior: deeper'' führt hiera diese Ebenen zusammen. Dies erspart redundante Definitionen und beugt Fehlern vor.
 
* Die Klassen-Includes und die Konfiguration der Klassen liegen an ''einer'' Stelle, nämlich in den jeweiligen Hiera-Dateien der Nodes, Rollen oder allgemeinen Einstellungen.
 
* Die Klassen-Includes und die Konfiguration der Klassen liegen an ''einer'' Stelle, nämlich in den jeweiligen Hiera-Dateien der Nodes, Rollen oder allgemeinen Einstellungen.
   Zeile 74: Zeile 74:  
git pull --rebase
 
git pull --rebase
 
</pre>
 
</pre>
Dies führt zu einem Update aus dem [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet|puppet]]-Projekt.
+
Dies führt zu einem Update aus dem [https://git.nordwest.freifunk.net/ffnw-puppet/puppet puppet]-Projekt.
    
=== Einzelnes Modul updaten ===
 
=== Einzelnes Modul updaten ===
Zeile 90: Zeile 90:  
git pull --rebase
 
git pull --rebase
 
</pre>
 
</pre>
Dies führt zu einem Update aus dem [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-data|puppet-data]]-Projekt.
+
Dies führt zu einem Update aus dem [https://git.nordwest.freifunk.net/ffnw-puppet/puppet-data puppet-data]-Projekt.
    
== Troubleshooting ==
 
== Troubleshooting ==
 
=== Could not request certificate: execution expired ===
 
=== Could not request certificate: execution expired ===
 
Das heißt in der Regel, dass der Puppet agent den Puppet Master aufgrund einer Fehlkonfiguration nicht erreichen kann. Auf dem Puppet Agent prüfen:
 
Das heißt in der Regel, dass der Puppet agent den Puppet Master aufgrund einer Fehlkonfiguration nicht erreichen kann. Auf dem Puppet Agent prüfen:
* Ist ein FQDN als Hostname gesetzt ([[Technik/Dokumentation/Server-Basiskonfiguration#Hostname]])?
+
* Ist ein FQDN als Hostname gesetzt ([[Administration/Handbücher/Server-Basiskonfiguration#Hostname | Hostname]])?
* Ist in der Puppet-Config ein Puppet-Paster eingetragen (server=puppet.ffnw.de, siehe [[Technik/Dokumentation/Puppet#Einrichtung_des_Puppet-Agent]])?
+
* Ist in der Puppet-Config ein Puppet-Paster eingetragen (server=puppet.ffnw.de, siehe [[Administration/Dienste/Puppet-Agent#Einrichtung_des_Puppet-Agent | Einrichtung des Puppet-Agent]])?
    
=== Error: invalid byte sequence in US-ASCII ===
 
=== Error: invalid byte sequence in US-ASCII ===
Zeile 102: Zeile 102:     
=== Could not find class ::ssh for runner01.ffnw.de at ===
 
=== Could not find class ::ssh for runner01.ffnw.de at ===
Wird ein externes Paket genutzt? Dann muss dieses auf dem Puppet master installiert werden. Siehe [[Technik/Dokumentation/Puppet#Externe_Puppet_Pakete]]
+
Wird ein externes Paket genutzt? Dann muss dieses auf dem Puppet master installiert werden. Siehe [[Administration/Dienste/Puppet-Server#Externe_Puppet_Pakete | Externe Puppet Pakete]]
    
=== Could not autoload puppet/parser/functions/ip_address ===
 
=== Could not autoload puppet/parser/functions/ip_address ===
Zeile 123: Zeile 123:  
=== Usermanagement ===
 
=== Usermanagement ===
 
User anlegen, User löschen, SSH Keys einem neuen User hinzufügen, Homedir anlegen
 
User anlegen, User löschen, SSH Keys einem neuen User hinzufügen, Homedir anlegen
* [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-user|Source des Modules]]
+
* [https://git.nordwest.freifunk.net/ffnw-puppet/puppet-user Source des Modules]
* [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-user/blob/master/README.md|Modul Readme]]
+
* [https://git.nordwest.freifunk.net/ffnw-puppet/puppet-user/blob/master/README.md Modul Readme]
    
=== Unattended Upgrades ===
 
=== Unattended Upgrades ===
 
Das Modul Unattended-Upgrades automatisiert den Update-Prozess für einige Pakete sodass hier bei den meisten Paketen keine händischen Upgrades gemacht werden müssen.
 
Das Modul Unattended-Upgrades automatisiert den Update-Prozess für einige Pakete sodass hier bei den meisten Paketen keine händischen Upgrades gemacht werden müssen.
* [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-unattended_upgrades|Source des Modules]]
+
* [https://git.nordwest.freifunk.net/ffnw-puppet/puppet-unattended_upgrades Source des Modules]
* [[https://git.nordwest.freifunk.net/ffnw-puppet/puppet-unattended_upgrades/blob/master/README.md|Modul Readme]]
+
* [https://git.nordwest.freifunk.net/ffnw-puppet/puppet-unattended_upgrades/blob/master/README.md Modul Readme]