Zentrales Konfigurationsmanagement mit Puppet



Ähnliche Dokumente
Zentrales Konfigurationsmanagement mit Puppet

Automatisierte Serververwaltung mit Hilfe von Puppet

KONFIGURATIONSMANAGEMENT MIT PUPPET TIM SCHMELING. 4b:65:72:73:74:69:6e:2c:20:69:63:68:20:6c:69:65:62:65:20:64:69:63:68:21

. Puppet - Konfigurationsmanagement eines Netzwerks. Oder: Alle Fäden in der Hand halten. Jochen Schulz

Einführung in Ansible

Puppet Kickstart. Nürnberg, Referent: Thomas Gelf

The Foreman. Felix Massem und Jan-Frederic Markert

Puppet konfiguriert Nagios automatisch

Systemmanagement mit Puppet und Foreman

Management von grossen IT Umgebungen mit Open Source Tools

Red Hat Satellite mehr als nur ein Content Delivery und Subscription Management System

Systemmanagement mit Puppet und Foreman

Puppet, Salt oder Ansible

Data Center Automation mit Puppet

Konfigurationsmanagement mit Chef

GNU/Linux Introduction Linux Introduction: Part 1. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

Konfigurationsmanagement mit Chef

Serverprovisioning in einer dynamischen Infrastruktur Systemmanagement LinuxTag 2012

Konfigurationsmanagement mit Puppet

Icinga 2 Einführung und Übersicht

Möglichkeiten von Cloud Computing für Entwicklung und Test. Michael Eichenberger SBB Informatik Developer Day 10. Dezember 2013

Puppet und SVN für das Configuration- und Changemanagement

Puppet Univention - CeBIT. Thomas Gelf

SOLARIS 11 DEPLOYMENT MIT PUPPET Thomas Rübensaal T-Systems International GmbH

Solaris 11 Deployment mit Puppet Thomas Rübensaal T-Systems International GmbH Bamberg Schlüsselworte Einleitung Puppet Was ist das?

Puppet. Modul Guide. Alexander Pacnik Karlsruhe,

Puppet als Bindeglied zum Monitoring

Puppet 4 Solaris Thomas Rübensaal T-Systems International GmbH Bamberg

Puppet Konfigurationsmanagement. Ulrich Habel

Systemmanagement mit Puppet und Foreman

PUPPET 4 SOLARIS Thomas Rübensaal, Thorsten Schlump T-Systems International GmbH

Pragmatische Einblicke in Deployment- & Konfigurations- Management Tools

Ansible Orchestrierung einfach gemacht

Saltstack Thorsten Kramm Berlin Juni 2015

Keine Angst vor Puppet 4. Secure Linux Administration Conference 2015 Martin Alfke

Grundlagen des Konfigurationsmanagement Was kann ein Konfigurationsmanagement und was nicht? Wofür ist ein Konfigurationsmanagement gut und wofür

libvirt / kvm Jens Link libvirt / kvm jl@jenslink.net Jens Link (jl@jenslink.net) libvirt/kvm 1 / 39

Bootstrapping Ansible. Bengt Giger Informatikdienste ETH Zürich Client Delivery

puppet, the foreman and everything Opensource Tools für das Datacenter Management Nils Domrose Köln, 24. Juni- 2014

OpenNebula. public and private cloud management. ! Martin Alfke ! GUUG Hamburg

Play with Ansible - Provisioning von Weblogic mit Ansible

Con guration as Code Über Ansible Ansible Grundlagen Live Demo Weitere Informationen

APEX OOS TOOLS & HELFER

Systemmanagement mit Puppet und Foreman

Puppet-Workshop. Aller Anfang ist leicht

Text. OpenNebula. Martin Alfke

Isolierte Umgebungen für Python Anwendungen Teil 2. Christine Koppelt, Jürgen Schackmann, Stefan Seelmann

Mac OS X Consoliero: Terminal Solutions Version 1.0

