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 insta­ll-­jav­a.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.

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

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

          Plattformübergreifend Arbeiten Cheat Sheet