SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
puppet, 
the 
foreman 
and 
everything 
Opensource 
Tools 
für 
das 
Datacenter 
Management 
Nils 
Domrose 
Köln, 
24. 
Juni-­‐2014
2 
Aufgabenstellung 
im 
Datacenter 
▸ Konsistente, 
nachvollziehbare 
Erstellung 
von 
physikalischen 
Servern 
und 
virtuellen 
Instanzen 
▸ Flexible 
Anbindung 
von 
„Virtual 
Infrastructure“ 
und 
Cloud-­‐ 
Lösungen 
▸ Deployment 
von 
Cloud-­‐Lösungen 
und 
„Virtual 
Infrastructure“ 
▸ ConfiguraTon 
Management 
▸ Patch 
Management 
▸ ggf. 
Mandantenfähigkeit 
▸ ApplicaTon 
Deployment 
▸ Monitoring 
und 
User 
Management 
▸ Kurzum: 
Infrastructure 
as 
Code
3 
Was 
ist 
Foreman? 
Lifecycle 
Management 
Tool 
für 
virtuelle 
und 
physikalische 
Server-­‐ 
und 
Compute-­‐Instanzen 
▸ RedHat-­‐Projekt 
▸ Image-­‐basierte 
Deployments 
▸ PXE-­‐ 
und 
ISO*-­‐basierte 
Deployments 
▸ IntegraTon 
und 
Provisionierung 
von 
Basis-­‐Infrastruktur-­‐ 
Komponenten 
wie 
TFTP, 
DHCP 
und 
DNS 
▸ External 
Node 
Classifier 
(ENC) 
für 
Puppet 
und 
andere 
cfgmgmt-­‐ 
Systeme 
▸ Dashboard 
für 
Puppet 
und 
Chef 
▸ IntegraTon 
von 
Katello 
für 
Repository 
Management 
▸ Gute 
Erweiterbarkeit 
durch 
Plugins 
(GUI 
und 
Features) 
▸ Autodiscovery 
via 
Discovery-­‐Plugin 
* 
verbesserungsfähig 
durch 
Automa6sierung
4 
Foreman 
Deployment 
Workflow 
1 create new host 
2 request lease 
3 create DNS entries 
4 request kernel & initrd 
5 provision TFTP & PXE 
6 create auto sign entry 
7 create compute instance 
8 DHCP request 
Quelle: 
inovex 
Smart- 
Proxy 
DHCP 
DNS 
Puppet 
Master 
12 12 
TFTP 
Puppet 
CA 
compute 
Resource 
OS Repo 
query unattended Resources 
virtual / physical 
Instances 
9 PXE Boot 
unattended 
Resources 
2 
4 3 
5 
6 
7 
8 
9 
request puppet certificate 
GET ENC & catalog, upload facts 
notify finish 
10 
11 
12 
13 
10 
10 
11 
13 
1 
13
5 
Was 
deckt 
Foreman 
ab? 
ü Konsistente, 
nachvollziehbare 
Erstellung 
von 
physikalischen 
Servern 
und 
virtuellen 
Instanzen 
ü Flexible 
Anbindung 
von 
„Virtual 
Infrastructure“ 
und 
Cloud-­‐ 
Lösungen 
ü Deployment 
von 
Cloud-­‐Lösungen 
und 
„Virtual 
Infrastructure“ 
ü Patch 
Management 
via 
Katello 
oder 
standalone 
via 
Pulp 
ü Mandantenfähigkeit 
✗ ConfiguraTon 
Management 
✗ ApplicaTon 
Deployment 
✗ Monitoring 
und 
User 
Management 
✗ Infrastructure 
as 
Code
6 
Mandantenfähigkeit 
Quelle: 
theforeman.org 
/ 
inovex 
GmbH
7 
Foreman 
Roadmap 
▸ Docker.io 
Support 
▸ Neues 
Permission 
Management 
▸ Service 
OS 
für 
Discovery 
Plugin 
(Firmware 
Updates, 
Inventory) 
▸ AutomaTsierte, 
ISO-­‐Image-­‐basierte 
InstallaTon 
für 
virtuelle 
Systeme 
milels 
API 
und 
physikalischer 
Server 
milels 
IPMI
8 
ConfiguraTon 
Management 
Puppet 
als 
Basis 
▸ Gitlab 
als 
Quell-­‐VCS 
für 
Puppet-­‐Klassen 
▸ Foreman 
als 
ENC 
zur 
Parametrisierung 
von 
Puppet 
Rollen 
▸ Hiera 
Daten 
Parametrisierung 
von 
Modulen 
▸ Gitlab 
Commit 
Hooks 
zur 
Synchronisierung 
auf 
die 
Puppet-­‐Master 
inkl. 
Syntax-­‐Validierung 
via 
Jenkins 
Job 
▸ Milels 
Crypt-­‐Modul 
können 
Strings 
im 
ENC 
oder 
Hiera 
verschlüsselt 
abgelegt 
werden. 
Die 
Entschlüsselung 
erfolgt 
zentral 
durch 
den 
Puppetmaster.
9 
ApplicaTon 
Deployment 
!= 
ConfiguraTon 
Management 
▸ Das 
ConfiguraTon 
Management 
beschreibt 
die 
Laufzeit-­‐Umgebung 
einer 
ApplikaTon 
auf 
Basis 
von 
Host-­‐spezifischen 
InformaTonen 
(z.B. 
puppet 
facts). 
▸ Das 
Deployment-­‐Tool 
provisioniert 
die 
Laufzeitumgebung 
mit 
den 
ApplikaTonen. 
▸ Wir 
nutzen 
(R)?ex 
(www.rexify.org) 
und 
Jenkins. 
AlternaTven: 
mcollecTve, 
rundeck, 
saltstack 
▸ Das 
Lifecycle 
Management 
(Foreman) 
dient 
als 
CMDB. 
(Welche 
Systeme 
gibt 
es, 
wie 
sind 
diese 
parametrisiert?) 
▸ Das 
Deployment-­‐Tool 
fragt 
die 
InformaTonen 
ab 
und 
deployed 
auf 
Basis 
der 
InformaTonen 
die 
ApplikaTon 
in 
der 
Laufzeitumgebung.
puppetlabs.com 
10 
Puppet 
‣ entwickelt 
Luke 
Kanies 
‣ in 
ruby 
geschrieben 
‣ maintained 
by 
puppetlabs 
‣ Seit 
Version 
2.7.0 
unter 
Apache 
2.0 
Lizenz 
‣ enterprise 
version 
verfügbar 
“Puppet 
Open 
Source 
is 
a 
flexible, 
customizable 
framework 
available 
under 
the 
Apache 
2.0 
license 
designed 
to 
help 
system 
administrators 
automate 
the 
many 
repe66ve 
tasks 
they 
regularly 
perform. 
As 
a 
declara6ve, 
model-­‐based 
approach 
to 
IT 
automa6on, 
it 
lets 
you 
define 
the 
desired 
state 
-­‐ 
or 
the 
“what” 
-­‐ 
of 
your 
infrastructure 
using 
the 
Puppet 
configura6on 
language.”*
11 
Warum 
Puppet 
‣ Viele 
User 
‣ Viele 
Module 
‣ Skaliert 
gut 
‣ Wir 
haben 
viel 
Erfahrung 
gesammelt 
‣ … 
‣ Manchmal 
Komplex 
‣ Steile 
Lernkurve 
‣ Teilweise 
inkonsistent 
‣ … 
Pros: 
Cons: 
…es 
gibt 
Alterna?ven: 
Saltstack, 
Ansible, 
Chef, 
Cfengine… 
Letzten 
Endes 
ist 
es 
eine 
Frage 
des 
verfügbaren 
Know-­‐Hows.
12 
Puppet 
Architektur 
‣ Lokal 
oder 
Master-­‐Agent 
Setup, 
Agent 
fragt 
sporadisch 
beim 
Master 
an. 
‣ Eine 
Puppet 
CA 
‣ Master 
erzeugt 
eine 
Agent-­‐spezifischen 
Ausführungsplan 
(catalog), 
Agent 
wendet 
den 
catalog 
an. 
‣ OpTonal 
mehrere 
Masters 
(Skalierbarkeit) 
‣ OpTonal 
PuppetDB 
zum 
Austausch 
von 
Daten 
wie 
Reports 
und 
exported 
resources 
Puppet 
DB 
Puppet 
Master 
Puppet 
CA 
Puppet 
Agent 
kick
Puppet 
Module 
Basics 
‣ Puppet 
DSL 
‣ OpTonal 
Dateien 
und 
Templates 
‣ OpTonal 
Facts 
‣ OpTonal 
Tests 
13
Puppet 
Module 
Basics 
class openssh { 
package { 'openssh-server': 
ensure => installed, 
before => File['/etc/ssh/sshd_config'], 
} 
file { '/etc/ssh/sshd_config': 
ensure => file, 
owner => 'root', 
group => 'root', 
mode => '0600', 
source => “puppet:///modules/openssh/${::operatingsystem}/ 
sshd_config“, 
} 
service { 'ssh': 
ensure => running, 
enable => true, 
subscribe => File['/etc/ssh/sshd_config'], 
} 
} 
14
15 
Puppet 
Module 
Types 
Puppet Module Design 
Roles - Business Logic (optional) 
1 1 Node / ENC 
Hiera 
optional params.pp 
Profiles - Technology Abstraction (optional) 
environment specific data 
1..n 
Component Modules - Resource Modelling params.pp 
os and module specific data 
1 
1..n 
1 
1..n 
1 
1..n 
R R R R 
R R R 
1 1 
node to role classification 
Create 
roles 
from 
profiles 
Create 
service 
specific 
profiles 
from 
component 
modules 
+ 
config 
These 
are 
puppet 
forge 
modules
16 
Puppet 
Profiles 
class profile_one { 
class {'one': 
oned => true 
sunstone => true 
} 
}
17 
Puppet 
Roles 
class role_one_node { 
class {‘profile_base‘:} -> 
class {‘profile_ceph ‘:} -> 
class {‘profile_one ‘:} 
}
18 
Puppet 
and 
Version 
Control 
Module 
Repository 
Puppet Master 
Module 
Repository 
Puppet Master 
Jenkins 
Job 
(R)ex? task 
Puppet Master Server Puppet Master Server 
commit hook 
(R)ex? task
19 
Deployment 
& 
Lifecycle 
Management 
Virtual Network 
Physical Network 
Hosted Virtual Real 
Foreman REST API 
CMDB 
Deployment Lifecycle Mgmt.
20 
Was 
decken 
Foreman, 
Puppet, 
Rex 
& 
Jenkins 
ab? 
ü Konsistente, 
nachvollziehbare 
Erstellung 
von 
virtuellen 
Instanzen 
ü Flexible 
Anbindung 
von 
„Virtual 
Infrastructure“ 
und 
Cloud-­‐ 
Lösungen 
ü Deployment 
von 
Cloud-­‐Lösungen 
und 
„Virtual 
Infrastructure“ 
ü Patch 
Management 
via 
Katello 
oder 
standalone 
via 
Pulp 
ü Mandantenfähigkeit 
ü ConfiguraTon 
Management 
ü ApplicaTon 
Deployment 
✗ Monitoring 
und 
User 
Management 
✗ Infrastructure 
as 
Code
21 
Monitoring 
mit 
puppet 
und 
check_mk 
1 puppet agent deploys check_mk agent and checks 
2 master stores exported resources in puppetDB 
3 puppet agent on OMD server collects check_mk resources 
4 host.mk is regenerated and inventory is triggered 
5 inventory and agent checks of all deployed service checks 
Mathias-­‐kelner.de 
/ 
inovex 
checks 
checks 
Puppet Agent 
inventory and check agent 
Puppet DB 
Puppet Master Server Server or Instance 
Puppet Agent 
hosts.mk 
Puppet Master 
check_mk Agent 
check_mk OMD Server 
2 1 
3 
4 
5
22 
Usermanagement 
▸ SSSD 
mit 
Anbindung 
an 
LDAP 
▸ Dedizierter 
LDAP 
wird 
vom 
Konzern 
IdenTty 
Management 
System 
befüllt 
▸ Rechte 
auf 
Systemen 
auf 
Basis 
von 
Gruppenzugehörigkeiten 
▸ SSH 
Schlüssel 
im 
LDAP, 
Host-­‐Keys 
via 
puppet 
exported 
resources 
▸ Anbindung 
aller 
Subsysteme 
und 
Frontends 
an 
das 
AD 
oder 
den 
LDAP 
(GitLab, 
Foreman, 
usw.)
23 
Infrastructure 
as 
Code
24 
Vielen 
Dank 
für 
Ihre 
Aufmerksamkeit 
Kontakt 
Nils 
Domrose 
Senior 
Systems 
Engineer 
inovex 
GmbH 
Office 
cologne 
Schanzenstr. 
6-­‐20 
51063 
Köln 
nils.domrose@inovex.de