Konfigurationsmanadment mit Chef und Vagrant. August 2012, Seite: 1/20

Automatisierte Einbindung von Windows Systemen in Bacula mit Hilfe von OPSI

Ansible Grundlagen / 26

Directory Services für heterogene IT Landschaften. Basierend auf LDAP und OSS

Datenbanken und Netzanbindung

Anlegen von Entwicklungsumgebungen per Vagrant & Chef

Handbuch für Administratoren

Kurs für Linux Online Kurs Verwalter des Linux System

OpenNebula. public and private cloud management.! Martin Alfke

Raspberry als Cloud Server (Next Cloud / Owncloud)

Puppet im Monitoring-Umfeld

KOHA Server Installation und Wartung mit Hilfe von Ansible und Ansible Tower

Katello / Pulp / Candlepin

Dominik Helleberg inovex GmbH. Android-Enterprise- Integration

Computer & GNU/Linux Einführung Teil 1

Cloud Management und Automatisierung mit Open Source Software. Michael Eichenberger Time to Market 24. Mai 2013

IML Deployment Axel Hahn zuletzt geändert:

Betriebssystem-basierte Virtualisierung

Tipps & Tricks: OS Monitoring mit "OSWatcher Black Box" (7.3.0)

<Insert Picture Here> MySQL Workbench für Einsteiger

Contao in a box. Entwicklungsumgebung für Contao mit Vagrant. von Claudio De Facci exploreimpact.de

Unix/Linux Survival Guide

Build Management Tool?

Satellite 6. Next Generation System Provisioning, Configuration and Patch Management

Build Management Tool

Bash-Skripting Linux-Kurs der Unix-AG

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

File Server auf Ransomware-Dateien prüfen

Build Management Tool?

Client-/Servermanagement: ein Blick in die Werkstatt

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe,

IT-Automation mit Puppet

IT-Security durch das passende OS. Oracle Solaris 11.2.

Platform as a Service (PaaS) & Containerization

Revisionskontrollsystem GIT

Benutzer und Rechte Teil 1, Paketverwaltung, SSH

Singularity - Container für die HPC Welt. Egbert Eich Project Manager HPC SUSE Linux

APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH

Selbstverwaltung von Subversion Repositories

Transkript:

Zentrales Konfigurationsmanagement mit Puppet GUUG - Frühjahrsfachgespräch 2011 Martin Alfke <martin.alfke@wizards-of-foss.de>

Einführung Wie managed man 600 Linux-Server mit 20 unterschiedlichen Applikationen?

Einführung Wie managed man 600 Linux-Server mit 20 unterschiedlichen Applikationen? Wieviele Server/ Applikationen kann ein Admin verwalten?

Konfigurationsmanagement ssh-loop for server in db1 db2 db3; do ssh... done

Konfigurationsmanagement ssh-loop for server in db1 db2 db3; do ssh... done Installationsimage Reboot + Reinstallation

Konfigurationsmanagement ssh-loop for server in db1 db2 db3 ; do ssh... done Installationsimage Reboot + Reinstallation Reproduzierbar? Fehlertolerant? Verfügbarkeit?

Konfigurationsmanagement Vorbereitung Planung Design Initialisierung Betrieb Verbesserung

Tools CFEngine seit 1993

Tools CFEngine seit 1993 atomare Änderungen

Tools CFEngine seit 1993 atomare Änderungen Master-Client

Tools CFEngine Bcfg2 ca. seit 2003

Tools CFEngine Bcfg2 ca. seit 2003 deklarative Beschreibung

Tools CFEngine Bcfg2 ca. seit 2003 deklarative Beschreibung Auswertung der Client Antworten

Tools CFEngine Bcfg2 Puppet seit 2005

Tools CFEngine Bcfg2 Puppet seit 2005 Ruby Anwendung

Tools CFEngine Bcfg2 Puppet seit 2005 Ruby Anwendung Reporting

Tools CFEngine Bcfg2 Puppet Open Source

