Systemmanagement mit Puppet und Foreman
-
Upload
b1-systems-gmbh -
Category
Internet
-
view
35 -
download
1
Transcript of Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet undForemanCeBIT 2016 17. März 2016
Mattias GieseSystem Management & Monitoring Architect
B1 Systems [email protected]
B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development
Vorstellung B1 Systems
gegründet 2004primär Linux/Open Source-Themennational & international tätigüber 70 Mitarbeiterunabhängig von Soft- und Hardware-HerstellernLeistungsangebot:
Beratung & ConsultingSupportEntwicklungTrainingBetriebLösungen
dezentrale Strukturen
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 2 / 43
SchwerpunkteVirtualisierung (XEN, KVM & RHEV)Systemmanagement (Spacewalk, Red Hat Satellite, SUSEManager)Konfigurationsmanagement (Puppet & Chef)Monitoring (Nagios & Icinga)IaaS Cloud (OpenStack & SUSE Cloud & RDO)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 GmbH Systemmanagement mit Puppet und Foreman 3 / 43
Puppet Kurzvorstellung
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 4 / 43
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 GmbH Systemmanagement mit Puppet und Foreman 5 / 43
Puppet 2/2
implementiert eine Modellsprache auf Rubywir beschreiben, was getan werden soll, nicht wieführt nur benötigte Änderungen am System durchabstrahiert Unterschiede zwischenDistributionen/Betriebssystemendynamische Konfiguration basierend auf Hardware/Softwareinfo(facter)
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 6 / 43
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 GmbH Systemmanagement mit Puppet und Foreman 7 / 43
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 Klassen und weitere Dateien
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 8 / 43
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 GmbH Systemmanagement mit Puppet und Foreman 9 / 43
Deployment-Szenarios
Puppet benötigt keinen zentralen Server (apply)Puppet Master als zentrale Einheit erleichtert Datenhaltungzentrale Dienste können genutzt werden um Konfiguration fürSysteme vorzugeben (Foreman)
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 10 / 43
Foreman Vorstellung
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 11 / 43
Foreman
System Lifecycle Management SoftwareBenutzung via Web-UI/CLI/Restful APIVerwaltung von DHCP/DNS/TFTP/Puppet und mehrmodular aufgebaut, erweiterbar durch PluginsRollenbasiertes Zugriffskonzept macht Self-Service Portalmöglich
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 12 / 43
Foreman Architektur
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 13 / 43
Foreman Architektur
ProvisionierungBare-Metal via PXE/BootmediumVM Deployment auf vSphere, libvirt, ovirt (RHEV)Cloud: GCE, EC2, Rackspace, OpenStack, DigitalOcean
InfrastrukturDHCP: ISC DHCPD, Microsoft DHCP ServerDNS: Bind, PowerDNS, Microsoft DNSTFTP (verschiedene)verschiedene Konfigurationsverwaltungen
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 14 / 43
Foreman GUI: Dashboard
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 15 / 43
Foreman GUI: Hosts Overview
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 16 / 43
Foreman GUI: Hosts Detail
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 17 / 43
Foreman GUI: Puppet Overview
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 18 / 43
Foreman GUI: Puppet Reports Overview
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 19 / 43
Foreman GUI: Puppet Report Detail
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 20 / 43
Foreman GUI: Puppet Classes Overview
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 21 / 43
Foreman – Plugins
erweiterbar durch PluginsForeman Discovery: Metal as a ServiceRemote Execution: Tasks auf verwalteten Maschinen ausführenDocker: Verwaltung von Containern auf Docker-HostsHooks: Beliebigen Code in verschiedenen Phasen ausführenChef, Ansible, Salt: Anbindung von Konfigurationsverwaltungneben PuppetKatello: Software-/Patchmanagent (Basis für Satellite 6)u.v.m., siehe http://theforeman.org/plugins/
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 22 / 43
Foreman Discovery 1/4
besteht aus zwei TeilenPlugin für Foreman Web-ApplikationLivesystem basierend auf oVirt-Node
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 23 / 43
Foreman Discovery 2/4
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 24 / 43
Foreman Discovery 3/4
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 25 / 43
Foreman Discovery 4/4
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 26 / 43
Foreman Remote Execution 1/9
ForemanScheduler (Foreman Tasks/Dynflow)Frontend für TemplatedefinitionFrontend zur Taskplanung
Foreman ProxyExecutor Plugin (aktuell nur SSH)
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 27 / 43
Foreman Remote Execution 2/9
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 28 / 43
Foreman Remote Execution 3/9
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 29 / 43
Foreman Remote Execution 4/9
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 30 / 43
Foreman Remote Execution 5/9
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 31 / 43
Foreman Remote Execution 6/9
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 32 / 43
Foreman Remote Execution 7/9
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 33 / 43
Foreman Remote Execution 8/9
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 34 / 43
Foreman Remote Execution 9/9
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 35 / 43
Foreman Docker Plugin 1/7
Docker wird zur Compute Resource in ForemanErstellung, Anzeige und Verwaltung von Containern aufverschiedenen Docker-Hosts
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 36 / 43
Foreman Docker Plugin 2/7
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 37 / 43
Foreman Docker Plugin 3/7
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 38 / 43
Foreman Docker Plugin 4/7
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 39 / 43
Foreman Docker Plugin 5/7
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 40 / 43
Foreman Docker Plugin 6/7
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 41 / 43
Foreman Docker Plugin 7/7
B1 Systems GmbH Systemmanagement mit Puppet und Foreman 42 / 43
Vielen Dank für Ihre Aufmerksamkeit!
Bei weiteren Fragen wenden Sie sich bitte an [email protected] +49 (0)8457 - 931096.
Besuchen Sie uns auch hier auf der CeBIT,Halle 3, D36/410.
B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development