Enviar búsqueda
Cargar
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
•
0 recomendaciones
•
464 vistas
SpeedPartner GmbH
Seguir
Date: 2012-03-01 Location: München, Germany Event: GUUG Frühjahrsfachgespräch 2012
Leer menos
Leer más
Denunciar
Compartir
Denunciar
Compartir
1 de 34
Descargar ahora
Descargar para leer sin conexión
Recomendados
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
SpeedPartner GmbH
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
SpeedPartner GmbH
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
SpeedPartner GmbH
Bizkaia castellano 2015-16
Bizkaia castellano 2015-16
Maite Adbeitia
Engagement mit Wirkung - Die PHINEO-Analysemethode im Detail
Engagement mit Wirkung - Die PHINEO-Analysemethode im Detail
PHINEO gemeinnützige AG
Aula libre Estudio de la red escolar de la ciudad de Cádiz. Dinero público pa...
Aula libre Estudio de la red escolar de la ciudad de Cádiz. Dinero público pa...
Wally Rupérez
Seguridad en las_redes_sociales
Seguridad en las_redes_sociales
Edgar0622
Elternabend 2013
Elternabend 2013
KitaGrossenmarpe
Recomendados
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
SpeedPartner GmbH
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
SpeedPartner GmbH
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
SpeedPartner GmbH
Bizkaia castellano 2015-16
Bizkaia castellano 2015-16
Maite Adbeitia
Engagement mit Wirkung - Die PHINEO-Analysemethode im Detail
Engagement mit Wirkung - Die PHINEO-Analysemethode im Detail
PHINEO gemeinnützige AG
Aula libre Estudio de la red escolar de la ciudad de Cádiz. Dinero público pa...
Aula libre Estudio de la red escolar de la ciudad de Cádiz. Dinero público pa...
Wally Rupérez
Seguridad en las_redes_sociales
Seguridad en las_redes_sociales
Edgar0622
Elternabend 2013
Elternabend 2013
KitaGrossenmarpe
prueba
prueba
Ivan Alvarado
PARA PADRES Y MADRES DE 2º DE BACHILLERATO
PARA PADRES Y MADRES DE 2º DE BACHILLERATO
Maite Adbeitia
Informática II Internet
Informática II Internet
leopt
1ºp.arv.trestrimestres
1ºp.arv.trestrimestres
Beatriz Martinez
Sichere IT-Systeme
Sichere IT-Systeme
Sven Wohlgemuth
Despues de la eso 13 14
Despues de la eso 13 14
Maite Adbeitia
Introduccion a la informática
Introduccion a la informática
leopt
Präsentation DGHD 2014 von Andrea Lißner und Marlen Dubrau
Präsentation DGHD 2014 von Andrea Lißner und Marlen Dubrau
Saxon Open Online Course
Art of Signs - FAHRZEUGFOLIERUNG
Art of Signs - FAHRZEUGFOLIERUNG
ke1k0
2ºbachillerato artaza romo, 15-16
2ºbachillerato artaza romo, 15-16
Maite Adbeitia
Sala de dos regalo
Sala de dos regalo
Mariano Chiarella
Material de laboratorio
Material de laboratorio
Ivan Ortiz Valdes
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
leopt
Binder1
Binder1
togopark
Newsletter wipp aug13
Newsletter wipp aug13
StudioInhalte
Soziale Netzwerke für die Generation 50plus
Soziale Netzwerke für die Generation 50plus
Wizelife AG
Els sentits dels sentits
Els sentits dels sentits
itziararruebo4431
Seguridad en las redes sociales
Seguridad en las redes sociales
Edgar0622
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
NETWAYS
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
SpeedPartner GmbH
AdminCamp 2011 Performance
AdminCamp 2011 Performance
Ulrich Krause
Linux-Server mit Open-Source-Tools automatisieren
Linux-Server mit Open-Source-Tools automatisieren
Christian Kauhaus
Más contenido relacionado
Destacado
prueba
prueba
Ivan Alvarado
PARA PADRES Y MADRES DE 2º DE BACHILLERATO
PARA PADRES Y MADRES DE 2º DE BACHILLERATO
Maite Adbeitia
Informática II Internet
Informática II Internet
leopt
1ºp.arv.trestrimestres
1ºp.arv.trestrimestres
Beatriz Martinez
Sichere IT-Systeme
Sichere IT-Systeme
Sven Wohlgemuth
Despues de la eso 13 14
Despues de la eso 13 14
Maite Adbeitia
Introduccion a la informática
Introduccion a la informática
leopt
Präsentation DGHD 2014 von Andrea Lißner und Marlen Dubrau
Präsentation DGHD 2014 von Andrea Lißner und Marlen Dubrau
Saxon Open Online Course
Art of Signs - FAHRZEUGFOLIERUNG
Art of Signs - FAHRZEUGFOLIERUNG
ke1k0
2ºbachillerato artaza romo, 15-16
2ºbachillerato artaza romo, 15-16
Maite Adbeitia
Sala de dos regalo
Sala de dos regalo
Mariano Chiarella
Material de laboratorio
Material de laboratorio
Ivan Ortiz Valdes
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
leopt
Binder1
Binder1
togopark
Newsletter wipp aug13
Newsletter wipp aug13
StudioInhalte
Soziale Netzwerke für die Generation 50plus
Soziale Netzwerke für die Generation 50plus
Wizelife AG
Els sentits dels sentits
Els sentits dels sentits
itziararruebo4431
Seguridad en las redes sociales
Seguridad en las redes sociales
Edgar0622
Destacado
(18)
prueba
prueba
PARA PADRES Y MADRES DE 2º DE BACHILLERATO
PARA PADRES Y MADRES DE 2º DE BACHILLERATO
Informática II Internet
Informática II Internet
1ºp.arv.trestrimestres
1ºp.arv.trestrimestres
Sichere IT-Systeme
Sichere IT-Systeme
Despues de la eso 13 14
Despues de la eso 13 14
Introduccion a la informática
Introduccion a la informática
Präsentation DGHD 2014 von Andrea Lißner und Marlen Dubrau
Präsentation DGHD 2014 von Andrea Lißner und Marlen Dubrau
Art of Signs - FAHRZEUGFOLIERUNG
Art of Signs - FAHRZEUGFOLIERUNG
2ºbachillerato artaza romo, 15-16
2ºbachillerato artaza romo, 15-16
Sala de dos regalo
Sala de dos regalo
Material de laboratorio
Material de laboratorio
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
Binder1
Binder1
Newsletter wipp aug13
Newsletter wipp aug13
Soziale Netzwerke für die Generation 50plus
Soziale Netzwerke für die Generation 50plus
Els sentits dels sentits
Els sentits dels sentits
Seguridad en las redes sociales
Seguridad en las redes sociales
Similar a System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
NETWAYS
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
SpeedPartner GmbH
AdminCamp 2011 Performance
AdminCamp 2011 Performance
Ulrich Krause
Linux-Server mit Open-Source-Tools automatisieren
Linux-Server mit Open-Source-Tools automatisieren
Christian Kauhaus
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
OPITZ CONSULTING Deutschland
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
inovex GmbH
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für Panorama
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für Panorama
Peter Ramm
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
OPITZ CONSULTING Deutschland
Sensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle Datenbank
Ulrike Schwinn
Regelbasierte Systeme mit JBoss Drools
Regelbasierte Systeme mit JBoss Drools
Andreas Schreiber
[DE] Workflow vom mainframe ins internet | Dr. Ulrich Kampffmeyer | Safe Tagu...
[DE] Workflow vom mainframe ins internet | Dr. Ulrich Kampffmeyer | Safe Tagu...
PROJECT CONSULT Unternehmensberatung Dr. Ulrich Kampffmeyer GmbH
Puppet - Module entwickeln - Von der Planung bis zur Umsetzung
Puppet - Module entwickeln - Von der Planung bis zur Umsetzung
inovex GmbH
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
Gunther Pippèrr
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?
FromDual GmbH
Puppet: Designing modules & repositories
Puppet: Designing modules & repositories
inovex GmbH
Share train 27 juni 2011
Share train 27 juni 2011
Samuel Zürcher
Über Rechte/Rollen und den sicheren Betrieb der Datenbank
Über Rechte/Rollen und den sicheren Betrieb der Datenbank
Gunther Pippèrr
Plm Open Hours - Ersatzteilkataloge und Produktdokumentation
Plm Open Hours - Ersatzteilkataloge und Produktdokumentation
Intelliact AG
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003
Jürg Stuker
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
Samuel Zürcher
Similar a System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
(20)
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
AdminCamp 2011 Performance
AdminCamp 2011 Performance
Linux-Server mit Open-Source-Tools automatisieren
Linux-Server mit Open-Source-Tools automatisieren
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für Panorama
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für Panorama
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
Sensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle Datenbank
Regelbasierte Systeme mit JBoss Drools
Regelbasierte Systeme mit JBoss Drools
[DE] Workflow vom mainframe ins internet | Dr. Ulrich Kampffmeyer | Safe Tagu...
[DE] Workflow vom mainframe ins internet | Dr. Ulrich Kampffmeyer | Safe Tagu...
Puppet - Module entwickeln - Von der Planung bis zur Umsetzung
Puppet - Module entwickeln - Von der Planung bis zur Umsetzung
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?
Puppet: Designing modules & repositories
Puppet: Designing modules & repositories
Share train 27 juni 2011
Share train 27 juni 2011
Über Rechte/Rollen und den sicheren Betrieb der Datenbank
Über Rechte/Rollen und den sicheren Betrieb der Datenbank
Plm Open Hours - Ersatzteilkataloge und Produktdokumentation
Plm Open Hours - Ersatzteilkataloge und Produktdokumentation
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
Más de SpeedPartner GmbH
Professional reports with SVG
Professional reports with SVG
SpeedPartner GmbH
Secure PHP environment
Secure PHP environment
SpeedPartner GmbH
XUL - The future of user-interfaces on the web
XUL - The future of user-interfaces on the web
SpeedPartner GmbH
PHP-Applikationen mit PEAR
PHP-Applikationen mit PEAR
SpeedPartner GmbH
PHP-Entwicklung mit PEAR
PHP-Entwicklung mit PEAR
SpeedPartner GmbH
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
SpeedPartner GmbH
Web-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnish
SpeedPartner GmbH
News from PEAR
News from PEAR
SpeedPartner GmbH
PEAR - An introduction
PEAR - An introduction
SpeedPartner GmbH
Suchmaschinen-Optimierung
Suchmaschinen-Optimierung
SpeedPartner GmbH
.EU – eine neue Top-Level-Domain
.EU – eine neue Top-Level-Domain
SpeedPartner GmbH
Leben und Arbeiten in einer Community
Leben und Arbeiten in einer Community
SpeedPartner GmbH
Sicherer Wegweiser im Internet: DNSSEC im praktischen Einsatz
Sicherer Wegweiser im Internet: DNSSEC im praktischen Einsatz
SpeedPartner GmbH
Web-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnish
SpeedPartner GmbH
Sicherer Wegweiser im Internet: DNSSEC im praktischen Einsatz
Sicherer Wegweiser im Internet: DNSSEC im praktischen Einsatz
SpeedPartner GmbH
Deploying IPv6 - planning, common pitfalls and security-considerations
Deploying IPv6 - planning, common pitfalls and security-considerations
SpeedPartner GmbH
Explanation of the TYPO3 Integrator Certification
Explanation of the TYPO3 Integrator Certification
SpeedPartner GmbH
Más de SpeedPartner GmbH
(17)
Professional reports with SVG
Professional reports with SVG
Secure PHP environment
Secure PHP environment
XUL - The future of user-interfaces on the web
XUL - The future of user-interfaces on the web
PHP-Applikationen mit PEAR
PHP-Applikationen mit PEAR
PHP-Entwicklung mit PEAR
PHP-Entwicklung mit PEAR
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
Web-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnish
News from PEAR
News from PEAR
PEAR - An introduction
PEAR - An introduction
Suchmaschinen-Optimierung
Suchmaschinen-Optimierung
.EU – eine neue Top-Level-Domain
.EU – eine neue Top-Level-Domain
Leben und Arbeiten in einer Community
Leben und Arbeiten in einer Community
Sicherer Wegweiser im Internet: DNSSEC im praktischen Einsatz
Sicherer Wegweiser im Internet: DNSSEC im praktischen Einsatz
Web-Performance-Optimierung mit varnish
Web-Performance-Optimierung mit varnish
Sicherer Wegweiser im Internet: DNSSEC im praktischen Einsatz
Sicherer Wegweiser im Internet: DNSSEC im praktischen Einsatz
Deploying IPv6 - planning, common pitfalls and security-considerations
Deploying IPv6 - planning, common pitfalls and security-considerations
Explanation of the TYPO3 Integrator Certification
Explanation of the TYPO3 Integrator Certification
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
1.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 1 / 34© SpeedPartner GmbH System-Management-Trio Zentrale Verwaltung mit facter, puppet und augeas
2.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 2 / 34© SpeedPartner GmbH Über den Vortrag Aufbau / Ziele: ● Einführung / Überblick ● Begriffsklärung ● Aufbau / Arbeitsweise von Manifests ● Templates, Klassen, Typen, Module ● Facter: Umgebungsparameter ermitteln ● Augeas: Konfigurationen bearbeiten ● Client-Server-Betrieb ● Arbeit mit mehreren Umgebungen ● Links / Hilfen
3.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 3 / 34© SpeedPartner GmbH Über mich ● Stefan Neufeind ● Mit-Geschäftsführer der SpeedPartner GmbH aus Neuss ein Internet-Service-Provider (ISP) ● Individuelle TYPO3-Entwicklungen ● Hosting, Housing, Managed Services ● Domains / Domain-Services ● IPv6, DNSSEC, ... ● Aktive Mitarbeit im Community-Umfeld (PHP/PEAR, TYPO3, Linux) ● Freier Autor für z.B. t3n, iX, Internet World, ...
4.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 4 / 34© SpeedPartner GmbH Aufgabenstellung Alltägliche Administrationsaufgaben für ein (Server-)System Basisinstallation Einrichtung / Konfiguration Individuelle Anpassungen Fehlersuche / Fehlerkorrektur Zugänge Netzwerk Backup Systemstatistiken Monitoring Virtuell? Architektur RAID?Aufgaben Fehler bei Ausführung von „Standard-Aufgaben“? Fehler durch die „Sonderlösungen“? Konzeptfehler?
5.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 5 / 34© SpeedPartner GmbH Aufgabenstellung Herausforderungen bei Administration mehrerer Systeme ● Einsparungen (Zeit und Kosten) ● Minimierung von Fehlern ● Einheitliche Konfiguration ● Einfache Anpassbarkeit ● Zentral? ● Automatisiert? Umsetzung erfordert: ● Klare Regeln / Entscheidungsgrundlagen ● Abgleich Vorgaben und Realität ● Strukturierte Herangehensweise ● Unterstützung durch geeignete Hilfsmittel
6.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 6 / 34© SpeedPartner GmbH Vorstellung System-Management-Trio Das „System-Management-Trio“ bestehend aus: ● Puppet ● Facter ● Augeas ● Zentrale Komponente ● Definiert Regeln, Abhängigkeiten, Aktionen, ... ● Vorgaben basierend auf Fakten ● Abgleich Planung / Vorgaben und Realität ● Liefert „Fakten“ für Puppet ● Ermittelt Umgebungsparameter ● Bereitstellung in einheitlicher Form ● Anpassung von Konfigurationen ● Abstraktion für Zugriff auf Konfigurationseinstellungen
7.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 7 / 34© SpeedPartner GmbH Vorstellung System-Management-Trio Zentrale Begriffe im puppet-Umfeld: ● Manifests: ● „Verzeichnis“ von Objekten, Eigenschaften und Beziehungen ● Dateiendung: .pp ● Ressourcen: ● Definition über den „Ressource abstraction layer“ (RAL) ● Beziehen sich auf Entsprechungen im System ● Unabhängig z.B. vom verwendeten Paketmanager ● Zentrale Ressourcentypen: Dateien, Pakete, Dienste, Benutzer/Gruppen ● Bestehend aus einem „Titel“ und „Attributen“ ● Jede Ressource eindeutig ● Modellierung von Abhängigkeiten, Reihenfolge der Definition beliebig ● Puppet auto-generiert sinnvolle Reihenfolgen (z.B. erst Verzeichnisse anlegen, dann darin enthaltene Dateien) ● Knoten („nodes“): ● Sammlung von Ressourcen
8.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 8 / 34© SpeedPartner GmbH Vorstellung System-Management-Trio Zentrale Begriffe im puppet-Umfeld: ● Templates: ● Vorlagen für Ressourcentyp Datei („file“) ● Ausgabe auf Basis von Variablen (Fakten), Kontrollstrukturen und umgebeneder Notation ● Notation mit Hilfe von ERB (eine Implementierung von „embedded ruby“, auch eRuby genannt) ● Module: ● Sammlung von Code und Daten ● Einheitliche Verzeichnis-/Dateistruktur ● Wiederverwendbar ● Fertige Module für verschiedene Einsatzzwecke verfügbar (siehe z.B. auf „Puppet Forge“)
9.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 9 / 34© SpeedPartner GmbH Manifests und Ressourcen Notation in „Manifests“: ● Puppet-eigene Syntax ● Zeichenketten in einfachen Hochkommata ('...') oder Anführungszeichen (“...”) ● Hochkommata: keine weitere Verarbeitung der Inhalte ● Anführungszeichen: Ersetzung von z.B. Zeilenumbrüche (“n”), Variablen (“${fileame}”) oder Platzhaltern (wie z.B. $0, $1, ... bei der Verwendung von regulären Ausdrücken) ● Listen von Werten (Arrays): in eckigen Klammern, Werte mittels Kommas getrennt file { '/etc/my.cnf': ensure => file, mode => 600, source => '/home/demo/my.cnf', } Ressourcen-Typ gefolgt von Block in geschweifte Klammern Block mit eindeutigem Titel (je Ressourcen-Typ) gefolgt von Doppelpunkt Definierte Werte / Zahlen ohne Klammerung Notation mit key => value Attribute mit Komma getrennt
10.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 10 / 34© SpeedPartner GmbH Manifests und Ressourcen Arbeitsweise von „Manifests“: ● Definitionen von Eigenschaften, keine sequentielle „Abarbeitung“ / Reihenfolge ● Keine Löschung / Überschreibung von einmal definierten Ressourcen oder zugewiesene Variablen ● Compiler löst vor Anwendung der Definitionen etwaige Bedingungen auf ● Notwendige Reihenfolge (Abhängigkeiten) von Ressourcen bei Definition von Ressourcen angeben Beispiel: Installation eines Pakets Anpassung Konfigurationsdateien Starten zugehöriger Dienste
11.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 11 / 34© SpeedPartner GmbH Manifests und Ressourcen Abhängigkeiten zwischen Ressourcen: ● Definitionen über Meta-Parameter innerhalb Ressourcen-Definitionen ● 'before': diese Ressource vor der angegebenen berücksichtigen ● 'require': diese Ressource nach der angegebenen berücksichtigen ● 'notify': ein/mehrere andere Ressourcen benachrichtigen (sofern Änderungen durchgeführt wurden) ● 'subscribe': auf Änderungen einer anderen Ressource reagieren ● Explizite Definition (separate Zeile in Manifest) ● Angabe einer Reihenfolge (Pfeil mit Bindestrich) ● Angabe einer Benachrichtigung (Pfeil mit Tilde) package { 'mysql-server': } -> file { '/etc/my.cnf': }
12.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 12 / 34© SpeedPartner GmbH Manifests und Ressourcen Das erste Manifest: ● Notation in einer beliebigen Datei (hier: demo1.pp) ● Anwenden des Manifest auf das System package { 'mysql-server': ensure => present, } file { '/etc/my.cnf': ensure => file, mode => 600, source => '/home/demo/my.cnf', } service { 'mysqld': ensure => running, enable => true, hasrestart => true, hasstatus => true, subscribe => File['/etc/my.cnf'], require => Package['mysql-server'], } puppet apply demo1.pp Dienst soll (aktuell) gestartet sein Dienst soll automatisch starten Startskripte unterstützen „restart“ / „status“ Bei Änderungen an Datei restart Paket muss installiert sein
13.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 13 / 34© SpeedPartner GmbH Facter Fakten und Entscheidungen: ● Testweise händischer Aufruf von „Facter“ für Übersicht Eigenschaften (Auszug) # facter architecture => x86_64 augeasversion => 0.9.0 domain => example.com facterversion => 1.6.5 fqdn => demohost.example.com hostname => demohost is_virtual => true virtual => kvm kernel => Linux kernelmajversion => 2.6 kernelrelease => 2.6.32-220.4.2.el6.x86_64 kernelversion => 2.6.32 manufacturer => Red Hat operatingsystem => CentOS operatingsystemrelease => 6.2 osfamily => RedHat physicalprocessorcount => 4 processorcount => 4 uptime_hours => 136 uptime_seconds => 490098
14.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 14 / 34© SpeedPartner GmbH Facter Fakten und Entscheidungen: ● Facter ermittelt Fakten über das System ● Facter-Module stellen Daten in Variablen zur Verfügung ● Fakten können für Entscheidungen innerhalb des Manifest genutzt werden ● Standardoperationen (==, !=, <, >, <=, >=) ● Reguläre Ausdrücke (=~ und !~) ● „in“-Operator (Prüfung gegen eine Liste von Werten) case $operatingsystem { centos, redhat, fedora: { $nameserver = "named" } debian: { $nameserver = "bind9" } default: { fail("Unknown OS") } } $nameserver = $operatingsystem ? { centos => 'named', redhat => 'named', fedora => 'named', debian => 'bind9', default => undef, } ● Mehrfach-Entscheidung per „case“ ● Selektoren (ähnlich ternären Operatoren aus anderen Sprachen)
15.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 15 / 34© SpeedPartner GmbH Manifests und Ressourcen Pfade: ● Bis hier nur Manifest-Dateien im aktuellen Pfad bzw. mit absoluter Adressierung verwendet ● Empfehlung: Angaben relativ zum puppet Modul-Pfad ● System-unabhängig ● Transparent für spätere Verwendung von puppet im Client-/Server-Modus ● Ermittlung Pfad für Manifests: Alternativ: z.B. gesamte Konfiguration über Schlüsselwort „all“ ermitteln ● Umstellung Adressierung auf relative Angaben, z.B. für Template-Dateien # puppet apply --configprint manifestdir source => 'puppet:///files/etc/my.cnf'
16.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 16 / 34© SpeedPartner GmbH Manifests und Ressourcen Klassen: ● Zusammenfassung wiederverwendbarer Definitionen ● Definierte Klassen dann noch als Ressourcen einbinden ● Einbindung per „class“ oder „include“ ● Übergabe von Parametern bei Verwendung von „class“-Notation möglich ● Autoloader: Klassen (und Module) werden automatisch geladen ● Konvention: Verzeichnis „classes“, Dateiname „klassenname.pp“ # Klasse definieren class db { # Definitionen innerhalb Klasse wie gewohnt } # Klasse einbinden class { 'db': } # Alternativ per include include db
17.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 17 / 34© SpeedPartner GmbH Manifests und Ressourcen Klassen und Variablen: ● Variablen innerhalb Klasse bilden separaten Geltungsbereich („Scope“) ● Falls Variable nicht im aktuellen „Scope“ auffindbar Rückgriff auf übergeordnete Ebene ● Klassenvariablen von außerhalb per voll qualifiziertem Namen erreichbar, Notation mit zwei Doppelpunkten, z.B. $db::variable ● Aus Klasse expliziter Zugriff auf globale Variablen möglich, die z.B. per facter bereitgestellt werden: $::operatingsystem Parametrisierte Klassen: ● Erlaubt Übergabe von Werten # Definition class db ($dbname, $servername = 'localhost') { ... } # Einbindung als Ressource class {'db': $dbname => 'demodb', }
18.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 18 / 34© SpeedPartner GmbH Manifests und Ressourcen Definition von Typen: ● Problem: Je Ressource nur eine eindeutige Definition möglich. Wie einfache „Mehrfach-Nutzung“? ● Lösung: Eindeutige Definitionen verwenden. Arbeitserleichterung durch Verwendung von Typen. ● Ansatz: Ressourcen benötigen pro Ressourcen-Typ eindeutigen Titel define sshkeys ($user = $title, $content) { file {"${user}/keys": path => "/home/${user}/.ssh/authorized_keys", ensure => file, content => $content, mode => 0644, owner => $user, require => User[$user], } } # Verwendung sshkeys { 'joeuser': content => '...' } beliebiger, eindeutiger Titel
19.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 19 / 34© SpeedPartner GmbH Manifests und Ressourcen Module: ● Fassen Code und Daten zusammen ● Leichte Wiederverwendbarkeit ● Modul-Sammlung z.B. bei „Puppet Forge“ (siehe Hersteller-Website) verfügbar ● Automatische Initialisierung innerhalb Moduls durch init-Manifest ● Einheitliche Struktur: {module}/ files/ lib/ manifests/ init.pp {class}.pp {namespace}/ {class}.pp templates/ tests/ automatisch geladen, ermöglicht weitere Initialisierungen
20.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 20 / 34© SpeedPartner GmbH Manifests und Ressourcen Templates: ● Ermöglicht Dateiinhalte mit (teilweise) dynamischen Inhalten ● Verwendung von ERB-Notation (Implementierung von „embedded ruby“, auch eRuby genannt) ● Code innerhalb spitzer Klammern mit Prozentzeichen ● Kurzschreibweise zur Ausgabe von Variablen / Ausdrücken: Gleichheitszeichen am Anfang ● Schleife zur Ausgabe über ein Array ● Definition Werte in Manifest: ● Ausgabe im Template: <% ...ruby-Code... %> <%= hostname %> $servernamen = ['server1', 'server2', 'server3', ] <% serversnamen.each do |srv| -%> <%= srv %> <% end -%>
21.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 21 / 34© SpeedPartner GmbH Augeas Konfigurationsdateien bearbeiten: ● Einheitliche, hierarchische Sicht auf verschiedene Konfigurationsformate ● Unterstützung von Dateien/Formaten über passende „Linsen“ („lenses“) ● Zugriff / Änderung von relevanter Teile einfach, Rest bleibt unberührt # augtool augtool> print /files/etc/php.ini [...] /files/etc/php.ini/PHP/expose_php = "On" /files/etc/php.ini/PHP/max_execution_time = "30" /files/etc/php.ini/PHP/max_input_time = "60" /files/etc/php.ini/PHP/max_input_vars = "1000" /files/etc/php.ini/PHP/memory_limit = "128M" /files/etc/php.ini/PHP/error_reporting = "E_ALL & ~E_DEPRECATED" /files/etc/php.ini/PHP/display_errors = "Off" /files/etc/php.ini/PHP/display_startup_errors = "Off" /files/etc/php.ini/PHP/log_errors = "On" /files/etc/php.ini/PHP/log_errors_max_len = "1024" /files/etc/php.ini/mail function /files/etc/php.ini/mail function/SMTP = "localhost" /files/etc/php.ini/mail function/smtp_port = "25" /files/etc/php.ini/mail function/sendmail_path = "/usr/sbin/sendmail -t -i" augtool> set /files/etc/php.ini/PHP/expose_php Off
22.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 22 / 34© SpeedPartner GmbH Augeas Konfigurationsdateien bearbeiten: ● Integration von augeas in puppet verfügbar class php { package { ['php','php-mysql','php-gd','php-pdo'] : ensure => installed, } augeas { "/etc/php.ini": context => "/files/etc/php.ini", changes => [ "set PHP/expose_php off", "set mail function/mail.add_x_header off", "set Date/date.timezone Europe/Berlin", "set PHP/display_errors on", "set PHP/error_reporting E_ALL & ~E_NOTICE", "set PHP/memory_limit 128M", "set PHP/post_max_size 64M", "set PHP/upload_max_filesize 64M", "set PHP/max_execution_time 180", "set Session/session.save_path /tmp", ], notify => [ Service['httpd'] ], } }
23.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 23 / 34© SpeedPartner GmbH Facter für Fortgeschrittene Fakten schaffen: ● Erweiterung der facter-Funktionalität über eigene Module möglich ● Werte stehen in puppet in Variablen zur Verfügung ● Beispielskript zur (simplen) Ermittlung aller Laufwerke unterhalb eigenen Modulpfads ablegen, etwa modules/mymodules/lib/facter/harddrives.rb Facter.add(:harddrives) do setcode do Facter::Util::Resolution.exec("ls /dev/sd? /dev/hd? 2>/dev/null | tr -s 'n' ','") end end
24.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 24 / 34© SpeedPartner GmbH Facter für Fortgeschrittene Fakten schaffen: ● Beispielskript zur Erkennung Hard-/Software-RAID Facter.add("raidtype") do confine :kernel => :linux ENV["PATH"]="/bin:/sbin:/usr/bin:/usr/sbin" setcode do raidtype = [] if FileTest.exists?("/proc/mdstat") txt = File.read("/proc/mdstat") raidtype.push("software ") if txt =~ /^md/i End lspciexists = system "/bin/bash -c 'which lspci >&/dev/null'" if $?.exitstatus == 0 output = %x{lspci} output.each { |s| raidtype.push("hardware ") if s =~ /RAID/i } end raidtype end end
25.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 25 / 34© SpeedPartner GmbH Puppet im Client/Server-Einsatz Vorteile: ● Zentrale Verwaltung von Definitionen und Regeln ● Zentrale Ablage der „Fakten“ für alle Systeme ● Bildung von Gruppen möglich (alle Webserver, alle Server mit bestimmtem Hostnamen-Schema, ...) Konfiguration Server: ● Installation Server-Paket „puppet“, inkl. facter und (optional) augeas ● CentOS, RedHat, Fedora: Paket „puppet-server“, bei Debian „puppetmaster“ ● Laden aller Definitionen für Nodes und Klassen, z.B. über Einträge in /etc/puppet/manifests/site.pp vornehmen ● Je Node eine Datei im nodes-Verzeichnis anlegen für Definition von Ressourcen, Verwendung von Klassen, ... import "nodes/*.pp" import "classes/*.pp" node "testclient.example.com" { include basenode }
26.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 26 / 34© SpeedPartner GmbH Puppet im Client/Server-Einsatz Konfiguration Server: ● Klassen können dann beispielsweise weitere Klassen includen oder Ressourcen definieren ● Ablegen aller weiteren benötigten Dateien auf dem Server (files, templates, ...) ● Verwendung von puppet:// URLs für Zugriff auf Dateien vom Server ● puppetmaster-Daemon starten :-) class basenode { if ($mta == '') { $mta = 'postfix' } include basepackages, crond, puppet, sshd, logrotate, logwatch, collectd, mailalias, nrpe if ($is_virtual == "false") { include ntp include lm_sensors include dns_resolver } }
27.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 27 / 34© SpeedPartner GmbH Puppet im Client/Server-Einsatz Client-Server-Verbindung: ● Puppet auf Client installieren, ggf. Server-Einstellung anpassen (/etc/puppet/puppet.conf) ● Standard-Servername ist „puppetmaster“ ● Betrieb Client als Daemon möglich (Standardmäßig Ausführung alle 30min.) oder händischer Start (Parameter --test beim Aufruf) ● Erster Verbindungsaufbau erzeugt einen Zertifikatsrequest ● Praxistipp: Client kann auf Akzeptieren des Zertifikat warten ● Zertifikatsanfragen am Server prüfen und signieren ● Prüfen welche Änderungen auf dem Client durchgeführt würden (Trockenübung) [agent] server = puppetsrv.example.com # puppetd --waitforcert 60 --test # puppetca --list # puppetca --sign <Clientname> oder # puppetca --sign –all Aufpassen was signiert wird! # puppetd --test ---noop
28.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 28 / 34© SpeedPartner GmbH Environments Arbeit mit mehreren Umgebungen: ● Trennung in z.B. „dev“ und „production“ ● Angabe des Environment für einen Node auf Server oder Client ● Client-seitige Wahl des Environment empfohlen ● Standard-Environment: „production“ ● Konfiguration des Environment auf dem Server (puppet.conf): ● Standard-Einstellungen aus [master] für unbekanntes Environment ● Konfiguration des Environment auf dem Client (puppet.conf): [master] manifest = $confdir/manifests/site.pp [production] manifest = $confdir/env/prod/manifests/site.pp [dev] manifest = $confdir/env/$environment/manifests/site.pp [agent] environment = dev
29.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 29 / 34© SpeedPartner GmbH Externe Anbindungen Vielfältige Möglichkeiten zur Integration: ● Generierung Node-Konfiguration über „external node classifier“ (ENC) ● Externes Programm erhält Node-Namen, liefert YAML-Dokument zurück ● z.B. Abfrage gegen beliebige Datenbanken --- classes: dyn: ports: - 25 - 587 smtpmx: gw.mens.de users: alex: home: /nfs/alex uid: 502 jane: home: /home/jane uid: 201 ssh: '' parameters: location: Chicago manager: Jane Doe my_memory: 216 nodename: cp09.mens.deGrafik / Beispiel von Jan-Piet Mens, jpmens.net
30.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 30 / 34© SpeedPartner GmbH Externe Anbindungen Vielfältige Möglichkeiten zur Integration: ● Generierung Node-Konfiguration über „external node classifier“ (ENC) ● Externes Programm erhält Node-Namen, liefert YAML-Dokument zurück ● z.B. Abfrage gegen beliebige Datenbanken --- classes: dyn: ports: - 25 - 587 smtpmx: gw.mens.de users: alex: home: /nfs/alex uid: 502 jane: home: /home/jane uid: 201 ssh: '' parameters: location: Chicago manager: Jane Doe my_memory: 216 nodename: cp09.mens.deGrafik / Beispiel von Jan-Piet Mens, jpmens.net
31.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 31 / 34© SpeedPartner GmbH Externe Anbindungen Vielfältige Möglichkeiten zur Integration: ● Von facter gesammelte „Fakten“ für Generierung von Konfigurationen nutzen ● Pro Node ermittelt ● Daten zentral auf dem puppet-master verfügbar (/var/lib/puppet/yaml/facts) ● Monitoring-Konfiguration ● Welche Hosts ● Welche Dienste / Ports ● Backup-Konfiguration ● Automatische Einrichtung auf Backuptarget ● Backup-Rollover, ... ● SSHFP-Records generieren / publizieren ● „ssh“-Fact sammelt bereits RSA/DSA-Keys ● Hieraus SSHFP-Records generieren und ins DNS bringen
32.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 32 / 34© SpeedPartner GmbH Fazit ● Definition und Umsetzung klarer Regeln ● Leichte Administration einer größeren Anzahl Maschinen / Umgebungen ● Flexible Konfigurationsmöglichkeiten ● Nutzung lokal oder im Client-Server-Betrieb ● Zentrale Sammlung aller „Fakten“ auf Server ● Ermöglicht weitere Verarbeitung für z.B. Monitoring-Konfiguration ● Leichter Einstieg für einzelne Teilaspekte einer Konfiguration möglich ● Ausbaufähig zu umfangreichen Regelwerken ● Aufwand für Definition aller Abhängigkeiten und Sonderfälle nicht unterschätzen!
33.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 33 / 34© SpeedPartner GmbH Links / Hilfen ● Cheatsheet für alle Kern-Ressourcetypen und ihre Attribute: http://docs.puppetlabs.com/puppet_core_types_cheatsheet.pdf ● „Puppet Forge“ (Sammlung fertiger Module): http://forge.puppetlabs.com/ ● External Node Classifiers (ENC): http://jpmens.net/2011/07/25/external-node-classification-and-data-in-puppet/ ● Generieren von Konfigurationen aus „facts“, z.B. SSHFP-Record-Einträge https://github.com/jpmens/facts2sshfp http://jpmens.net/2012/02/01/on-collecting-ssh-host-keys-for-sshfp-dns-records/
34.
Verwaltung mit facter,
puppet und augeas GUUG Frühjahrsfachgespräch, 01.03.2012 Seite: 34 / 34© SpeedPartner GmbH Kontakt Danke fürs Zuhören sowie viel Erfolg und Spaß mit puppet & Co.! Link zu den Slides: http://talks.speedpartner.de/ Bei Fragen stehen wir selbstverständlich gerne zur Verfügung: Stefan Neufeind, neufeind@speedpartner.de SpeedPartner GmbH, http://www.speedpartner.de/
Descargar ahora