Grundlagen puppet

730 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
730
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Grundlagen puppet

  1. 1. Operations Brownbag Puppet 101Felix Rehfeldtinovex GmbHSystem Engineer Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.
  2. 2. Agenda: ...was machen wir hier eigentlich● Was ist Puppet● Was ist Puppet nicht● Setup Puppet● File organisation● Node definitions● Der Client run09.03.12 2
  3. 3. Was ist PuppetTool für Configuration Management• geschrieben in Ruby• eigene Sprache für Manifests (ralsh)• Kommunikation via XMLRPC over HTTPAutomatisierung von Tasks• Installation und Management von Paketen• Anlegen und Verwalten von Benutzer/Gruppen/Permissions• Verteilen und Management von Files und ServicesFacter als Schnittstelle zum System• Auslesen von Systemvariablen (lsb, IPs, uvm.)• Kann Variablen über die gesammelten Systeminformationen setzen09.03.12
  4. 4. Was ist Puppet nicht• Puppet ist kein System dass out of the box dass macht was wir wollen! Es ist ein umfangreiches Framework welches einen recht hohen initialen Konfigurationsaufwand mit sich bringt.• Puppet nimmt es einem nicht ab das zu managende System zu verstehen. Wer nicht weiß wie ein System zu bedienen ist, sollte Puppet zunächst außen vor lassen.09.03.12
  5. 5. Setup PuppetDie Puppet Installation• apt-get install puppetmaster! Leider nicht... • Nach der Standardinstallation läuft der Puppetmaster mit einem Ruby webrick HTTP server• was wir wollen.. • Ruby EE • Apache2 • Phusion Passenger (mod_rails | mod_rack) • Puppetmaster09.03.12
  6. 6. Setup PuppetDie erste Konfigurationsandwichmaker:puppet felix$ vi fileserver.conf ... [files] 172.26.26.0/24 …sandwichmaker:puppet felix$ vi puppet.conf ... [master] ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY certname=puppetmaster.foo.org modulepath=/etc/puppet/modules ...09.03.12
  7. 7. File organisationDie Puppet module Struktursandwichmaker:testmodul root# tree.├── files...├── manifests...├── plugins│ └── puppet│ └── parser│ └── functions...└── templates...09.03.12
  8. 8. File organisationEine manifest Struktursandwichmaker:manifests root# tree -L 2.├── integration│ ├── basenodes│ ├── nodes-available│ └── nodes-enabled├── prelive│ ├── basenodes│ ├── nodes-available│ └── nodes-enabled├── production│ ├── basenodes│ ├── nodes-available│ └── nodes-enabled└── site.pp09.03.12
  9. 9. Node definitionsplain text nodes node default { include common } node /ftpd+/ inherits default { include ftp-module } node ftp01.bar.com inherits default { $network_config = { eth0 => { ipadd => "172.26.26.11", networkmask => "255.255.255.0", gateway => "172.26.26.1" } } include ftp-module include network }09.03.12
  10. 10. Node definitionsLDAP Nodes zusätzliche Konfiguration • puppet.conf [master] node_terminus = ldap ldapserver = foo.bar.com ldapbase = ou=hosts,dc=bar,dc=com Nodes hinzufügen und editieren # ldapvi --add -o top -o device -o puppetClient -b cn=base,ou=hosts,cn=bar,cn=com09.03.12
  11. 11. Node definitionsExternal Nodes zusätzliche Konfiguration • puppet.conf [master] node_terminus = exec external_nodes = /path/to/script.rb Nodes hinzufügen und editieren ...09.03.12
  12. 12. Der Client run… fast geschafftClient Modi:• Daemon Mode• Listen Mode• Singletime runWas macht puppet wann:• Wann passiert was• before und require• Was können wir machen wenn before und require nicht reichenBugs & Co09.03.12
  13. 13. Vielen Dank für Ihre Aufmerksamkeit!inovex GmbHPforzheim München KölnKarlsruher Straße 71 Valentin-Linhof-Str. 2 Kaiser-Wilhelm-Ring 27-29D-75179 Pforzheim D-81829 München D-50672 Köln Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.

×