GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

So installieren Sie Puppet Master und Client in Ubuntu 14.04

So installieren Sie Puppet-Master und -Client in Ubuntu 14.04

Dieses Dokument beschreibt, wie Puppet auf einem Ubuntu 14.04-Server installiert und konfiguriert wird. Außerdem werde ich einen Puppet-Client mit dem Ubuntu 14.04-Desktop verbinden. Puppet ist ein Konfigurationsmanagementsystem, mit dem Sie den Status Ihrer IT-Infrastruktur definieren und dann automatisch den korrekten Status erzwingen können. Ganz gleich, ob Sie nur wenige Server oder Tausende von physischen und virtuellen Maschinen verwalten, Puppet automatisiert Aufgaben, die Systemadministratoren oft manuell erledigen, und gibt Zeit und Denkraum frei, damit Systemadministratoren an Projekten arbeiten können, die einen größeren geschäftlichen Wert liefern.
Ob Sie von Anbietern bereitgestellte Anwendungen bereitstellen oder mit einem Team interner Softwareentwickler zusammenarbeiten, Puppet automatisiert jeden Schritt des Softwarebereitstellungsprozesses:von der Bereitstellung physischer und virtueller Maschinen bis hin zur Orchestrierung und Berichterstellung; von der frühen Codeentwicklung bis hin zu Tests, Produktionsfreigabe und Updates. Puppet gewährleistet Konsistenz, Zuverlässigkeit und Stabilität. Es erleichtert auch eine engere Zusammenarbeit zwischen Systemadministratoren und Entwicklern und ermöglicht eine effizientere Bereitstellung von saubererem, besser gestaltetem Code.


1 Vorbemerkung

Diese Anleitung basiert auf Ubuntu 14.04-Server und Ubuntu 14.04-Desktop, daher sollten Sie eine grundlegende Ubuntu 14.04-Server- und -Desktop-Installation einrichten, bevor Sie mit dieser Anleitung fortfahren. Das System sollte eine statische IP-Adresse haben. Ich verwende in diesem Tutorial 192.168.0.100 als IP-Adresse des Ubuntu-Servers und 192.168.0.101 als IP des Ubuntu-Desktops und server1.example.com als Hostnamen des Ubuntu-Servers und desktop1.example.com als Hostnamen des Ubuntu-Desktops.

Bei Ubuntu Server und Ubuntu Desktop muss dieser Eintrag in der Datei /etc/hosts vorhanden sein. Diese Einträge sind sowohl im Server als auch im Client gleich.

nano /etc/hosts

[...]
192.168.0.100 server1.example.com server1 192.268.0.101 desktop1.example.com desktop1

Darüber hinaus müssen sowohl Server als auch Desktop über eine Zeitsynchronisierung verfügen, dies wird sowohl auf Server- als auch auf Desktop-Computern wie folgt verarbeitet:

ntpdate pool.ntp.org; apt-get update &&sudo apt-get -y install ntp; service ntp neu starten

2 Puppet-Master-Installation auf Ubuntu Server 14.04

Um Puppet Master zu installieren, verwenden wir das neueste Repository und installieren Puppet wie folgt:

cd /tmp
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
dpkg -i puppetlabs-release-trusty.deb
apt-get update

apt-get installiere Puppetmaster

Überprüfen Sie die Puppet-Version als:

Marionette -V

[email protected]:/tmp# Puppet -V
3.7.1
[email protected]:/tmp#

Wir haben die Puppet-Version als 3.7.1. Jetzt müssen wir das Update der Puppet-Version sperren, da dies die Konfigurationen beim Aktualisieren des Puppets behindert. Dazu wird die Datei wie folgt bearbeitet:

nano /etc/apt/preferences.d/00-puppet.pref

Fügen Sie die Einträge in der neu erstellten Datei hinzu als:

# /etc/apt/preferences.d/00-puppet.pref
Package: puppet puppet-common puppetmaster-passenger
Pin: version 3.7*
Pin-Priority: 501

Es wird das Puppet nicht aktualisieren, während Updates im System ausgeführt werden.

Als nächstes ändern wir die Konfigurationsdatei wie folgt:

nano /etc/puppet/puppet.conf

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
#templatedir=$confdir/templates

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY

