Systemmanagement mit Puppet und Foreman

Preview:

Citation preview

Systemmanagement mit Puppet undForemanCeBIT 2016 17. März 2016

Mattias GieseSystem Management & Monitoring Architect

B1 Systems GmbHgiese@b1-systems.de

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 info@b1-systems.deoder +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

Recommended