Weitere ähnliche Inhalte

Was ist angesagt?

Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterGunther Pippèrr
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenB1 Systems GmbH
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataGunther Pippèrr
 
OpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenOpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenB1 Systems GmbH
 
Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Martin Alfke
 
FFG2012: Parallelisierte Administration mit Marionette Collective
FFG2012: Parallelisierte Administration mit Marionette CollectiveFFG2012: Parallelisierte Administration mit Marionette Collective
FFG2012: Parallelisierte Administration mit Marionette CollectiveAndreas Schmidt
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführunggedoplan
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHagilemethoden
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...NETWAYS
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalteninovex GmbH
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenB1 Systems GmbH
 
Erfahrung mit virtuellen Systemen
Erfahrung mit virtuellen SystemenErfahrung mit virtuellen Systemen
Erfahrung mit virtuellen SystemenGFU Cyrus AG
 
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...NETWAYS
 
Hendrik Jungnitsch: Software verpacken mit Docker
Hendrik Jungnitsch: Software verpacken mit DockerHendrik Jungnitsch: Software verpacken mit Docker
Hendrik Jungnitsch: Software verpacken mit Dockergedoplan
 

Was ist angesagt? (20)

Ldap sqlnet
Ldap sqlnetLdap sqlnet
Ldap sqlnet
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
 