Tools CFEngine Bcfg2 Puppet Open Source Fixpunkt Beschreibung

Tools CFEngine Bcfg2 Puppet Open Source Fixpunkt Beschreibung Client-Master Setup

Puppet Master Manifeste Dateien Vorlagen Client kein Provisioning! FAI Cobbler

Puppet Aufbau Master Beschreibung der Clients Client Erstellt Report Dashboard Report Auswertung

Puppet Ressourcen Syntax: <resource-type> { <namevar> : <key1> => <value1>, <key2> => <value2>, <key3> => [ <value3>, <value4> ], }

Puppet Ressourcen user group Beispiel: group { tux : gid!! => 1050, ensure! => present, } user { tux : uid!! => 1050, gid!! => 1050, } home!! shell! ensure! => /home/tux, => /bin/tcsh, => present,

Puppet Ressourcen user group file Beispiel: file { /etc/inet/inetd.conf : ensure! => /etc/inetd.conf, } file { /home/tux : owner! => tux, group! => tux, mode!! => 0700 ensure! => directory, }

Puppet Ressourcen user group file package service cron Beispiel: package { apache2 : ensure! => installed, } service { apache2 : ensure! => running, }

Puppet Facts hardwaremodel => i386 hostname => client01 ipaddress => 192.168.45.114 kernel => Darwin kernelmajversion => 10.6 operatingsystem => Darwin operatingsystemrelease => 10.6.0 timezone => CET

Puppet Facts OS und System spezifische Parameter Variablen und Werte sind innerhalb von Puppet verwendbar

Puppet Facts OS und System spezifische Parameter Variablen und Werte sind innerhalb von Puppet verwendbar case $operatingsystem { Solaris : {... } Darwin : {... } default: {... } }

Puppet Facts OS und System spezifische Parameter Variablen und Werte sind innerhalb von Puppet verwendbar Eigene Facts

Puppet Facts OS und System spezifische Parameter Variablen und Werte sind innerhalb von Puppet verwendbar Eigene Facts require facter Facter.add( PUPPET_FUNCTION ) do setcode do %x{/bin/cat /etc/function}.chomp end end

Puppet Vorlagen Host-spezifische Konfigurationsdateien Wiederverwendbare Konfigurationsdateien

Puppet Vorlagen Host-spezifische Konfigurationsdateien Wiederverwendbare Konfigurationsdateien $document_root! = /srv/wiki $vhost_port!! = 80 $vhost_name!! = wiki.domain.local file { /etc/apache2/apache2.conf content!!! => template ( apache2.erb ), }

Puppet Vorlagen Host-spezifische Konfigurationsdateien Wiederverwendbare Konfigurationsdateien $document_root! = / s r v / w i k i $vhost_port!! = 8 0 $vhost_name!! = w i k i. d o m a i n. l o c a l file { /etc/apache2/apache2.conf content!!! => template ( apache2.erb ), } # apache2 config DocumentRoot = <% document_root %> NameVirtualHost = <% vhost_name -%>:<%vhost_port %>

Puppet Klassen Gruppieren logisch zusammengehörender Definitionen

Puppet Klassen Gruppieren logisch zusammengehörender Definitionen class apache { package{ apache2 : ensure => installed } service{ apache2 : ensure => running } file{ /etc/apache2/apache2.conf : mode!! => 644, owner! => root, group! => root, } }

Puppet Module Sammlung von Klassendefinitionen mit Dateien und Vorlagen innerhalb einer Verzeichnisstruktur

Puppet Module Sammlung von Klassendefinitionen mit Dateien und Vorlagen innerhalb einer Verzeichnisstruktur modules/ <modulename>/ manifests/ init.pp!!! <- erforderlich <classname>.pp!<- optional (Klassen) templates/!! <- optional (Vorlagen) files/!!!! <- optional (Dateien) lib/!!!!! <- optional (Facts)

Puppet Performance Standard: Ruby Webrick bekannt für schlechte Performance einfache Implementierung

