ubuntuusers.de

puppet installieren

Status: Gelöst | Ubuntu-Version: Ubuntu 13.10 (Saucy Salamander)
Antworten |

averlon

Anmeldungsdatum:
18. Mai 2011

Beiträge: 290

Hallo, ich versuche auf meinem ubuntu 13.10 server puppet zu installieren, kriege das aber nicht wirklich hin.

Die pakete sind installiert und apache auch.

Die beschreibung von puppetlabs hilft ja nicht weil die via skript installieren, was man bei ubuntu ja nicht muss weil pakete da sind.

Hat jemand irgendwo eine anleitung?

Danke

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Hallo averlon.

Versuche den folgenden Link. ▶ http://docs.puppetlabs.com/guides/installation.html#debian-and-ubuntu

Dort wird beschrieben, wie man Puppet aus den Paketquellen installiert und wie es nach der Installation weitergeht.

Gruß
Tronde

averlon

(Themenstarter)

Anmeldungsdatum:
18. Mai 2011

Beiträge: 290

Tronde schrieb:

Hallo averlon.

Versuche den folgenden Link und klicke auf den ersten Suchtreffer. ▶ www.lmgtfy.com/q=installing+puppet+ubuntu

link funktioniert bei mir nicht.

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Hi.

Du warst etwas zu schnell. Habe gerade noch etwas mit dem Link gekämpft. Hier noch einmal der Link zur entsprechenden Stellen in der Puppetlabs Doku ▶ http://docs.puppetlabs.com/guides/installation.html#debian-and-ubuntu

Gruß
Tronde

averlon

(Themenstarter)

Anmeldungsdatum:
18. Mai 2011

Beiträge: 290

Hi, gut - habe ich.

wenn ich die website jetzt mit https://puppet.av.loc:8140 aufrufen dann kommt:

The environment must be purely alphanumeric, not ''

Irgendwo im netzt habe ich gelesen: glückwunsch, der puppetmaster läuft.

Wie komme ich denn an die console ran. Ich habe schon viel doku gelesen aber überall stand das mit :8140 (oder ich habe was missverstanden).

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

averlon schrieb:

Wie komme ich denn an die console ran. Ich habe schon viel doku gelesen aber überall stand das mit :8140 (oder ich habe was missverstanden).

Auf die Konsole kommst du z.B. mit Strg+Alt+F1. Leider verstehe ich nicht was du vorhast. Bitte beschreibe dein Ziel und das konkrete Problem es zu erreichen.

Mit der in diesem Thread verlinkten Doku habe ich bereits zwei funktionierende Puppet Setups aufgesetzt, ohne dabei auf Probleme zu stoßen. Daher verstehe ich nicht, wo es nun bei dir klemmt.

MfG
Tronde

averlon

(Themenstarter)

Anmeldungsdatum:
18. Mai 2011

Beiträge: 290

Hallo Tronde, puppet hat eine web oberfläche die sich "console" nennt.

An die komme ich nicht ran. Die zeigt sich mir einfach nicht. Das ist, soweit ich weiß, auf dem puppet master.

Aber ich lese die doku noch einmal schritt für schritt.

averlon

(Themenstarter)

Anmeldungsdatum:
18. Mai 2011

Beiträge: 290

Hallo, also ich kriege es nicht hin.

Was habe ich denn gemacht:

- apt-get install puppetmaster

- apt-get install puppetmaster-passenger

- apt-get install puppet (sowohl auf dem server weil der auch als agent dienen soll als auch auf einer anderen maschine).

meine puppet.conf auf dem server

