Puppet erfordert Zertifikate zwischen dem verwalteten Client (Puppet) und dem Server (Puppetmaster). Sie können manuell auf dem Client ausgeführt werden und dann auf den Server gehen, um das Zertifikat zu signieren. Wie automatisieren Sie diesen Prozess für Cluster / Cloud-Computer?
26
Antworten:
Auf dem Server (Puppenmeister) laufen:
Kopieren Sie dann Folgendes vom Server auf den Client:
Wenn Sie
<NAME>
als etwas anderes als den Hostnamen unterschreiben möchten, verwenden Sie:Fügen Sie /etc/puppet/puppet.conf hinzu, wenn Sie den Daemon ausführen
quelle
puppet cert --generate <NAME>
siehe serverfault.com/a/457364/71452Wenn Sie eine Host-Datenbank haben, können Sie die Autosign-Funktion verwenden. Fügen Sie in Ihrer
puppet.conf
Datei[puppetmasterd]
Folgendes hinzu:Verwenden Sie dann eine Crontab, um diese Datei zu generieren. Die Autosign-Datei ist nur eine Liste der Hosts, die automatisch signiert werden sollen, wenn sie sich zum ersten Mal mit dem Puppenspieler verbinden. Ich verwende LDAP, um meine Puppet-Hosts zu konfigurieren, sodass mein Cron so aussieht:
Ich bin sicher, dass Leute, die iClassify verwenden, eine Abfrage schreiben können, um dasselbe zu tun.
Natürlich müssen Sie dem Netzwerk vertrauen. Ich benutze dies auf EC2. Mein Puppenmeisterserver befindet sich in einer Gruppe, die nur Verbindungen von anderen vertrauenswürdigen Gruppen zulässt. Ich würde dies nicht empfehlen, wenn Ihr Puppenspieler für das Internet geöffnet ist.
quelle
Einfache Antwort: Neue Anfragen automatisch signieren. Dies ist natürlich gefährlich, da Sie blind jedem System vertrauen, das eine Verbindung zu Ihrem Puppenspieler herstellt. Dies ist der Grund, warum Sie manuell signieren müssen.
Sie können false angeben und eine Datei verwenden, um zu bestimmen, welche Schlüssel ebenfalls signiert werden sollen.
Siehe die Konfigurationsreferenz im Puppet-Wiki.
Eine andere Möglichkeit besteht darin, ein Tool wie Capistrano zu verwenden , in dem Sie den Puppenmaster-Knoten angeben und die Client-Instanz-Knoten erstellen, und in der Aufgabe:
quelle
[puppetmasterd]
Abschnittsüberschrift jetzt lauten[master]
. Weitere Informationen finden Sie unter docs.puppetlabs.com/guides/tools.html .Auf dem Server (Puppenmeister) laufen:
Kopieren Sie dann Folgendes vom Server auf den Client:
Wenn Sie etwas anderes als den Hostnamen verwenden möchten:
Fügen Sie /etc/puppet/puppet.conf hinzu, wenn Sie den Daemon ausführen
quelle