Ich möchte auch die Möglichkeit behalten, die Hosts-Datei manuell zu bearbeiten, zumindest die ersten 10 Zeilen.
#Public IP's - eth0
192.168.1.103 front-01
192.168.1.106 front-02
#Private IP's - eth1
192.169.40.201 priv0-0
192.169.40.202 priv0-1
192.169.40.207 priv1-0
192.169.40.208 priv1-1
#Virtual IP's - eth0:1
192.169.50.202 vip-01
192.169.50.205 vip-02
Es wäre perfekt, wenn diese Host-Einträge unten in / etc / hosts stehen würden. Was ist der beste Weg, dies zu tun? Gibt es einen besseren Weg als das Schreiben von 8 Hosts-Zeilen-Manifesten?
# create a simple hostname and ip host entry
host { 'front-01':
ip => '192.168.1.103',
}
Möglicherweise gibt es Servergruppen, die in ihren / etc / hosts unterschiedliche IP-Adressen / Hostnamen benötigen. Ich würde eine Vorlage verwenden, aber das bedeutet, dass Benutzer keine manuellen Änderungen mehr an ihren / etc / hosts vornehmen können, da sie von der Vorlage überschrieben würden.
Verwenden Sie die in Puppet integrierte Augeaus-Funktionalität. Du willst so etwas wie
quelle
Ein Fall, in dem Sie zusätzlich zu den Host-Ressourcentypen augeas für die Datei / etc / hosts verwenden können, sind doppelte IP-Adresszeilen.
Der Host-Ressourcentyp ermöglicht recht glücklicherweise Leitungen mit denselben IP-Adressen. (Google it; wo sind extrem dunkle Fälle, in denen es eine gute Idee sein kann.)
Wenn Sie jedoch keine doppelten IP-Adressen in Ihrer / etc / hosts-Datei haben möchten, kann Ihnen augeas helfen. Hosts ist keine Hilfe dafür.
quelle
Nur eine Methode ohne Code:
Verwenden Sie Vorlagen oder was auch immer, das eine Datei
/etc/hosts.puppet
mit klaren Start- und Endzeilen aktualisiertund haben ein Shell-Skript als Abhängigkeit, das dieses Segment ausschneidet
/etc/hosts
und durch den Inhalt von ersetzt/etc/hosts.puppet
.Beachten Sie, dass dies eine Racebedingung hat, wenn Benutzer die Datei bearbeiten und der Puppenlauf sie ändert. Alternativ können Sie Ihre Benutzer anweisen, eine Datei zu bearbeiten
/etc/hosts.user
und/etc/hosts
aus beiden Dateien zu erstellen, wenn sich eine ändert.quelle