43
Systemmanagement mit Puppet und Foreman CeBIT 2016 17. März 2016 Mattias Giese System Management & Monitoring Architect B1 Systems GmbH [email protected] B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development

Systemmanagement mit Puppet und Foreman

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Systemmanagement mit Puppet und Foreman

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

Page 3: Systemmanagement mit Puppet und Foreman

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

Page 4: Systemmanagement mit Puppet und Foreman

Puppet Kurzvorstellung

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 4 / 43

Page 5: Systemmanagement mit Puppet und Foreman

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

Page 6: Systemmanagement mit Puppet und Foreman

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

Page 7: Systemmanagement mit Puppet und Foreman

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

Page 8: Systemmanagement mit Puppet und Foreman

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

Page 9: Systemmanagement mit Puppet und Foreman

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

Page 10: Systemmanagement mit Puppet und Foreman

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

Page 11: Systemmanagement mit Puppet und Foreman

Foreman Vorstellung

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 11 / 43

Page 12: Systemmanagement mit Puppet und Foreman

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

Page 13: Systemmanagement mit Puppet und Foreman

Foreman Architektur

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 13 / 43

Page 14: Systemmanagement mit Puppet und Foreman

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

Page 15: Systemmanagement mit Puppet und Foreman

Foreman GUI: Dashboard

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 15 / 43

Page 16: Systemmanagement mit Puppet und Foreman

Foreman GUI: Hosts Overview

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 16 / 43

Page 17: Systemmanagement mit Puppet und Foreman

Foreman GUI: Hosts Detail

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 17 / 43

Page 18: Systemmanagement mit Puppet und Foreman

Foreman GUI: Puppet Overview

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 18 / 43

Page 19: Systemmanagement mit Puppet und Foreman

Foreman GUI: Puppet Reports Overview

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 19 / 43

Page 20: Systemmanagement mit Puppet und Foreman

Foreman GUI: Puppet Report Detail

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 20 / 43

Page 21: Systemmanagement mit Puppet und Foreman

Foreman GUI: Puppet Classes Overview

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 21 / 43

Page 22: Systemmanagement mit Puppet und Foreman

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

Page 23: Systemmanagement mit Puppet und Foreman

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

Page 24: Systemmanagement mit Puppet und Foreman

Foreman Discovery 2/4

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 24 / 43

Page 25: Systemmanagement mit Puppet und Foreman

Foreman Discovery 3/4

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 25 / 43

Page 26: Systemmanagement mit Puppet und Foreman

Foreman Discovery 4/4

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 26 / 43

Page 27: Systemmanagement mit Puppet und Foreman

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

Page 28: Systemmanagement mit Puppet und Foreman

Foreman Remote Execution 2/9

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 28 / 43

Page 29: Systemmanagement mit Puppet und Foreman

Foreman Remote Execution 3/9

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 29 / 43

Page 30: Systemmanagement mit Puppet und Foreman

Foreman Remote Execution 4/9

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 30 / 43

Page 31: Systemmanagement mit Puppet und Foreman

Foreman Remote Execution 5/9

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 31 / 43

Page 32: Systemmanagement mit Puppet und Foreman

Foreman Remote Execution 6/9

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 32 / 43

Page 33: Systemmanagement mit Puppet und Foreman

Foreman Remote Execution 7/9

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 33 / 43

Page 34: Systemmanagement mit Puppet und Foreman

Foreman Remote Execution 8/9

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 34 / 43

Page 35: Systemmanagement mit Puppet und Foreman

Foreman Remote Execution 9/9

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 35 / 43

Page 36: Systemmanagement mit Puppet und Foreman

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

Page 37: Systemmanagement mit Puppet und Foreman

Foreman Docker Plugin 2/7

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 37 / 43

Page 38: Systemmanagement mit Puppet und Foreman

Foreman Docker Plugin 3/7

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 38 / 43

Page 39: Systemmanagement mit Puppet und Foreman

Foreman Docker Plugin 4/7

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 39 / 43

Page 40: Systemmanagement mit Puppet und Foreman

Foreman Docker Plugin 5/7

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 40 / 43

Page 41: Systemmanagement mit Puppet und Foreman

Foreman Docker Plugin 6/7

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 41 / 43

Page 42: Systemmanagement mit Puppet und Foreman

Foreman Docker Plugin 7/7

B1 Systems GmbH Systemmanagement mit Puppet und Foreman 42 / 43

Page 43: Systemmanagement mit Puppet und Foreman

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