Publicité
Publicité

Contenu connexe

Publicité

Dernier(20)

Systemmanagement mit Puppet und Foreman

  1. Systemmanagement mit Puppet und Foreman CLT 2014 16. März 2014 Mattias Giese Solution Architect for Systemsmanagement and Monitoring B1 Systems GmbH giese@b1-systems.de B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development
  2. Agenda Vorstellung B1 Systems Überblick über verwendete Komponenten Foreman Kurzvorstellung Puppet Kurzvorstellung Spacewalk Kurzvorstellung Einstieg in PuppetDB B1 Systems GmbH Systemmanagement mit Puppet und Foreman 2 / 31
  3. Vorstellung B1 Systems gegründet 2004 primär Linux/Open Source-Themen national & international tätig über 60 Mitarbeiter unabhängig von Soft- und Hardware-Herstellern Leistungsangebot: Beratung & Consulting Support Entwicklung Training Betrieb Lösungen dezentrale Strukturen B1 Systems GmbH Systemmanagement mit Puppet und Foreman 3 / 31
  4. Schwerpunkte Virtualisierung (XEN, KVM & RHEV) Systemmanagement (Spacewalk, Red Hat Satellite, SUSE Manager) 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 Teams vor Ort B1 Systems GmbH Systemmanagement mit Puppet und Foreman 4 / 31
  5. Überblick über verwendete Komponenten B1 Systems GmbH Systemmanagement mit Puppet und Foreman 5 / 31
  6. Verwendete Komponenten B1 Systems GmbH Systemmanagement mit Puppet und Foreman 6 / 31
  7. Netzdiagramm B1 Systems GmbH Systemmanagement mit Puppet und Foreman 7 / 31
  8. Foreman Kurzvorstellung B1 Systems GmbH Systemmanagement mit Puppet und Foreman 8 / 31
  9. Foreman 1/2 Lebenszyklusverwaltung von Computern modular aufgebaut verwaltet DHCP/DNS/TFTP/Puppet/Puppet CA Zukunft: cfengine/Chef und andere Anbindung an verschiedene Hypervisor B1 Systems GmbH Systemmanagement mit Puppet und Foreman 9 / 31
  10. Foreman 2/2 Cloud: AWS, OpenStack Steuerung von iLO/DRAC/andere unterstützt RHEL/Fedora/Debian/Ubuntu Web-UI/CLI/Restful API Alternativen: Cobbler, Razor, Rudder (cfengine) B1 Systems GmbH Systemmanagement mit Puppet und Foreman 10 / 31
  11. Foreman Architektur B1 Systems GmbH Systemmanagement mit Puppet und Foreman 11 / 31
  12. Foreman – Komponenten erweiterbar durch Plugins Foreman Discovery: Metal as a Service Hooks: Beliebigen Code in verschiedenen Phasen ausführen B1 Systems GmbH Systemmanagement mit Puppet und Foreman 12 / 31
  13. Foreman Discovery besteht aus zwei Teilen Plugin für Foreman Web-Applikation Livesystem basierend auf oVirt-Node B1 Systems GmbH Systemmanagement mit Puppet und Foreman 13 / 31
  14. Demo: Metal as a Service B1 Systems GmbH Systemmanagement mit Puppet und Foreman 14 / 31
  15. Puppet Kurzvorstellung B1 Systems GmbH Systemmanagement mit Puppet und Foreman 15 / 31
  16. Puppet 1/2 Konfigurationsverwaltungssystem Entwicklung seit 2005 durch Puppet Labs eine der drei „Großen“ neben cfengine/Chef unterstützt verschiedene Unixe/Linux, Windows Community und Enterprise Variante B1 Systems GmbH Systemmanagement mit Puppet und Foreman 16 / 31
  17. Puppet 2/2 implementiert eine Modellsprache auf Ruby wir beschreiben was getan werden soll, nicht wie ist idempotent abstrahiert Unterschiede zwischen Distributionen/Betriebssystemen dynamische Konfiguration basierend auf Hardware/Softwareinfo (facter) erweiterbar durch eigenen Code B1 Systems GmbH Systemmanagement mit Puppet und Foreman 17 / 31
  18. Einfaches Manifest Einfaches Manifest file{’/etc/myservice.conf’: ensure => present, content => ’Hallo Weltn’, owner => ’root’, group => ’root’, mode => ’644’, } package{’firefox’: ensure => present, } B1 Systems GmbH Systemmanagement mit Puppet und Foreman 18 / 31
  19. Abstraktion des Codes Ressource: Datei, Paket, Dienst, Benutzer, Gruppe, usw. Manifest: Datei mit Endung .pp enthält ein oder mehrere Ressourcen Anwendung: puppet apply myconfig.pp Klassen bündeln Ressourcen, z.B.: Paket, Datei und Dienst Module bündeln Klassen Wichtig: Reihenfolge muss explizit definiert werden B1 Systems GmbH Systemmanagement mit Puppet und Foreman 19 / 31
  20. Einfache Klasse Einfache 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 20 / 31
  21. Spacewalk Kurzvorstellung B1 Systems GmbH Systemmanagement mit Puppet und Foreman 21 / 31
  22. Spacewalk Kurzvorstellung System Lifecycle Management Software (Déjà-vu?) Grundlage für RH Satellite bis 5.x/SUSE Manager Entwicklung durch Red Hat seit 2002 (Einführung RHN) seit 2008 offenes Software Projekt (GPL2) B1 Systems GmbH Systemmanagement mit Puppet und Foreman 22 / 31
  23. Spacewalk Features 1/3 Provisionierung von Systemen (Anbindung an Cobbler) Softwaremanagement mit Channelstruktur Subskriptionsverwaltung (Satellite/SUSE Manager) Staging (Einfrieren bestimmter Versionsstände) einfache Konfigurationsverwaltung Ausführung von Skripten auf verwalteten Maschinen B1 Systems GmbH Systemmanagement mit Puppet und Foreman 23 / 31
  24. Spacewalk Features 2/3 Monitoring „Verwaltung“ von Crashes (abrt) OpenSCAP Einbindung (Software-Auditing) Bedienung durch Web-UI/CLI/XMLRPC-API B1 Systems GmbH Systemmanagement mit Puppet und Foreman 24 / 31
  25. Spacewalk Features 3/3 unterstützt RHEL/SUSE (und Derivate), teilweise Debian/Ubuntu Alternative (Softwareverwaltung): Katello/Pulp/Candlepin (nur RHEL/Fedora) Foreman/Katello/Pulp/Candlepin == Satellite 6 B1 Systems GmbH Systemmanagement mit Puppet und Foreman 25 / 31
  26. Demo: Spacewalk/Foreman/Icinga B1 Systems GmbH Systemmanagement mit Puppet und Foreman 26 / 31
  27. Einstieg in PuppetDB B1 Systems GmbH Systemmanagement mit Puppet und Foreman 27 / 31
  28. PuppetDB Data Warehouse für Puppet Ablösung für altes storeconfigs Konzept implementiert in Clojure (Lisp in Java) bietet Restful-API für Abfragen Anwendungsfall: Exportierte Ressourcen Junge Web-UI: PuppetBoard B1 Systems GmbH Systemmanagement mit Puppet und Foreman 28 / 31
  29. Beispielabfragen Beispielabfragen Alle 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 GmbH Systemmanagement mit Puppet und Foreman 29 / 31
  30. Demo: Puppetmanifeste und Exported Resources B1 Systems GmbH Systemmanagement mit Puppet und Foreman 30 / 31
  31. Vielen Dank für Ihre Aufmerksamkeit! Bei weiteren Fragen wenden Sie sich bitte an info@b1-systems.de 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
Publicité