SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Satellite 6
Automation with Puppet
Michael Lessard, RHCA
Senior Solutions Architect, Red Hat
mlessard@redhat.com
michaellessard
April 2014
Contributors :
Jerome Doucerain (Bell)
Simon Piette (Savoir-faire Linux)
2 Satellite 6 – Automation with Puppet
Agenda
● Configuration management with Satellite 5.x
● Satellite 6 new features
● Introduction to Puppet
● Demonstration
● Puppet and Satellite 6
● Why Puppet ?
● Considerations if you want to move to Satellite 6
3
Satellite 6 – Automation with Puppet
Satellite 5.x
Configuration management
4 Satellite 6 – Automation with Puppet
Satellite 5.x – Configuration management features
● Manage all of your machines configurations from one
central location
● Create configuration channels for a machines or a
group of machines
● Create new files or upload existing config files
● Manage revision, compare versions
● Deploy configuration changes as part of config
management or associate with kickstart process
5 Satellite 6 – Automation with Puppet
6 Satellite 6 – Automation with Puppet
7 Satellite 6 – Automation with Puppet
8 Satellite 6 – Automation with Puppet
Row 1 Row 2 Row 3 Row 4
0
2
4
6
8
10
12
Column 1
Column 2
Column 3
9 Satellite 6 – Automation with Puppet
10 Satellite 6 – Automation with Puppet
Satellite 5.x – Configuration management cl
[r/]# rhncfg-manager create-channel rhel6-prod
Creating config channel rhel6-prod
[r/]# rhncfg-manager add --channel rhel6-prod /etc/hosts
Using server name satellitedemo.mlc.dom
Pushing to channel rhel6-prod
[r/]# rhncfg-manager diff --channel=rhel6-prod /etc/hosts
- 192.168.100.4 vm2.mlc.dom
+ 192.168.100.56 friday.mlc.dom
[r/]# rhncfg-client get /etc/hosts
Deploying /etc/hosts
11 Satellite 6 – Automation with Puppet
Satellite 6 – Foundation
Content Management
12 Satellite 6 – Automation with Puppet
13 Satellite 6 – Automation with Puppet
14 Satellite 6 – Automation with Puppet
Red Hat Satellite 5 & 6 Core Capabilities
✔ Provision 10s – 1000s
systems
✔ Configuration Management
✔ Automated Software
Distribution
✔ Lifecycle Management
✔ Administrator Dashboard
✔ Provision 10s – 10,000+ systems
✔ Recipe-Style Configuration
Management
✔ Automated Software Distribution
✔ Refined Lifecycle Management
✔ Customizable Dashboards
✔ Simplified Content Management
✔ Drift Management
✔ Federated Services &
Management
✔ Deploy on VMware, RHEV, EC2,
and OpenStack
Red Hat Satellite 5 Red Hat Satellite 6
15
Satellite 6 – Automation with Puppet
Introduction to Puppet
16 Satellite 6 – Automation with Puppet
What is Puppet ?
● Think of it as infrastructure code
● Describe stats, no step
● Paint a picture of your ideal and most clean system
Puppet does the rest
● Puppet focuses on managing constructs like users,
services and packages
● Puppet can detect the current state of the system
(Facter)
● Won’t make changes unless necessary
17 Satellite 6 – Automation with Puppet
Puppet Architecture
18 Satellite 6 – Automation with Puppet
PUPPET DSL
Example – managing ntp services with puppet
class ntp {
package { "ntp":
ensure => installed,
}
file { "ntp.conf":
path => '/etc/ntp.conf',
ensure => file,
require => Package[ "ntp" ],
source => "puppet:///modules/ntp/ntp.conf",
}
service { 'ntp':
name => 'ntpd',
ensure => running,
enable => true,
subscribe => File[ "ntp.conf" ],
}
}
PACKAGEPACKAGE
CONFIGURATIONCONFIGURATION
SERVICESERVICE
19 Satellite 6 – Automation with Puppet
Example – managing sshd service
class sshd {
augeas { "sshd_config":
context => "/files/etc/ssh/sshd_config",
changes => [
"set PermitRootLogin yes",
"set UsePAM no",
],
notify => Service[ "sshd" ]
}
service { "sshd":
ensure => running,
enable => true,
hasrestart => true,
}
}
20 Satellite 6 – Automation with Puppet
How does Puppet know about your system ?
● Using the Ruby library Facter
● Facter supports a large numbers of predefined facts
● Customs facts can be defined
# facter
architecture => x86_64
bios_vendor => Seabios
bios_version => 0.5.1
blockdevices => vda,vdb
interfaces => eth0,lo
ipaddress => 172.16.27.44
ipaddress_eth0 => 172.16.27.44
is_virtual => true
kernel => Linux
kernelmajversion => 2.6
kernelrelease => 2.6.32-431.el6.x86_64
kernelversion => 2.6.32
etc, ...
21
Satellite 6 – Automation with Puppet
Installation
22 Satellite 6 – Automation with Puppet
Installation Puppet server (RHEL 6)
[r/]# rhn-channel -a -c rhel-x86_64-server-optional-6
[r/]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
[r/]# yum install puppet-server puppet
[r/]# puppet --version
3.4.3
[r/]# chkconfig puppetmaster on ; service puppetmaster start
[r/]# chkconfig puppet on ; service puppet start
DON’T FORGET DNS RESOLUTION AND TIME SYNCHRONISATION
23 Satellite 6 – Automation with Puppet
Installation Puppet client (RHEL 6)
[r/]# rhn-channel -a -c rhel-x86_64-server-optional-6
[r/]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
[r/]# yum install puppet
[r/]# vim/etc/puppet/puppet.conf (add the following at the bottom)
server = puppet.example.com
runinterval = 120
report = true
[r/]# chkconfig puppet on ; service puppet start
On the puppetmaster server, sign the certs (possible to auto-sign)
[r/]# puppet cert sign puppet-client.example.com
DON’T FORGET DNS RESOLUTION AND TIME SYNCHRONISATION
24
Satellite 6 – Automation with Puppet
Demonstration
25 Satellite 6 – Automation with Puppet
First example 1/2 - deploy some files
On the puppetmaster server :
[r/]# cd /etc/puppet/modules
[r/]# mkdir -p specdirs/{files,manifests}
[r/]# vim /etc/puppet/modules/specfirs/manifest
class specdirs {
file { ['/test/','/test/etc','/test/etc/rc/','/test/etc/rc/shared']:
ensure => "directory",
owner => "root",
group => "root",
mode => "750",
}
}
26 Satellite 6 – Automation with Puppet
First example 2/2
[r/]# vim /etc/puppet/manifests/site.pp
#-----------------------------------------------------
# site.pp
#-----------------------------------------------------
include specdirs
[r/]# puppet apply /etc/puppet/manifests/site.pp
Notice: Compiled catalog for puppetmaster.mlc.dom in environment production in 0.05
seconds
Notice: /Stage[main]/Specdirs/File[/test/]/ensure: created
Notice: /Stage[main]/Specdirs/File[/test/etc]/ensure: created
Notice: /Stage[main]/Specdirs/File[/test/etc/rc/]/ensure: created
Notice: /Stage[main]/Specdirs/File[/test/etc/rc/shared]/ensure: created
Notice: Finished catalog run in 0.09 seconds
On the puppet client :
Test the communication with the server
[r/]# puppet agent --test --waitforcert 60
27
Satellite 6 – Automation with Puppet
Puppet dashboard
Installation
28 Satellite 6 – Automation with Puppet
Install Puppet – Dashboard 1/3
On the Puppetmaster server
[r/]# yum install mysql mysql-server puppet-dashboard
[r/]# vi /etc/my.cnf (add the following)
max_allowed_packet = 32M
[r/]# chkconfig mysqld on ; service mysqld start
[r/]# vi /usr/share/puppet-dashboard/config/settings.yml (change the following)
(run rake time:zones:local to find your timezone)
time_zone: 'Eastern Time (US & Canada)'
29 Satellite 6 – Automation with Puppet
Install Puppet – Dashboard 2/3
[r/]# mysql
mysql> CREATE DATABASE dashboard CHARACTER SET utf8;
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'my_password';
mysql> GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost';
mysql> quit
[r/]# cd ~puppet-dashboard && rake RAILS_ENV=production db:migrat
30 Satellite 6 – Automation with Puppet
Install Puppet – Dashboard 3/3
[r/]# chkconfig puppet-dasboard on ; service puppet-dashboard start
[r/]# vi /etc/puppet/puppet.conf
[master]
reports = store, http
reporturl = http://puppet.example.com:3000/reports/upload
[r/]# touch /usr/share/puppet-dashboard/log/production.log
[r/]# chmod 666 /usr/share/puppet-dashboard/log/production.log
[r/]# chkconfig puppet-dashboard-workers on ; service puppet-dashboard-workers
start
http://puppetmaster.mlc.dom:3000
31 Satellite 6 – Automation with Puppet
32
Satellite 6 – Automation with Puppet
PUPPET AND SATELLITE 6
33 Satellite 6 – Automation with Puppet
What Puppet does than Satellite doesn’t
● Start/restart services
● Restart a service after a configuration change
● Create users, remove users
● Aware of your systems state
● Enforce something
● Manages BSD/*nix and Windows (2003, 2008, 7)
● Resources relationship
● Edit a configuration file
34 Satellite 6 – Automation with Puppet
Why Puppet ?
Puppet vs Chef vs
Ansible vs Salt
Source :
http://www.infoworld.com/d/data-
center/review-puppet-vs-chef-vs-
ansible-vs-salt-231308?page=0,0
35 Satellite 6 – Automation with Puppet
Puppet / Satellite 6 considerations
● Keep Puppet modules as modular as possible and
single tasked
● Using role and profile classes is recommended.
● This will allow users to map the modules or role and
profile classes to Satellite host groups.
● User should consider building module artifacts as
archives as if using Puppet Forge. This will allow
import of modules into Satellite 6 and for it to display
details of the module.
● Define Modulefiles for modules so dependencies are
explicitly declared
36 Satellite 6 – Automation with Puppet
Puppet / Satellite 6 considerations
● Manifests inside of modules are supported, but
manifests containing classes outside of modules will
not be supported
● The use of node definitions within manifests is not
supported
node vm1.example.com {
file { '/tmp/test.txt' :
content => "Bye bye !!n",
}
}
● Hiera function call will be supported. (Foreman, alt:
smart variables)
37 Satellite 6 – Automation with Puppet
Puppet Forge
● A community driven web service
● A repository of modules
[r/]# puppet module list
[r/]# puppet module search apache
[r/]# puppet module install puppetlabs-apache
[r/]# puppet module upgrade puppetlabs-apach –version -.0.3
http://docs.puppetlabs.com/guides/module_guides/bgtm.html
38 Satellite 6 – Automation with Puppet
39
Satellite 6 – Automation with Puppet
References
40 Satellite 6 – Automation with Puppet
References
● Convert Satellite 5 Configuration channels into Puppet
Modules : Puppetize (http://youtu.be/x-mR8EfxJZw)
● A tool that takes arbitrary local file input and outputs
puppet DSL : Lambchop
(https://github.com/thoraxe/lambchop)
● http://docs.puppetlabs.com/geppetto/latest/index.html
Integrated development for puppet : Geppetto
Eclipse module
41
Satellite 6 – Automation with Puppet
Questions ?
42 Satellite 6 – Automation with Puppet
Puppet debugging notes
● Port 8140
● Cert troubles
● yum remove puppet
● rm -rf /var/lib/puppet
● rm -rf /etc/puppet
● On master
# puppet cert list (to see which ones require a signature)
# puppet cert list --all (show all certificates)
# puppet cert clean vm1.mlc.dom
# puppet cert revoke vm1.mlc.dom
43 Satellite 6 – Automation with Puppet
Scaling Puppet
● WEBrick, default webserver, 10 nodes max
● Passenger or Mongrel
● Passenger : mod_rail or mod_rack (Apache 2 module)
● Don’t use the deamon, use cronjob
● Puppet agent --onetime
● No central host (rsync, git) - scales infinitely
● More tricks in the puppet documentation
44
Satellite 6 – Automation with Puppet
THANK YOU !
Michael Lessard, RHCA
Senior Solutions Architect, Red Hat
mlessard@redhat.com
michaellessard

Contenu connexe

Tendances

Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing GuideJose De La Rosa
 
Introduction to rook
Introduction to rookIntroduction to rook
Introduction to rookRohan Gupta
 
Red Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptxRed Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptxssuser18b1c6
 
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in ProductionKong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in ProductionFIWARE
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdfVuHoangAnh14
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to AnsibleKnoldus Inc.
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017 Karan Singh
 
DevOps - Interview Question.pdf
DevOps - Interview Question.pdfDevOps - Interview Question.pdf
DevOps - Interview Question.pdfMinhTrnNht7
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureAlex Baretto
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanWeston Bassler
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installationRobert Bohne
 
Ansible Integration in Foreman
Ansible Integration in ForemanAnsible Integration in Foreman
Ansible Integration in ForemanNikhil Kathole
 
OverlayFS as a Docker Storage Driver
OverlayFS as a Docker Storage DriverOverlayFS as a Docker Storage Driver
OverlayFS as a Docker Storage DriverTomoya Akase
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep DiveRed_Hat_Storage
 
Oracle نوشته مهندس اسمعیل دخت
Oracle  نوشته مهندس اسمعیل دختOracle  نوشته مهندس اسمعیل دخت
Oracle نوشته مهندس اسمعیل دختYashar Esmaildokht
 
DevOps best practices with OpenShift
DevOps best practices with OpenShiftDevOps best practices with OpenShift
DevOps best practices with OpenShiftMichael Lehmann
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansibleKhizer Naeem
 

Tendances (20)

Red Hat Insights
Red Hat InsightsRed Hat Insights
Red Hat Insights
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
 
Introduction to rook
Introduction to rookIntroduction to rook
Introduction to rook
 
Red Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptxRed Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptx
 
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in ProductionKong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017
 
DevOps - Interview Question.pdf
DevOps - Interview Question.pdfDevOps - Interview Question.pdf
DevOps - Interview Question.pdf
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud Infrastructure
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The Foreman
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Ansible Integration in Foreman
Ansible Integration in ForemanAnsible Integration in Foreman
Ansible Integration in Foreman
 
OverlayFS as a Docker Storage Driver
OverlayFS as a Docker Storage DriverOverlayFS as a Docker Storage Driver
OverlayFS as a Docker Storage Driver
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep Dive
 
Oracle نوشته مهندس اسمعیل دخت
Oracle  نوشته مهندس اسمعیل دختOracle  نوشته مهندس اسمعیل دخت
Oracle نوشته مهندس اسمعیل دخت
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
 
DevOps best practices with OpenShift
DevOps best practices with OpenShiftDevOps best practices with OpenShift
DevOps best practices with OpenShift
 
Graylog
GraylogGraylog
Graylog
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
 

En vedette

Nginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failedNginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failedVCP Muthukrishna
 
How To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShellHow To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShellVCP Muthukrishna
 
How To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuHow To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuVCP Muthukrishna
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7VCP Muthukrishna
 
How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7VCP Muthukrishna
 
How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7VCP Muthukrishna
 
How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7VCP Muthukrishna
 
How To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShellHow To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShellVCP Muthukrishna
 

En vedette (8)

Nginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failedNginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failed
 
How To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShellHow To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShell
 
How To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuHow To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on Ubuntu
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7
 
How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7
 
How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7
 
How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7
 
How To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShellHow To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShell
 

Similaire à Red Hat Satellite 6 - Automation with Puppet

Satellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionSatellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionMichael Lessard
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingStanislav Osipov
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerPuppet
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrapeSharad Aggarwal
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesPuppet
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakNETWAYS
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetesmountpoint.io
 
De-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentDe-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentSam Bashton
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentPuppet
 
Scalable Systems Management with Puppet
Scalable Systems Management with PuppetScalable Systems Management with Puppet
Scalable Systems Management with PuppetPuppet
 
Scalable systems management with puppet
Scalable systems management with puppetScalable systems management with puppet
Scalable systems management with puppetPuppet
 
Integrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsIntegrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsLuca Mazzaferro
 
John Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesJohn Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesShapeBlue
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfOpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfssuser9e06a61
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Ajith Ramawickrama
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpNathan Handler
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesJimmy Angelakos
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbedDaniel Bimschas
 
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringStrategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringAlessandro Franceschi
 

Similaire à Red Hat Satellite 6 - Automation with Puppet (20)

Satellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionSatellite 6 - Pupet Introduction
Satellite 6 - Pupet Introduction
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scaling
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrape
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large Enterprises
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetes
 
De-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentDe-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environment
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
 
Scalable Systems Management with Puppet
Scalable Systems Management with PuppetScalable Systems Management with Puppet
Scalable Systems Management with Puppet
 
Scalable systems management with puppet
Scalable systems management with puppetScalable systems management with puppet
Scalable systems management with puppet
 
Integrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsIntegrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperations
 
John Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesJohn Spray - Ceph in Kubernetes
John Spray - Ceph in Kubernetes
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfOpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at Yelp
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringStrategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoring
 

Dernier

Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Sherazi Tours
 
Genesis 1:6 || Meditate the Scripture daily verse by verse
Genesis 1:6  ||  Meditate the Scripture daily verse by verseGenesis 1:6  ||  Meditate the Scripture daily verse by verse
Genesis 1:6 || Meditate the Scripture daily verse by versemaricelcanoynuay
 
BERMUDA Triangle the mystery of life.pptx
BERMUDA Triangle the mystery of life.pptxBERMUDA Triangle the mystery of life.pptx
BERMUDA Triangle the mystery of life.pptxseri bangash
 
DARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxDARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxBeEducate
 
Hire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
Hire 💕 8617697112 Champawat Call Girls Service Call Girls AgencyHire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
Hire 💕 8617697112 Champawat Call Girls Service Call Girls AgencyNitya salvi
 
Hire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
Hire 💕 8617697112 Chamba Call Girls Service Call Girls AgencyHire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
Hire 💕 8617697112 Chamba Call Girls Service Call Girls AgencyNitya salvi
 
Experience the Magic of Saint Martin and Sint Maarten with Find American Rent...
Experience the Magic of Saint Martin and Sint Maarten with Find American Rent...Experience the Magic of Saint Martin and Sint Maarten with Find American Rent...
Experience the Magic of Saint Martin and Sint Maarten with Find American Rent...Find American Rentals
 
visa consultant | 📞📞 03094429236 || Best Study Visa Consultant
visa consultant | 📞📞 03094429236 || Best Study Visa Consultantvisa consultant | 📞📞 03094429236 || Best Study Visa Consultant
visa consultant | 📞📞 03094429236 || Best Study Visa ConsultantSherazi Tours
 
💕📲09602870969💓Girl Escort Services Udaipur Call Girls in Chittorgarh Haldighati
💕📲09602870969💓Girl Escort Services Udaipur Call Girls in Chittorgarh Haldighati💕📲09602870969💓Girl Escort Services Udaipur Call Girls in Chittorgarh Haldighati
💕📲09602870969💓Girl Escort Services Udaipur Call Girls in Chittorgarh HaldighatiApsara Of India
 
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking MenDelhi Call girls
 
Top 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxTop 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxdishha99
 
Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Sherazi Tours
 
08448380779 Call Girls In Chhattarpur Women Seeking Men
08448380779 Call Girls In Chhattarpur Women Seeking Men08448380779 Call Girls In Chhattarpur Women Seeking Men
08448380779 Call Girls In Chhattarpur Women Seeking MenDelhi Call girls
 
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779Delhi Call girls
 
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday SafarisKibera Holiday Safaris Safaris
 
best weekend places near delhi where you should visit.pdf
best weekend places near delhi where you should visit.pdfbest weekend places near delhi where you should visit.pdf
best weekend places near delhi where you should visit.pdftour guide
 

Dernier (20)

Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236
 
Genesis 1:6 || Meditate the Scripture daily verse by verse
Genesis 1:6  ||  Meditate the Scripture daily verse by verseGenesis 1:6  ||  Meditate the Scripture daily verse by verse
Genesis 1:6 || Meditate the Scripture daily verse by verse
 
BERMUDA Triangle the mystery of life.pptx
BERMUDA Triangle the mystery of life.pptxBERMUDA Triangle the mystery of life.pptx
BERMUDA Triangle the mystery of life.pptx
 
DARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxDARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda Bux
 
Hire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
Hire 💕 8617697112 Champawat Call Girls Service Call Girls AgencyHire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
Hire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
 
Hire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
Hire 💕 8617697112 Chamba Call Girls Service Call Girls AgencyHire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
Hire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
 
Experience the Magic of Saint Martin and Sint Maarten with Find American Rent...
Experience the Magic of Saint Martin and Sint Maarten with Find American Rent...Experience the Magic of Saint Martin and Sint Maarten with Find American Rent...
Experience the Magic of Saint Martin and Sint Maarten with Find American Rent...
 
visa consultant | 📞📞 03094429236 || Best Study Visa Consultant
visa consultant | 📞📞 03094429236 || Best Study Visa Consultantvisa consultant | 📞📞 03094429236 || Best Study Visa Consultant
visa consultant | 📞📞 03094429236 || Best Study Visa Consultant
 
Call Girls In Munirka 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Munirka 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In Munirka 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Munirka 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Call Girls 🫤 Connaught Place ➡️ 9999965857 ➡️ Delhi 🫦 Russian Escorts FULL ...
Call Girls 🫤 Connaught Place ➡️ 9999965857  ➡️ Delhi 🫦  Russian Escorts FULL ...Call Girls 🫤 Connaught Place ➡️ 9999965857  ➡️ Delhi 🫦  Russian Escorts FULL ...
Call Girls 🫤 Connaught Place ➡️ 9999965857 ➡️ Delhi 🫦 Russian Escorts FULL ...
 
💕📲09602870969💓Girl Escort Services Udaipur Call Girls in Chittorgarh Haldighati
💕📲09602870969💓Girl Escort Services Udaipur Call Girls in Chittorgarh Haldighati💕📲09602870969💓Girl Escort Services Udaipur Call Girls in Chittorgarh Haldighati
💕📲09602870969💓Girl Escort Services Udaipur Call Girls in Chittorgarh Haldighati
 
Call Girls Service !! Indirapuram!! @9999965857 Delhi 🫦 No Advance VVVIP 🍎 S...
Call Girls Service !! Indirapuram!! @9999965857 Delhi 🫦 No Advance  VVVIP 🍎 S...Call Girls Service !! Indirapuram!! @9999965857 Delhi 🫦 No Advance  VVVIP 🍎 S...
Call Girls Service !! Indirapuram!! @9999965857 Delhi 🫦 No Advance VVVIP 🍎 S...
 
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
08448380779 Call Girls In Bhikaji Cama Palace Women Seeking Men
 
Top 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxTop 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptx
 
Call Girls Service !! New Friends Colony!! @9999965857 Delhi 🫦 No Advance VV...
Call Girls Service !! New Friends Colony!! @9999965857 Delhi 🫦 No Advance  VV...Call Girls Service !! New Friends Colony!! @9999965857 Delhi 🫦 No Advance  VV...
Call Girls Service !! New Friends Colony!! @9999965857 Delhi 🫦 No Advance VV...
 
Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236
 
08448380779 Call Girls In Chhattarpur Women Seeking Men
08448380779 Call Girls In Chhattarpur Women Seeking Men08448380779 Call Girls In Chhattarpur Women Seeking Men
08448380779 Call Girls In Chhattarpur Women Seeking Men
 
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
 
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
 
best weekend places near delhi where you should visit.pdf
best weekend places near delhi where you should visit.pdfbest weekend places near delhi where you should visit.pdf
best weekend places near delhi where you should visit.pdf
 

Red Hat Satellite 6 - Automation with Puppet

  • 1. Satellite 6 Automation with Puppet Michael Lessard, RHCA Senior Solutions Architect, Red Hat mlessard@redhat.com michaellessard April 2014 Contributors : Jerome Doucerain (Bell) Simon Piette (Savoir-faire Linux)
  • 2. 2 Satellite 6 – Automation with Puppet Agenda ● Configuration management with Satellite 5.x ● Satellite 6 new features ● Introduction to Puppet ● Demonstration ● Puppet and Satellite 6 ● Why Puppet ? ● Considerations if you want to move to Satellite 6
  • 3. 3 Satellite 6 – Automation with Puppet Satellite 5.x Configuration management
  • 4. 4 Satellite 6 – Automation with Puppet Satellite 5.x – Configuration management features ● Manage all of your machines configurations from one central location ● Create configuration channels for a machines or a group of machines ● Create new files or upload existing config files ● Manage revision, compare versions ● Deploy configuration changes as part of config management or associate with kickstart process
  • 5. 5 Satellite 6 – Automation with Puppet
  • 6. 6 Satellite 6 – Automation with Puppet
  • 7. 7 Satellite 6 – Automation with Puppet
  • 8. 8 Satellite 6 – Automation with Puppet Row 1 Row 2 Row 3 Row 4 0 2 4 6 8 10 12 Column 1 Column 2 Column 3
  • 9. 9 Satellite 6 – Automation with Puppet
  • 10. 10 Satellite 6 – Automation with Puppet Satellite 5.x – Configuration management cl [r/]# rhncfg-manager create-channel rhel6-prod Creating config channel rhel6-prod [r/]# rhncfg-manager add --channel rhel6-prod /etc/hosts Using server name satellitedemo.mlc.dom Pushing to channel rhel6-prod [r/]# rhncfg-manager diff --channel=rhel6-prod /etc/hosts - 192.168.100.4 vm2.mlc.dom + 192.168.100.56 friday.mlc.dom [r/]# rhncfg-client get /etc/hosts Deploying /etc/hosts
  • 11. 11 Satellite 6 – Automation with Puppet Satellite 6 – Foundation Content Management
  • 12. 12 Satellite 6 – Automation with Puppet
  • 13. 13 Satellite 6 – Automation with Puppet
  • 14. 14 Satellite 6 – Automation with Puppet Red Hat Satellite 5 & 6 Core Capabilities ✔ Provision 10s – 1000s systems ✔ Configuration Management ✔ Automated Software Distribution ✔ Lifecycle Management ✔ Administrator Dashboard ✔ Provision 10s – 10,000+ systems ✔ Recipe-Style Configuration Management ✔ Automated Software Distribution ✔ Refined Lifecycle Management ✔ Customizable Dashboards ✔ Simplified Content Management ✔ Drift Management ✔ Federated Services & Management ✔ Deploy on VMware, RHEV, EC2, and OpenStack Red Hat Satellite 5 Red Hat Satellite 6
  • 15. 15 Satellite 6 – Automation with Puppet Introduction to Puppet
  • 16. 16 Satellite 6 – Automation with Puppet What is Puppet ? ● Think of it as infrastructure code ● Describe stats, no step ● Paint a picture of your ideal and most clean system Puppet does the rest ● Puppet focuses on managing constructs like users, services and packages ● Puppet can detect the current state of the system (Facter) ● Won’t make changes unless necessary
  • 17. 17 Satellite 6 – Automation with Puppet Puppet Architecture
  • 18. 18 Satellite 6 – Automation with Puppet PUPPET DSL Example – managing ntp services with puppet class ntp { package { "ntp": ensure => installed, } file { "ntp.conf": path => '/etc/ntp.conf', ensure => file, require => Package[ "ntp" ], source => "puppet:///modules/ntp/ntp.conf", } service { 'ntp': name => 'ntpd', ensure => running, enable => true, subscribe => File[ "ntp.conf" ], } } PACKAGEPACKAGE CONFIGURATIONCONFIGURATION SERVICESERVICE
  • 19. 19 Satellite 6 – Automation with Puppet Example – managing sshd service class sshd { augeas { "sshd_config": context => "/files/etc/ssh/sshd_config", changes => [ "set PermitRootLogin yes", "set UsePAM no", ], notify => Service[ "sshd" ] } service { "sshd": ensure => running, enable => true, hasrestart => true, } }
  • 20. 20 Satellite 6 – Automation with Puppet How does Puppet know about your system ? ● Using the Ruby library Facter ● Facter supports a large numbers of predefined facts ● Customs facts can be defined # facter architecture => x86_64 bios_vendor => Seabios bios_version => 0.5.1 blockdevices => vda,vdb interfaces => eth0,lo ipaddress => 172.16.27.44 ipaddress_eth0 => 172.16.27.44 is_virtual => true kernel => Linux kernelmajversion => 2.6 kernelrelease => 2.6.32-431.el6.x86_64 kernelversion => 2.6.32 etc, ...
  • 21. 21 Satellite 6 – Automation with Puppet Installation
  • 22. 22 Satellite 6 – Automation with Puppet Installation Puppet server (RHEL 6) [r/]# rhn-channel -a -c rhel-x86_64-server-optional-6 [r/]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm [r/]# yum install puppet-server puppet [r/]# puppet --version 3.4.3 [r/]# chkconfig puppetmaster on ; service puppetmaster start [r/]# chkconfig puppet on ; service puppet start DON’T FORGET DNS RESOLUTION AND TIME SYNCHRONISATION
  • 23. 23 Satellite 6 – Automation with Puppet Installation Puppet client (RHEL 6) [r/]# rhn-channel -a -c rhel-x86_64-server-optional-6 [r/]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm [r/]# yum install puppet [r/]# vim/etc/puppet/puppet.conf (add the following at the bottom) server = puppet.example.com runinterval = 120 report = true [r/]# chkconfig puppet on ; service puppet start On the puppetmaster server, sign the certs (possible to auto-sign) [r/]# puppet cert sign puppet-client.example.com DON’T FORGET DNS RESOLUTION AND TIME SYNCHRONISATION
  • 24. 24 Satellite 6 – Automation with Puppet Demonstration
  • 25. 25 Satellite 6 – Automation with Puppet First example 1/2 - deploy some files On the puppetmaster server : [r/]# cd /etc/puppet/modules [r/]# mkdir -p specdirs/{files,manifests} [r/]# vim /etc/puppet/modules/specfirs/manifest class specdirs { file { ['/test/','/test/etc','/test/etc/rc/','/test/etc/rc/shared']: ensure => "directory", owner => "root", group => "root", mode => "750", } }
  • 26. 26 Satellite 6 – Automation with Puppet First example 2/2 [r/]# vim /etc/puppet/manifests/site.pp #----------------------------------------------------- # site.pp #----------------------------------------------------- include specdirs [r/]# puppet apply /etc/puppet/manifests/site.pp Notice: Compiled catalog for puppetmaster.mlc.dom in environment production in 0.05 seconds Notice: /Stage[main]/Specdirs/File[/test/]/ensure: created Notice: /Stage[main]/Specdirs/File[/test/etc]/ensure: created Notice: /Stage[main]/Specdirs/File[/test/etc/rc/]/ensure: created Notice: /Stage[main]/Specdirs/File[/test/etc/rc/shared]/ensure: created Notice: Finished catalog run in 0.09 seconds On the puppet client : Test the communication with the server [r/]# puppet agent --test --waitforcert 60
  • 27. 27 Satellite 6 – Automation with Puppet Puppet dashboard Installation
  • 28. 28 Satellite 6 – Automation with Puppet Install Puppet – Dashboard 1/3 On the Puppetmaster server [r/]# yum install mysql mysql-server puppet-dashboard [r/]# vi /etc/my.cnf (add the following) max_allowed_packet = 32M [r/]# chkconfig mysqld on ; service mysqld start [r/]# vi /usr/share/puppet-dashboard/config/settings.yml (change the following) (run rake time:zones:local to find your timezone) time_zone: 'Eastern Time (US & Canada)'
  • 29. 29 Satellite 6 – Automation with Puppet Install Puppet – Dashboard 2/3 [r/]# mysql mysql> CREATE DATABASE dashboard CHARACTER SET utf8; mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'my_password'; mysql> GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost'; mysql> quit [r/]# cd ~puppet-dashboard && rake RAILS_ENV=production db:migrat
  • 30. 30 Satellite 6 – Automation with Puppet Install Puppet – Dashboard 3/3 [r/]# chkconfig puppet-dasboard on ; service puppet-dashboard start [r/]# vi /etc/puppet/puppet.conf [master] reports = store, http reporturl = http://puppet.example.com:3000/reports/upload [r/]# touch /usr/share/puppet-dashboard/log/production.log [r/]# chmod 666 /usr/share/puppet-dashboard/log/production.log [r/]# chkconfig puppet-dashboard-workers on ; service puppet-dashboard-workers start http://puppetmaster.mlc.dom:3000
  • 31. 31 Satellite 6 – Automation with Puppet
  • 32. 32 Satellite 6 – Automation with Puppet PUPPET AND SATELLITE 6
  • 33. 33 Satellite 6 – Automation with Puppet What Puppet does than Satellite doesn’t ● Start/restart services ● Restart a service after a configuration change ● Create users, remove users ● Aware of your systems state ● Enforce something ● Manages BSD/*nix and Windows (2003, 2008, 7) ● Resources relationship ● Edit a configuration file
  • 34. 34 Satellite 6 – Automation with Puppet Why Puppet ? Puppet vs Chef vs Ansible vs Salt Source : http://www.infoworld.com/d/data- center/review-puppet-vs-chef-vs- ansible-vs-salt-231308?page=0,0
  • 35. 35 Satellite 6 – Automation with Puppet Puppet / Satellite 6 considerations ● Keep Puppet modules as modular as possible and single tasked ● Using role and profile classes is recommended. ● This will allow users to map the modules or role and profile classes to Satellite host groups. ● User should consider building module artifacts as archives as if using Puppet Forge. This will allow import of modules into Satellite 6 and for it to display details of the module. ● Define Modulefiles for modules so dependencies are explicitly declared
  • 36. 36 Satellite 6 – Automation with Puppet Puppet / Satellite 6 considerations ● Manifests inside of modules are supported, but manifests containing classes outside of modules will not be supported ● The use of node definitions within manifests is not supported node vm1.example.com { file { '/tmp/test.txt' : content => "Bye bye !!n", } } ● Hiera function call will be supported. (Foreman, alt: smart variables)
  • 37. 37 Satellite 6 – Automation with Puppet Puppet Forge ● A community driven web service ● A repository of modules [r/]# puppet module list [r/]# puppet module search apache [r/]# puppet module install puppetlabs-apache [r/]# puppet module upgrade puppetlabs-apach –version -.0.3 http://docs.puppetlabs.com/guides/module_guides/bgtm.html
  • 38. 38 Satellite 6 – Automation with Puppet
  • 39. 39 Satellite 6 – Automation with Puppet References
  • 40. 40 Satellite 6 – Automation with Puppet References ● Convert Satellite 5 Configuration channels into Puppet Modules : Puppetize (http://youtu.be/x-mR8EfxJZw) ● A tool that takes arbitrary local file input and outputs puppet DSL : Lambchop (https://github.com/thoraxe/lambchop) ● http://docs.puppetlabs.com/geppetto/latest/index.html Integrated development for puppet : Geppetto Eclipse module
  • 41. 41 Satellite 6 – Automation with Puppet Questions ?
  • 42. 42 Satellite 6 – Automation with Puppet Puppet debugging notes ● Port 8140 ● Cert troubles ● yum remove puppet ● rm -rf /var/lib/puppet ● rm -rf /etc/puppet ● On master # puppet cert list (to see which ones require a signature) # puppet cert list --all (show all certificates) # puppet cert clean vm1.mlc.dom # puppet cert revoke vm1.mlc.dom
  • 43. 43 Satellite 6 – Automation with Puppet Scaling Puppet ● WEBrick, default webserver, 10 nodes max ● Passenger or Mongrel ● Passenger : mod_rail or mod_rack (Apache 2 module) ● Don’t use the deamon, use cronjob ● Puppet agent --onetime ● No central host (rsync, git) - scales infinitely ● More tricks in the puppet documentation
  • 44. 44 Satellite 6 – Automation with Puppet THANK YOU ! Michael Lessard, RHCA Senior Solutions Architect, Red Hat mlessard@redhat.com michaellessard