Date post: | 01-Jul-2015 |
Category: |
Technology |
Upload: | b1-systems-gmbh |
View: | 404 times |
Download: | 0 times |
Systemmanagement mit Puppet undForemanCLT 2014 16. März 2014
Mattias GieseSolution Architect for Systemsmanagement and Monitoring
B1 Systems [email protected]
B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development
Agenda
Vorstellung B1 Systems
Überblick über verwendete Komponenten
Foreman Kurzvorstellung
Puppet Kurzvorstellung
Spacewalk Kurzvorstellung
Einstieg in PuppetDB
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 2 / 31
Vorstellung B1 Systems
gegründet 2004primär Linux/Open Source-Themennational & international tätigüber 60 Mitarbeiterunabhängig von Soft- und Hardware-HerstellernLeistungsangebot:
Beratung & ConsultingSupportEntwicklungTrainingBetriebLösungen
dezentrale Strukturen
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 3 / 31
SchwerpunkteVirtualisierung (XEN, KVM & RHEV)Systemmanagement (Spacewalk, Red Hat Satellite, SUSEManager)Konfigurationsmanagement (Puppet & Chef)Monitoring (Nagios & Icinga)IaaS Cloud (OpenStack & SUSE Cloud)Hochverfügbarkeit (Pacemaker)Shared Storage (GPFS, OCFS2, DRBD & CEPH)Dateiaustausch (ownCloud)Paketierung (Open Build Service)Administratoren oder Entwickler zur Unterstützung des Teamsvor Ort
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 4 / 31
Überblick über verwendete Komponenten
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 5 / 31
Verwendete Komponenten
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 6 / 31
Foreman Kurzvorstellung
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 8 / 31
Foreman 1/2
Lebenszyklusverwaltung von Computernmodular aufgebautverwaltet DHCP/DNS/TFTP/Puppet/Puppet CAZukunft: cfengine/Chef und andereAnbindung an verschiedene Hypervisor
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 9 / 31
Foreman 2/2
Cloud: AWS, OpenStackSteuerung von iLO/DRAC/andereunterstützt RHEL/Fedora/Debian/UbuntuWeb-UI/CLI/Restful APIAlternativen: Cobbler, Razor, Rudder (cfengine)
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 10 / 31
Foreman Architektur
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 11 / 31
Foreman – Komponenten
erweiterbar durch PluginsForeman Discovery: Metal as a ServiceHooks: Beliebigen Code in verschiedenen Phasen ausführen
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 12 / 31
Foreman Discovery
besteht aus zwei TeilenPlugin für Foreman Web-ApplikationLivesystem basierend auf oVirt-Node
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 13 / 31
Demo: Metal as a Service
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 14 / 31
Puppet Kurzvorstellung
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 15 / 31
Puppet 1/2
KonfigurationsverwaltungssystemEntwicklung seit 2005 durch Puppet Labseine der drei „Großen“ neben cfengine/Chefunterstützt verschiedene Unixe/Linux, WindowsCommunity und Enterprise Variante
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 16 / 31
Puppet 2/2
implementiert eine Modellsprache auf Rubywir beschreiben was getan werden soll, nicht wieist idempotentabstrahiert Unterschiede zwischenDistributionen/Betriebssystemendynamische Konfiguration basierend auf Hardware/Softwareinfo(facter)erweiterbar durch eigenen Code
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 17 / 31
Einfaches Manifest
Einfaches Manifestfile{’/etc/myservice.conf’:
ensure => present,content => ’Hallo Welt\n’,owner => ’root’,group => ’root’,mode => ’644’,
}package{’firefox’:
ensure => present,}
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 18 / 31
Abstraktion des Codes
Ressource: Datei, Paket, Dienst, Benutzer, Gruppe, usw.Manifest: Datei mit Endung .pp
enthält ein oder mehrere RessourcenAnwendung: puppet apply myconfig.pp
Klassen bündeln Ressourcen, z.B.: Paket, Datei und DienstModule bündeln KlassenWichtig: Reihenfolge muss explizit definiert werden
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 19 / 31
Einfache KlasseEinfache Klasse
class sshserver() {package{’openssh’:
ensure => present,}file{’/etc/ssh/sshd_config’:
ensure => present,source => puppet:///sshd_config,[...]notify => Service[’sshd’],require => Package[’openssh’],
}service{’sshd’,
ensure => running,enable => true,
}}
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 20 / 31
Spacewalk Kurzvorstellung
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 21 / 31
Spacewalk Kurzvorstellung
System Lifecycle Management Software (Déjà-vu?)Grundlage für RH Satellite bis 5.x/SUSE ManagerEntwicklung durch Red Hat seit 2002 (Einführung RHN)seit 2008 offenes Software Projekt (GPL2)
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 22 / 31
Spacewalk Features 1/3
Provisionierung von Systemen (Anbindung an Cobbler)Softwaremanagement mit ChannelstrukturSubskriptionsverwaltung (Satellite/SUSE Manager)Staging (Einfrieren bestimmter Versionsstände)einfache KonfigurationsverwaltungAusführung von Skripten auf verwalteten Maschinen
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 23 / 31
Spacewalk Features 2/3
Monitoring„Verwaltung“ von Crashes (abrt)OpenSCAP Einbindung (Software-Auditing)Bedienung durch Web-UI/CLI/XMLRPC-API
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 24 / 31
Spacewalk Features 3/3
unterstützt RHEL/SUSE (und Derivate), teilweiseDebian/UbuntuAlternative (Softwareverwaltung): Katello/Pulp/Candlepin (nurRHEL/Fedora)Foreman/Katello/Pulp/Candlepin == Satellite 6
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 25 / 31
Demo: Spacewalk/Foreman/Icinga
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 26 / 31
Einstieg in PuppetDB
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 27 / 31
PuppetDB
Data Warehouse für PuppetAblösung für altes storeconfigs Konzeptimplementiert in Clojure (Lisp in Java)bietet Restful-API für AbfragenAnwendungsfall: Exportierte RessourcenJunge Web-UI: PuppetBoard
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 28 / 31
Beispielabfragen
BeispielabfragenAlle Nodes mit Debian["and",
["=", "name", "operatingsystem"],["=", "value", "Debian"]]
Uptime zwischen ca. 28h und ca. 12d["and",
["=", "name", "uptime_seconds"],[">=", "value", 100000],["<", "value", 1000000]]
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 29 / 31
Demo: Puppetmanifeste und ExportedResources
B1 Systems GmbHSystemmanagement mit Puppet und
Foreman 30 / 31
Vielen Dank für Ihre Aufmerksamkeit!Bei weiteren Fragen wenden Sie sich bitte an [email protected]
oder +49 (0)8457 - 931096
Zu diesem Vortrag gehörige Beispieldateien gibt es unter:https://github.com/mattiasgiese/foreman-clt
B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development