Puppet Performance Standard: Ruby Webrick bekannt für schlechte Performance einfache Implementierung vorgeschalteter Apache/NGINX/Pound Apache mit mod_passenger

Puppet Reporting Client sendet Bericht an Master

Puppet Reporting Client sendet Bericht an Master Master speichert Bericht im Dateisystem oder in MySQL-Datenbank

Puppet Reporting Client sendet Bericht an Master Master speichert Bericht im Dateisystem oder in MySQL-Datenbank Puppet Dashboard liest Berichte aus Datenbank

Puppet Reporting Client sendet Bericht an Master Master speichert Bericht im Dateisystem oder in MySQL-Datenbank Puppet Dashboard liest Berichte aus Datenbank Dashboard erzeugt strukturierte Darstellung

Puppet Reporting

Puppet @ Allgemein UNIX Abteilung

Puppet @ Allgemein UNIX Abteilung ca. 600 Systeme (physikalisch und VM) weltweit verteilt (Europa, Asien, Amerika)

Puppet @ Allgemein UNIX Abteilung ca. 600 Systeme (physikalisch und VM) weltweit verteilt (Europa, Asien, Amerika) RHEL, OEL, Solaris, HP-UX

Puppet @ Allgemein UNIX Abteilung ca. 600 Systeme (physikalisch und VM) weltweit verteilt (Europa, Asien, Amerika) RHEL, OEL, Solaris, HP-UX Verantwortlich für das Basis-System und DB Betrieb

Puppet @ Allgemein UNIX Abteilung Applikations Abteilung

Puppet @ Allgemein UNIX Abteilung Applikations Abteilung HPC, Mail-Systeme, DNS,...

Puppet @ Allgemein UNIX Abteilung Applikations Abteilung HPC, Mail-Systeme, DNS,... verantwortlich für funktionierende Applikation

Puppet @ Ist-Zustand

Puppet @ Ist-Zustand vorhandenes Konfigurationsmanagement

Puppet @ Ist-Zustand vorhandenes Konfigurationsmanagement kommerzielle Software

Puppet @ Ist-Zustand vorhandenes Konfigurationsmanagement kommerzielle Software Lizenzpflichtig

Puppet @ Ist-Zustand vorhandenes Konfigurationsmanagement kommerzielle Software Lizenzpflichtig gewachsenes Setup (Standards mit Ausnahmen)

Puppet @ Definierte Aufgaben von Puppet

Puppet @ Definierte Aufgaben von Puppet Anlegen/Löschen von Usern

Puppet @ Definierte Aufgaben von Puppet Anlegen/Löschen von Usern Anlegen/Löschen/Verwalten von Konfigurationsdateien

Puppet @ Definierte Aufgaben von Puppet Anlegen/Löschen von Usern Anlegen/Löschen/Verwalten von Konfigurationsdateien Starten/Stoppen/Deaktivieren/ Aktivieren von Diensten

Puppet @ Definierte Aufgaben von Puppet Anlegen/Löschen von Usern Anlegen/Löschen/Verwalten von Konfigurationsdateien Starten/Stoppen/Deaktivieren/ Aktivieren von Diensten Installation/Deinstallation von Paketen

Puppet @ Puppet Setup

Puppet @ Puppet Setup Location Function zwei Module mit Unterklassen

Puppet @ Puppet Setup Location Function zwei Module mit Unterklassen Puppet Beschreibungen und Dateien in GIT

Puppet @ Puppet Setup Location Function zwei Module mit Unterklassen Puppet Beschreibungen und Dateien in GIT Dashboard

Puppet @ Projekt Verlauf

Puppet @ Projekt Verlauf Start August 2010

Puppet @ Projekt Verlauf Start August 2010 Stand März 2011 8 Funktionsklassen in Puppet ca. 250 Server in Puppet

Zentrales Konfigurationsmanagement mit Puppet Fragen?? Martin Alfke <martin.alfke@wizards-of-foss.de>