01 sqlplus
01 sqlplus01 sqlplus
01 sqlplus
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
 
OpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenOpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von Instanzen
 
Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014
 
FFG2012: Parallelisierte Administration mit Marionette Collective
FFG2012: Parallelisierte Administration mit Marionette CollectiveFFG2012: Parallelisierte Administration mit Marionette Collective
FFG2012: Parallelisierte Administration mit Marionette Collective
 
systemd & Docker
systemd & Dockersystemd & Docker
systemd & Docker
 
Docker Workbench
Docker WorkbenchDocker Workbench
Docker Workbench
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführung
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
 
Was ist Docker ?
Was ist Docker ?Was ist Docker ?
Was ist Docker ?
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
 
Erfahrung mit virtuellen Systemen
Erfahrung mit virtuellen SystemenErfahrung mit virtuellen Systemen
Erfahrung mit virtuellen Systemen
 
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
 
Hendrik Jungnitsch: Software verpacken mit Docker
Hendrik Jungnitsch: Software verpacken mit DockerHendrik Jungnitsch: Software verpacken mit Docker
Hendrik Jungnitsch: Software verpacken mit Docker
 

Ähnlich wie Opensource Tools für das Data Center Management

Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppetinovex GmbH
 
System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...Digicomp Academy AG
 
Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtB1 Systems GmbH
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet B1 Systems GmbH
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure NotebooksTEitelberg
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
ANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleCarolineAuerMarcher
 
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...NETWAYS
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)NETWAYS
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCBild GmbH & Co. KG
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebAndreas Schmidt
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013NETWAYS
 
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...inovex GmbH
 
Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingB1 Systems GmbH
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 