Kommentieren Sie einfach die Zeile templatedir=$confdir/templates und speichern Sie die Datei.

Jetzt werden wir die Dienste stoppen und dann starten:

service puppetmaster stop
service puppetmaster start

Jetzt ist der Master-Puppet-Server bereit.

3 Installation des Puppet-Clients auf Ubuntu Desktop 14.04

Unser Ziel ist es nun, Ubuntu Desktop als Puppet-Client für den Puppet-Master-Ubuntu-Server zu installieren und zu konfigurieren. Ihr Client muss für /etc/hosts  konfiguriert sein, außerdem muss Ihr Ubuntu-Desktop eine zeitsynchronisierte Datei sein, wie in Kapitel 1 oben erwähnt. Als Nächstes installieren wir Puppet wie folgt:

cd /tmp
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
dpkg -i puppetlabs-release-trusty.deb
apt-get update

apt-get install puppet

Überprüfen Sie die Puppet-Version als:

Marionette -V

[email protected]:/tmp# Puppet -V
3.7.1
[email protected]:/tmp#

Wir haben die Puppet-Version als 3.7.1. Jetzt müssen wir das Update der Puppet-Version sperren, da dies die Konfigurationen beim Aktualisieren des Puppets behindert. Dazu wird die Datei wie folgt bearbeitet:

nano /etc/apt/preferences.d/00-puppet.pref

Fügen Sie die Einträge in der neu erstellten Datei hinzu als:

# /etc/apt/preferences.d/00-puppet.pref
Package: puppet puppet-common puppetmaster-passenger
Pin: version 3.7*
Pin-Priority: 501

Es wird das Puppet nicht aktualisieren, während Updates im System ausgeführt werden.

Als nächstes ändern wir die Konfigurationsdatei wie folgt:

nano /etc/puppet/puppet.conf

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
#templatedir=$confdir/templates

#[master]
## These are needed when the puppetmaster is run by passenger
## and can safely be removed if webrick is used.
#ssl_client_header = SSL_CLIENT_S_DN
#ssl_client_verify_header = SSL_CLIENT_VERIFY

[agent]
server = server1.example.com

Kommentieren Sie einfach die Zeilen wie oben erwähnt und fügen Sie die Agenteneinträge hinzu und speichern Sie die Datei.

Als nächstes müssen wir die Datei vi /etc/default/puppet bearbeiten und Änderungen von no auf yes vornehmen, wie unten gezeigt:

nano /etc/default/puppet

[...]
START=yes
[...]

Jetzt sind wir bereit, den Puppet-Dienst zu starten, es wird wie folgt gemacht:

Dienstpuppenstart

Jetzt ist unser Client-Computer bereit, mit dem Puppet Master-Server zu kommunizieren.

4 Zertifikatsaustausch vom Puppet-Master zum Puppet-Client

Nach der erfolgreichen Konfiguration des Puppet-Clients durchsucht Ubuntu Desktop den Puppet-Master-Server und fragt nach einer Zertifikatsanforderung, bevor es administrative Anweisungen vom Master-Puppet-Server akzeptiert.

Um eine solche Zertifikatsanforderung anzuzeigen, führen Sie den Befehl auf dem Puppet Master Ubuntu-Server aus.

Puppet-Zertifikatsliste

[email protected]:~# Puppet-Zertifikatsliste
  "desktop1.example.com" (SHA256) BD:F7:7C:76:48:09:C5:FE:0C:A8:CD:81:92 :1D:A4:1F:15:1C:1A:6E:DE:C1:3C:B4:CA:FC:C6:2F:B4:9A:91:74
[email protected]:~#

Dies bedeutet, dass es eine Maschine mit dem Namen dekstop1.example.com gibt, die entstanden ist und nach einer Zertifikatsanforderung fragt. Jetzt muss der Puppet-Master-Server das vom Puppet-Client angeforderte Zertifikat signieren. Das geht wie folgt:

Puppet-Zertifikat unterschreibt desktop1.example.com

Die Ausgabe sieht so aus:

[email protected]:~# puppet cert sign desktop1.example.com
Hinweis:Signierte Zertifikatsanforderung für desktop1.example.com
Hinweis:Datei Puppet::SSL::CertificateRequest desktop1.example wird entfernt. com unter '/var/lib/puppet/ssl/ca/requests/desktop1.example.com.pem'
[email protected]:~#