[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
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
reports = store, http
modulepath = /etc/puppet/modules:/usr/share/puppet/modules
dns_alt_names = puppet.av.loc
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY

[agent]
server = puppet.av.loc
report = true
pluginsync = true

dann

1
update-rc.d -f puppetmaster remove

dann

1
2
puppet resource service puppet ensure=running enable=true
puppet resource service puppetmaster ensure=running enable=true

ergibt:

service { 'puppet':
  ensure => 'running',
  enable => 'true',
}

und ergibt

Notice: /Service[puppetmaster]/ensure: ensure changed 'stopped' to 'running'
service { 'puppetmaster':
  ensure => 'stopped',
  enable => 'true',
}

meine apache vhost definition

# Debian/Ubuntu:
#LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.41/buildout/apache2/mod_passenger.so
#<IfModule mod_passenger.c>
#  PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.41
#  PassengerDefaultRuby /usr/bin/ruby1.9.1
#</IfModule>

# And the passenger performance tuning settings:
PassengerHighPerformance On
# Set this to about 1.5 times the number of CPU cores in your master:
PassengerMaxPoolSize 12
# Recycle master processes after they service 1000 requests
PassengerMaxRequests 1000
# Stop processes if they sit idle for 10 minutes
PassengerPoolIdleTime 600

Listen 8140

<VirtualHost *:8140>
        SSLEngine on
        SSLProtocol -ALL +SSLv3 +TLSv1
        SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

        SSLCertificateFile      /var/lib/puppet/ssl/certs/f42252se.averlon.loc.pem
        SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/f42252se.averlon.loc.pem
        SSLCertificateChainFile /var/lib/puppet/ssl/certs/ca.pem
        SSLCACertificateFile    /var/lib/puppet/ssl/certs/ca.pem
        # If Apache complains about invalid signatures on the CRL, you can try disabling
        # CRL checking by commenting the next line, but this is not recommended.
        SSLCARevocationFile     /var/lib/puppet/ssl/ca/ca_crl.pem
        SSLVerifyClient optional
        SSLVerifyDepth  1
        # The `ExportCertData` option is needed for agent certificate expiration warnings
        SSLOptions +StdEnvVars +ExportCertData

        # This header needs to be set if using a loadbalancer or proxy
        RequestHeader unset X-Forwarded-For

        RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
        RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
        RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e

        DocumentRoot /usr/share/puppet/rack/puppetmasterd/public/
        RackBaseURI /
        <Directory /usr/share/puppet/rack/puppetmasterd/>
                Options None
                AllowOverride None
      # Apply the right behavior depending on Apache version.
      <IfVersion < 2.4>
        Order allow,deny
        Allow from all
      </IfVersion>
      <IfVersion >= 2.4>
        Require all granted
      </IfVersion>
        </Directory>
</VirtualHost>

nachdem ich das system durchgestartet habe versuche ich die puppet-console über browser zu erreichen.

https://puppet.av.loc:8140/
Ein Fehler ist während einer Verbindung mit puppet.av.loc:8140 aufgetreten. Sie haben ein ungültiges Zertifikat erhalten. Bitte kontaktieren Sie den Server-Administrator oder E-Mail-Korrespondenten und geben Sie diesen die folgenden Informationen: Ihr Zertifikat enthält die gleiche Seriennummer wie ein anderes Zertifikat dieser Zertifizierungsstelle. Bitte erwerben Sie ein neues Zertifikat mit einer eindeutigen Seriennummer. (Fehlercode: sec_error_reused_issuer_and_serial)

es laufen folgende prozesse auf dem server

root      2760     1  0 09:58 ?        00:00:00 /usr/bin/ruby /usr/bin/puppet agent
puppet    6266  5971  0 10:09 ?        00:00:00 master                                                                              
puppet    6286     1  0 10:09 ?        00:00:00 Rack: /usr/share/puppet/rack/puppetmasterd

gut ich habe dann noch einen teil vom apache geändert:

        SSLCertificateFile      /var/lib/puppet/ssl/certs/puppet.av.loc.pem
        SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/puppet.av.loc.pem

damit es mit der definition von

dns_alt_names = puppet.av.loc

in der puppet.conf übereinstimmt.

jetzt kommt beim aufruf der webseite:

The environment must be purely alphanumeric, not ''

Ist schon besser, aber immer noch nicht das gewünschte ergebnis.

Also ich komme an die weboberfläche nicht ran.

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

averlon schrieb:

Hallo Tronde, puppet hat eine web oberfläche die sich "console" nennt.

An die komme ich nicht ran. Die zeigt sich mir einfach nicht. Das ist, soweit ich weiß, auf dem puppet master.

Aber ich lese die doku noch einmal schritt für schritt.

Hi.

Jetzt verstehe ich was du willst. 😉 Leider kann ich dir dabei nicht helfen, da ich Puppet bisher immer ohne Weboberfläche verwendet habe.

Die Weboberfläche ist soweit ich weiß nur Bestandteil von Puppet Enterprize und wird nicht mitinstalliert wenn du Puppet aus den Paketquellen installierst. In diesem Fall wird der Webserver nur dafür benötigt, dass ich Pappet Agents beim Master anmelden können. Die gesamte Konfiguration spielt sich hierbei jedoch auf der Textkonsole ab.

Leider habe ich aktuell keinen Zugriff auf den Puppet Master in unserer Firma, um dort mal die Ports zu prüfen. Ich bin mir jedoch ziemlich sicher, dass du keine Weboberfläche zur Konfiguration zu sehen bekommst, da diese in der Open Source Version nicht mitinstalliert wird.

Viele Grüße
Tronde

averlon

(Themenstarter)

Anmeldungsdatum:
18. Mai 2011

Beiträge: 290

Hallo Tronde, danke für die Antwort.

Die Enterprise-Version ist ja für bis zu 10 nodes frei. Um es auszuprobieren, wie bei mir zu hause, reicht das ja.

Ich habe nicht daran gedacht, und es war für mich in den beschreibungen einfach nicht ersichtlich, dass hier die Open Source version mit den paketen installiert wird.

Die Enterprise-Version geht leider nicht auf ubuntu >12.04 - noch nicht freigegeben bzw. noch nicht verfügbar.

Muss ich mir wohl mal eben einen 12.04 aufbauen. Mal sehen.

Danke - das war der denkfehler.

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Hi.

Ich habe gerade auf unserem Puppet-Master nachgesehen und kann bestätigen das Port 8140 für die Kommunikation zwischen den Agents und dem Master zuständig ist.

Um Puppet zu lernen und zu verstehen benötigst du die Weboberfläche jedoch nicht zwingend. Du kannst Manifeste und Module auch bequem mit einem Texteditor direkt in der Konsole erstellen und Puppet mit Kommandos steuern. Mir hat es enorm beim Verständnis geholfen zu sehen was da passiert. Da die Weboberfläche unter Umständen einiges vor dir verbirgt.

Zum lernen gibt es auf der Seite auch eine Puppet Learning VM mit Puppet Enterprise. Vielleicht reicht dir diese für erste Berührungen.

MfG
Tronde

averlon

(Themenstarter)

Anmeldungsdatum:
18. Mai 2011

Beiträge: 290

Hi *,

ich habe jetzt mein eigenes kleines modul geschrieben.

Hat funktioniert.

Jetzt kommen die schwierigeren sachen.

Antworten |