Ähnlich wie Opensource Tools für das Data Center Management (20)

Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppet
 
System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...
 
Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemacht
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure Notebooks
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
ANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat Ansible
 
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
Konfigurations Management mit Puppet (Webinar vom 17.10.2013)
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013
 
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
Continuous Delivery - Development Tool Chain - Virtualisierung, Packer, Vagra...
 
Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-Packaging
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 

Mehr von inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Mehr von inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Opensource Tools für das Data Center Management

  • 1. puppet, the foreman and everything Opensource Tools für das Datacenter Management Nils Domrose Köln, 24. Juni-­‐2014
  • 2. 2 Aufgabenstellung im Datacenter ▸ Konsistente, nachvollziehbare Erstellung von physikalischen Servern und virtuellen Instanzen ▸ Flexible Anbindung von „Virtual Infrastructure“ und Cloud-­‐ Lösungen ▸ Deployment von Cloud-­‐Lösungen und „Virtual Infrastructure“ ▸ ConfiguraTon Management ▸ Patch Management ▸ ggf. Mandantenfähigkeit ▸ ApplicaTon Deployment ▸ Monitoring und User Management ▸ Kurzum: Infrastructure as Code
  • 3. 3 Was ist Foreman? Lifecycle Management Tool für virtuelle und physikalische Server-­‐ und Compute-­‐Instanzen ▸ RedHat-­‐Projekt ▸ Image-­‐basierte Deployments ▸ PXE-­‐ und ISO*-­‐basierte Deployments ▸ IntegraTon und Provisionierung von Basis-­‐Infrastruktur-­‐ Komponenten wie TFTP, DHCP und DNS ▸ External Node Classifier (ENC) für Puppet und andere cfgmgmt-­‐ Systeme ▸ Dashboard für Puppet und Chef ▸ IntegraTon von Katello für Repository Management ▸ Gute Erweiterbarkeit durch Plugins (GUI und Features) ▸ Autodiscovery via Discovery-­‐Plugin * verbesserungsfähig durch Automa6sierung
  • 4. 4 Foreman Deployment Workflow 1 create new host 2 request lease 3 create DNS entries 4 request kernel & initrd 5 provision TFTP & PXE 6 create auto sign entry 7 create compute instance 8 DHCP request Quelle: inovex Smart- Proxy DHCP DNS Puppet Master 12 12 TFTP Puppet CA compute Resource OS Repo query unattended Resources virtual / physical Instances 9 PXE Boot unattended Resources 2 4 3 5 6 7 8 9 request puppet certificate GET ENC & catalog, upload facts notify finish 10 11 12 13 10 10 11 13 1 13
  • 5. 5 Was deckt Foreman ab? ü Konsistente, nachvollziehbare Erstellung von physikalischen Servern und virtuellen Instanzen ü Flexible Anbindung von „Virtual Infrastructure“ und Cloud-­‐ Lösungen ü Deployment von Cloud-­‐Lösungen und „Virtual Infrastructure“ ü Patch Management via Katello oder standalone via Pulp ü Mandantenfähigkeit ✗ ConfiguraTon Management ✗ ApplicaTon Deployment ✗ Monitoring und User Management ✗ Infrastructure as Code
  • 6. 6 Mandantenfähigkeit Quelle: theforeman.org / inovex GmbH
  • 7. 7 Foreman Roadmap ▸ Docker.io Support ▸ Neues Permission Management ▸ Service OS für Discovery Plugin (Firmware Updates, Inventory) ▸ AutomaTsierte, ISO-­‐Image-­‐basierte InstallaTon für virtuelle Systeme milels API und physikalischer Server milels IPMI
  • 8. 8 ConfiguraTon Management Puppet als Basis ▸ Gitlab als Quell-­‐VCS für Puppet-­‐Klassen ▸ Foreman als ENC zur Parametrisierung von Puppet Rollen ▸ Hiera Daten Parametrisierung von Modulen ▸ Gitlab Commit Hooks zur Synchronisierung auf die Puppet-­‐Master inkl. Syntax-­‐Validierung via Jenkins Job ▸ Milels Crypt-­‐Modul können Strings im ENC oder Hiera verschlüsselt abgelegt werden. Die Entschlüsselung erfolgt zentral durch den Puppetmaster.
  • 9. 9 ApplicaTon Deployment != ConfiguraTon Management ▸ Das ConfiguraTon Management beschreibt die Laufzeit-­‐Umgebung einer ApplikaTon auf Basis von Host-­‐spezifischen InformaTonen (z.B. puppet facts). ▸ Das Deployment-­‐Tool provisioniert die Laufzeitumgebung mit den ApplikaTonen. ▸ Wir nutzen (R)?ex (www.rexify.org) und Jenkins. AlternaTven: mcollecTve, rundeck, saltstack ▸ Das Lifecycle Management (Foreman) dient als CMDB. (Welche Systeme gibt es, wie sind diese parametrisiert?) ▸ Das Deployment-­‐Tool fragt die InformaTonen ab und deployed auf Basis der InformaTonen die ApplikaTon in der Laufzeitumgebung.
  • 10. puppetlabs.com 10 Puppet ‣ entwickelt Luke Kanies ‣ in ruby geschrieben ‣ maintained by puppetlabs ‣ Seit Version 2.7.0 unter Apache 2.0 Lizenz ‣ enterprise version verfügbar “Puppet Open Source is a flexible, customizable framework available under the Apache 2.0 license designed to help system administrators automate the many repe66ve tasks they regularly perform. As a declara6ve, model-­‐based approach to IT automa6on, it lets you define the desired state -­‐ or the “what” -­‐ of your infrastructure using the Puppet configura6on language.”*
  • 11. 11 Warum Puppet ‣ Viele User ‣ Viele Module ‣ Skaliert gut ‣ Wir haben viel Erfahrung gesammelt ‣ … ‣ Manchmal Komplex ‣ Steile Lernkurve ‣ Teilweise inkonsistent ‣ … Pros: Cons: …es gibt Alterna?ven: Saltstack, Ansible, Chef, Cfengine… Letzten Endes ist es eine Frage des verfügbaren Know-­‐Hows.
  • 12. 12 Puppet Architektur ‣ Lokal oder Master-­‐Agent Setup, Agent fragt sporadisch beim Master an. ‣ Eine Puppet CA ‣ Master erzeugt eine Agent-­‐spezifischen Ausführungsplan (catalog), Agent wendet den catalog an. ‣ OpTonal mehrere Masters (Skalierbarkeit) ‣ OpTonal PuppetDB zum Austausch von Daten wie Reports und exported resources Puppet DB Puppet Master Puppet CA Puppet Agent kick
  • 13. Puppet Module Basics ‣ Puppet DSL ‣ OpTonal Dateien und Templates ‣ OpTonal Facts ‣ OpTonal Tests 13
  • 14. Puppet Module Basics class openssh { package { 'openssh-server': ensure => installed, before => File['/etc/ssh/sshd_config'], } file { '/etc/ssh/sshd_config': ensure => file, owner => 'root', group => 'root', mode => '0600', source => “puppet:///modules/openssh/${::operatingsystem}/ sshd_config“, } service { 'ssh': ensure => running, enable => true, subscribe => File['/etc/ssh/sshd_config'], } } 14
  • 15. 15 Puppet Module Types Puppet Module Design Roles - Business Logic (optional) 1 1 Node / ENC Hiera optional params.pp Profiles - Technology Abstraction (optional) environment specific data 1..n Component Modules - Resource Modelling params.pp os and module specific data 1 1..n 1 1..n 1 1..n R R R R R R R 1 1 node to role classification Create roles from profiles Create service specific profiles from component modules + config These are puppet forge modules
  • 16. 16 Puppet Profiles class profile_one { class {'one': oned => true sunstone => true } }
  • 17. 17 Puppet Roles class role_one_node { class {‘profile_base‘:} -> class {‘profile_ceph ‘:} -> class {‘profile_one ‘:} }
  • 18. 18 Puppet and Version Control Module Repository Puppet Master Module Repository Puppet Master Jenkins Job (R)ex? task Puppet Master Server Puppet Master Server commit hook (R)ex? task
  • 19. 19 Deployment & Lifecycle Management Virtual Network Physical Network Hosted Virtual Real Foreman REST API CMDB Deployment Lifecycle Mgmt.
  • 20. 20 Was decken Foreman, Puppet, Rex & Jenkins ab? ü Konsistente, nachvollziehbare Erstellung von virtuellen Instanzen ü Flexible Anbindung von „Virtual Infrastructure“ und Cloud-­‐ Lösungen ü Deployment von Cloud-­‐Lösungen und „Virtual Infrastructure“ ü Patch Management via Katello oder standalone via Pulp ü Mandantenfähigkeit ü ConfiguraTon Management ü ApplicaTon Deployment ✗ Monitoring und User Management ✗ Infrastructure as Code
  • 21. 21 Monitoring mit puppet und check_mk 1 puppet agent deploys check_mk agent and checks 2 master stores exported resources in puppetDB 3 puppet agent on OMD server collects check_mk resources 4 host.mk is regenerated and inventory is triggered 5 inventory and agent checks of all deployed service checks Mathias-­‐kelner.de / inovex checks checks Puppet Agent inventory and check agent Puppet DB Puppet Master Server Server or Instance Puppet Agent hosts.mk Puppet Master check_mk Agent check_mk OMD Server 2 1 3 4 5
  • 22. 22 Usermanagement ▸ SSSD mit Anbindung an LDAP ▸ Dedizierter LDAP wird vom Konzern IdenTty Management System befüllt ▸ Rechte auf Systemen auf Basis von Gruppenzugehörigkeiten ▸ SSH Schlüssel im LDAP, Host-­‐Keys via puppet exported resources ▸ Anbindung aller Subsysteme und Frontends an das AD oder den LDAP (GitLab, Foreman, usw.)
  • 24. 24 Vielen Dank für Ihre Aufmerksamkeit Kontakt Nils Domrose Senior Systems Engineer inovex GmbH Office cologne Schanzenstr. 6-­‐20 51063 Köln nils.domrose@inovex.de