Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
1. www.netways.de // blog.netways.de // @netways
Make IT do more with less
17.10.2013 | WEBINAR
KONFIGURATIONSMANAGEMENT MIT PUPPET
MARKUS WALDMÜLLER, GEORG MIMIETZ | NETWAYS GMBH
2. www.netways.de // blog.netways.de // @netways
Make IT do more with less
VORSTELLUNG MITARBEITER
■ Markus Waldmüller
• Senior Consultant
• Bei NETWAYS seit 2013
■ Georg Mimietz
• Account Manager
• Bei NETWAYS seit 2009
3. www.netways.de // blog.netways.de // @netways
Make IT do more with less
AGENDA
■ Kurzvorstellung NETWAYS
■ Kurzvorstellung Puppet Labs
■ Warum Konfigurationsmanagement?
■ Puppet Architektur
■ Puppet Enterprise
■ Puppet Open Source
■ The Foreman
■ Fragen & Antworten
5. www.netways.de // blog.netways.de // @netways
Make IT do more with less
KURZVORSTELLUNG NETWAYS
• Firmengründung 1995
• Open Source seit 1997
• 40 Mitarbeiter
• Spezialisierung in den Bereichen
Open Source Systems Management
und Open Source Datacenter
Infrastructure
• Puppet Partner seit 2009
6. www.netways.de // blog.netways.de // @netways
Make IT do more with less
NETWAYS KOMPETENZEN
• Monitoring & Reporting
• Konfigurationsmanagement
• Service Management
• Knowledge Management
• Backup & Recovery
• High Availability & Clustering
• Cloud Computing
• Load Balancing
• Virtualization
• Datenbanken
OPEN SOURCE
SYSTEMS MANAGEMENT
OPEN SOURCE
DATA CENTER
MANAGED SERVICES MONITORING HARDWARE KONFERENZEN
7. www.netways.de // blog.netways.de // @netways
Make IT do more with less
Open Source Monitoring Conference
• 23. – 24. Oktober 2013 in Nürnberg
• 250 Teilnehmer (2012)
• Monitoring Best Practices
• Noch wenige Plätze frei!
Puppet Camp 2013
• 28. November 2013 in München
• 110 Teilnehmer ( April 2013)
• Vorträge und Workshops
NETWAYS KONFERENZEN
9. www.netways.de // blog.netways.de // @netways
Make IT do more with less
UNSERE LEISTUNGEN IM ÜBERBLICK
• Workshops & Consulting zur Implementierung vor Ort
• Betrieb
• Komplette Umgebungen
• Puppet Master
• Entwicklungsleistungen
• Systemintegration
• Schulungen
• Standardisierte Schulungsmodule
• Individuell vor Ort
• Support
• Standardverträge
• Individuelle Supportkonzepte
• Puppet Camp
10. www.netways.de // blog.netways.de // @netways
Make IT do more with less
KURZVORSTELLUNG PUPPET LABS
QUICK STATS
INVESTORS
Radar
Partners
• Founded in 2005
• First commercial product release in 2011
• 3.5 milliondownloads in last 12 months
• ~10 million total nodes under management
• 6,000 Community Members
• 20,000+ Users
• 60,000+ Nodes managed in the largest
deployments
• Support for Red Hat, CentOS, Ubuntu, Debian,
SUSE, Solaris 10, Windows, Mac OS X
ECOSYSTEM
PARTNERS
11. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET USER
FINANCIAL TELCO/SP INTERNET TECH GOVERNMENT
DEFENSE EDUCATION MANUFACTURING RETAIL MEDIA
13. www.netways.de // blog.netways.de // @netways
Make IT do more with less
Golden Images
Fertige Pakete
WARUM KONFIGURATIONSMANAGEMENT?
Manuelle Konfiguration
Selbstgebaute Skripte
for i in $(cat host.cfg)
do
ssh user@$i uname -a
done
Häufig verwendete „Automatisierung“
18. www.netways.de // blog.netways.de // @netways
Make IT do more with less
FUNKTIONSWEISE VON PUPPET
1. Define: Mit der beschreibenden Sprache von Puppet
werden Beziehen zwischen Resourcen innerhalb von
wiederverwendbaren Modulen erstellt. Diese Module
definieren den gewünschten Zustand Ihrer Infrastruktur.
2. Simulate: Anhand dieser Resourcen
bietet Puppet die einzigartige Möglichkeit
Deployments zu simulieren. Dies ermöglicht
den Test der Änderungen, ohne die
bestehende Infrastruktur zu beeinträchtigen.
3. Enforce: Puppet vergleicht Ihr System
mit dem gewünschten Zustand, den Sie
definiert haben und sorgt automatisch dafür,
dass Ihr System den gewünschten Zustand
einhält.
4. Report: Das Puppet Dashboard zeigt die
Unterschiede zwischen definiertem und
gewünschtem Zustand und alle
durchgeführten Änderungen an. Dies
ermöglicht es Ihnen, alle Anforderungen an
Sicherheit und Compliance zu erfüllen. Und
mit der offenen API kann Puppet an 3rd
party Monitoring Tools angebunden werden.
service { ‘ssh’:
ensure => running,
enable => true,
subscribe => File[‘/etc/sshd_config’]
}
Desired StateCurrent State
19. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET WORKFLOW
SSL-Verschlüsselung
bei jedem
Datentransport
20. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET WORKFLOW
SSL-Verschlüsselung
bei jedem
Datentransport
Der Node sendet
normierte Daten
über sich selbst
an den Puppet
Master.
21. www.netways.de // blog.netways.de // @netways
Make IT do more with less
FACTER
■ Puppet nutzt Facter um Daten über das Hostsystem zu
sammeln
■ Facter gibt bei der Ausführung eine Liste von Key-Value
Paaren zurück:
22. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET WORKFLOW
SSL-Verschlüsselung
bei jedem
Datentransport
Der Node sendet
normierte Daten
über sich selbst
an den Puppet
Master. Puppet nutzt diese Daten um einen
Katalog zu erstellen, welcher festlegt,
wie der Node konfiguriert sein sollte.
23. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET DOMAIN SPECIFIC LANGUAGE (DSL)
■ Resource – Einzelner Baustein
• Jede Resource hat einen type, einen title und einen
Satz an Attributen mit Werten
Hauptresourcen: user, group, host, cron, exec, file,
package, service
24. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET DOMAIN SPECIFIC LANGUAGE (DSL)
■ Manifest – Puppet Datei mit Endung .pp
Möglichkeiten:
• Statische Dateien
• Dateien mit dynamischem Inhalt (ERB Templates)
• Custom Facts
• Sprachkonstrukte (Variablen, Arrays, Selektionen, case,
if/else/elsif)
• Abhängigkeiten (require, subscribe, before, notify)
25. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET DOMAIN SPECIFIC LANGUAGE (DSL)
■ Klasse – Zusammenfassung von Resourcen
26. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET DOMAIN SPECIFIC LANGUAGE (DSL)
■ Module – Zusammenfassung mehrerer Klassen und
zugehörigen Dateien in einem Verzeichnis
modulname
|-- examples – Beispielmanifeste (Alternative: tests)
|-- files – statische Dateien
|-- lib – Custom Facts und Custom Resourcen
|-- manifests – Manifeste eines Moduls (Klassen)
|-- spec – Debugging mit rspec-puppet
|-- templates – Templates für dynamische Dateien
|-- tests – Beispielmanifeste (Alternative: examples)
27. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET DOMAIN SPECIFIC LANGUAGE (DSL)
■ Node Deklaration – Modulzuweisung über site.pp
• Einzelner Host:
• Mehrere Hosts:
• Standardzuweisung:
• Weitere Abstraktionen (Profile, Rollen, etc.)
28. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET DOMAIN SPECIFIC LANGUAGE (DSL)
Weitere Möglichkeiten:
• Unterklassen
• Klassenparametrisierung
• Funktionen (Logging, Hiera, etc.)
• Klassenvererbung
• Environments, Stages, etc.
29. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET WORKFLOW
SSL-Verschlüsselung
bei jedem
Datentransport
Der Node sendet
normierte Daten
über sich selbst
an den Puppet
Master. Puppet nutzt diese Daten um einen
Katalog zu erstellen, welcher festlegt,
wie der Node konfiguriert sein sollte.
Der Node meldet Konfigurations-
änderungen an den Puppet Master
zurück. Diese werden beispielsweise
über das Puppet Dashboard sichtbar.
30. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET WORKFLOW
SSL-Verschlüsselung
bei jedem
Datentransport
Der Node sendet
normierte Daten
über sich selbst
an den Puppet
Master. Puppet nutzt diese Daten um einen
Katalog zu erstellen, welcher festlegt,
wie der Node konfiguriert sein sollte.
Der Node meldet Konfigurations-
änderungen an den Puppet Master
zurück. Diese werden beispielsweise
über das Puppet Dashboard sichtbar.
Puppets offene API kann die Daten
auch an 3rd party Tools senden.
Puppet oder 3rd party Tool
32. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET ENTERPRISE
■ Kommerzielle Variante von Puppet
■ Bis 10 Nodes kostenfrei
■ Vorteile Puppet Enterprise
• GUI mit rollenbasierter Zugriffskontrolle (Puppet
Enterprise Console)
• Aufeinander abgestimmte Pakete (inkl. Ruby, Apache
ActiveMQ, etc.)
• Support durch Puppet Labs
• Fest definierter Upgrade-Pfad
33. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET ENTERPRISE
■ Unterstützte Betriebssysteme:
• Red Hat Enterprise Linux (RHEL) 4*, 5, 6
• Windows* Server 2003/2008 R2/2012, Windows* 7
• Ubuntu 10.04 LTS & 12.04 LTS
• Debian 6, 7
• Solaris* 10
• SLES 11 SP1 oder größer
• Scientific Linux 4*, 5, 6
• CentOS 4*, 5, 6
• Oracle Linux 4*, 5, 6
• AIX* 5.3, 6.1, 7.1
34. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET ENTERPRISE CONSOLE
■ Fähigkeiten:
• Aufnahme von Nodes
• Zuweisung von Puppetklassen an Nodes und Gruppen
• Reports und Aktivitätsberichte
• Initialisierung von Puppetläufen
• Noderesourcen anzeigen und vergleichen
• Anzeige von Bestandsdaten
• Orchestrierungsaktionen (MCollective)
• Verwaltung von GUI-Benutzern und deren
Zugriffsrechten
38. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET OPEN SOURCE
■ Puppet ist – bis auf die Enterprise GUI – komplett als
jeweiliges Open Source Paket verfügbar
■ Lizenziert unter Apache License 2.0
■ Support und Unterstützung durch Dienstleister
■ Frontends:
• Foreman
• Puppet Dashboard
40. www.netways.de // blog.netways.de // @netways
Make IT do more with less
FOREMAN
■ Lifecycle-Management Tool
■ Für physikalische und virtuelle Server
■ Open Source Dashboard mit Puppet-Integration
42. www.netways.de // blog.netways.de // @netways
Make IT do more with less
FOREMAN OVERVIEW
■ User Management
• Interne und externe (LDAP/AD) Authentifizierung
• Verschiedene Berechtigungsstufen (Hostgruppen,
Domains, Facts, etc.)
■ Provisionierung
• Vollautomatische Installationen
■ Orchestrierung & Konfigurationsmanagement
• Puppet-Anbindung inkl. External Node Classifier,
Parametrisierte Klassen und Unterstützung für Hiera
■ Monitoring & Reporting
• Grafische Aufbereitung
43. www.netways.de // blog.netways.de // @netways
Make IT do more with less
FOREMAN PROVISONING
■ Provisionierung
• Private und public Clouds
• Bare-Metal
• PXE oder Image-basiert (API)
• DNS/DHCP/TFTP/Puppet-Management via Smart-
Proxy
• Kickstart und Preesed-Templates
• Unterstützt alle gängigen Betriebssysteme (Red Hat,
CentOS, Fedora, Ubuntu, Debian, Solaris, OPENSuse)
44. www.netways.de // blog.netways.de // @netways
Make IT do more with less
FOREMAN CONFIGURATION
■ Puppet-Anbindung
• Unterstützung für mehrere Puppet Umgebungen
• Verknüpfung von Hosts mit Modulen
• Gruppierung von Hosts
• Parametrisierung von Klassen
• Automatische Installation des Puppet Agents
• Bearbeitung von Puppet Zertifikaten
• Initialisierung von Puppet Runs
45. www.netways.de // blog.netways.de // @netways
Make IT do more with less
FOREMAN MONITORING & REPORTING
■ Monitoring & Reporting
• Puppet Reports
• Puppet Facts
• Host Konfigurationen
• Status
• Verteilung
• Trends
49. www.netways.de // blog.netways.de // @netways
Make IT do more with less
PUPPET DASHBOARD
■ Open Source Dashboard
■ Reportanalyse
■ Anzeige von Inventarisierungsdaten
■ Verknüpfung von Hosts mit Modulen
■ Gruppierung von Hosts