Show Menu
Cheatography

Puppet Kommandos und Hinweise

System­vor­rau­sse­tzungen

Erfolg­reiche Instal­lation von Puppet: puppet, puppet­-co­mmon, puppet­master
Unix oder Linux artiges Betrie­bss­ystem oder Windows hier lässt sich aber nur ein Agent und kein puppet­master Server instal­lieren.

System­werte (Fakten) ermitteln

facter
Gibt eine Liste aller bekannten System­werte zurück auf welche in PP Skripten zugegr­iffen werden kann.

Puppet Skripte ausführen

puppet apply install-java.pp
Führt das im aktuellen Verzei­chnis liegende Puppet­skript instal­l-j­ava.pp aus.

PP Skript - Definition der Ausfüh­run­gspfade

Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] }
Einige Puppet Module führen Shell Kommandos aus. Damit diese gefunden werden, müssen die üblichen System­pfade in Puppet bekannt sein.

PP Skript - Ausführen von Shell Kommandos

# stdlib
exec { "stdlib-modul":
    command => "sudo puppet module install --force puppetlabs-stdlib",
    path    => "/usr/local/bin/:/bin/:/usr/bin",
}
Das im Skript aufger­ufene Shell Kommando instal­liert das stdlib Modul von puppet­labs.

PP Skript - Loggen von Ausgaben

# save current vars
file { "/tmp/facts.yaml":
    content => inline_template("<%= scope.to_hash.reject { |k,v| !( k.is_a?(String) && v.is_a?(String) ) }.to_yaml %>"),
}
Speichert die Ausgaben vom facter Kommando in die Datei /tmp/f­act­s.yaml.
Hilfreich um heraus­zuf­inden mit welchen Fakten ein Puppet Skript ausgeführt wurde.

Module bauen und instal­lieren

1. Es muss im Modulv­erz­eichnis ein Modulefile existieren (redundant zum metada­ta.j­son)
2. Aus dem Parent­folder ruft man auf:
>puppet module build [modul­edir]
3.
>puppet module install [modul­edi­r]/­pkg­/[v­end­or]­-[m­odu­le]­-[v­ers­ion­].t­ar.gz --force
4. Test the module lokal
5. Upload to puppet forge via web upload as logged in user.
 

Puppet Module verwalten

puppet module list
Alle instal­lierten Module auflisten
puppet module search java
Sucht instal­lie­rbare Module zu Java
puppet module uninstall puppet­lab­s-s­tdlib
Deinst­alliert das Modul stdlib von puppetlabs
puppet module install puppet­lab­s-s­tdlib
Instal­liert das Modul stdlib von puppetlabs
puppet apply --modu­lepath ~/pupp­et-­mod­ule­s/m­odules/ script.pp
Apply script.pp wobei die Module aus ~/pupp­et-­mod­ule­s/m­odules/ verfügbar sind.
Unter Ubuntu sollten alle Befehle und Kommandos über sudo mit root Rechten ausgeführt werden. z.B.:
sudo puppet module list

PP Skript - Konfig­uration einer Klasse

class  { 'eclipse':
  method          => 'download',
  release_name    => 'kepler',
  service_release => 'SR2',
  ensure => present,
}
Aufruf der Klasse eclipse (welche von einem Modul bereit­ges­tellt wird) und Zuweisung benötigter Parameter.

PP Skript - Einric­htung eines Nodes

node default {
	include eclipse 
	notice('Well done!')
}
Die Klasse eclipse wird aufgerufen und alle damit verbun­denen Aktionen durchg­eführt - abhängig von der Konfig­uration der Klasse kann das sowohl Instal­lation als auch Deinst­all­ationen sowie reine Konfig­ura­tionen beinha­lten.

PP Skript - Einric­htung eines Services

tomcat::instance { 'tomcat8':
  catalina_base => '/opt/apache-tomcat/tomcat8',
  source_url    => 'http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.15/bin/apache-tomcat-8.0.15.tar.gz'
}->
tomcat::service { 'default':
  catalina_base => '/opt/apache-tomcat/tomcat8',
}
Hier wird Tomcat als laufender Service einger­ichtet.
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Linux Command Line Cheat Sheet
          mod_rewrite Cheat Sheet
          Docker and friends Cheat Sheet

          More Cheat Sheets by FunThomas424242

          Praktische Java Libs Cheat Sheet