Dies bedeutet, dass die Anfrage vom Desktop-Rechner auf dem Puppet-Master-Rechner akzeptiert wird. Wir können das auch mit dem Befehl überprüfen:

Puppet-Zertifikatsliste -all

[email protected]:~# Puppet cert list -all
+ "desktop1.example.com"        (SHA256) 7A:B7:CE:C4:A0:05:99:E7:E2:53:AD:D2:7F:6E:B5:38:CA:87:E0:8D:C7:0E:71:89:82:E1:17:FA:9D:B1:01:6D
+ "server1.server1 .example.com" (SHA256) FF:E2:49:B9:2F:B4:D1:79:21:E9:1A:83:22:FA:DB:E8:5D:9B:9A:1C:E1:4D:83:B9:16:9D:FD:8B:72:FD:62:5F (alternative Namen:„DNS:puppet“, „DNS:puppet.server1.example.com“, „DNS:server1.server1. example.com")
[email protected]:~#

Das obige +-Zeichen in der Ausgabe zeigt das erfolgreiche Signieren des Zertifikats auf dem Puppet-Master-Ubuntu-Server.

Um den Fingerabdruck des Client-Zertifikats auf dem Ubuntu-Desktop von Puppet Client anzuzeigen, führen Sie Folgendes aus:

Puppet Agent --Fingerabdruck

[email protected]:~# puppet agent --fingerprint
(SHA256) 7A:B7:CE:C4:A0:05:99:E7:E2:53:AD:D2:7F:6E:B5:38:CA:87:E0:8D:C7:0E:71:89:82:E1:17:FA:9D:B1:01:6D
[email protected]:~#

Ebenso können wir eine beliebige Anzahl von Clients mit Puppet Master Ubuntu Server hinzufügen und die Zertifikatsanforderungen von den Clients signieren. Wenn Sie aus administrativen Gründen die Zertifikate vom Puppet-Master-Ubuntu-Server widerrufen möchten, können wir Folgendes ausführen:

Puppet-Zertifikat clean desktop1.example.com

[email protected]:~# puppet cert clean desktop1.example.com
Hinweis:Widerrufenes Zertifikat mit Seriennummer 3
Hinweis:Datei Puppet::SSL::Certificate desktop1.example.com wird entfernt unter '/ var/lib/puppet/ssl/ca/signed/desktop1.example.com.pem'
Hinweis:Entfernen der Datei Puppet::SSL::Certificate desktop1.example.com unter '/var/lib/puppet/ssl /certs/desktop1.example.com.pem'
[email protected]:~#

Um sicherzustellen, dass die Zertifikate auf dem Puppet Master Ubuntu-Server vollständig entfernt werden, habe ich sie explizit noch einmal gesäubert

Puppet-Zertifikat -c

Hinweis Oben habe ich gerade erwähnt, wie wir das Zertifikat widerrufen und den Desktop vom Puppet-Master-Server trennen können.

Wie oben erwähnt, können wir eine Anzahl von N Desktops verbinden und die Verwaltungen zentral über den Puppet-Masterserver durchführen. Herzliche Glückwünsche! Jetzt haben wir eine voll funktionsfähige Puppet-Instanz auf unserem Ubuntu 14.04 :)

  • Puppe:http://puppetlabs.com/
  • Ubuntu:http://www.ubuntu.com/

Panels
  1. Installieren Sie Puppet Master und Agent auf Ubuntu 20.04

  2. So installieren Sie NFS-Client und -Server unter Ubuntu 20.04

  3. Wie installiere und konfiguriere ich Puppet 4 unter CentOS und Ubuntu? [Meister und Agent]

  4. So installieren und sichern Sie Redis unter Ubuntu 20.04

  5. So installieren und konfigurieren Sie Fail2ban unter Ubuntu 20.04

So installieren Sie NTP-Server und -Client auf Ubuntu

So installieren Sie UrBackup Server und Client auf Ubuntu 20.04

So installieren Sie Juju unter Ubuntu 20.04

So installieren Sie Telnet-Server und -Client unter Ubuntu

So installieren Sie den TeamSpeak-Client auf Ubuntu

So installieren Sie NTP-Server und Client(s) unter Ubuntu 20.04 LTS