Quantcast
Channel: OlinData - puppet
Viewing all articles
Browse latest Browse all 32

Setup Puppet Server on CentOS 7.0

$
0
0
puppetserver

Puppet Server is a next-generation alternative to our current puppet master, which builds on the successful Clojure technology stack underlying products like PuppetDB. Puppet Server is an application that runs on the Java Virtual Machine (JVM) and provides the same services as the classic Puppet master application. It mostly does this by running the existing Puppet master code in several JRuby interpreters, but it replaces some parts of the classic application with new services written in Clojure.

Puppet Server is one of two recommended ways to run the Puppet master service; the other is a Rack server. Today they’re mostly equivalent — Puppet Server is easier to set up and performs better under heavy loads, but they provide the same services. In the future, Puppet Server’s features will further surpass the Rack Puppet master.

System Requirements

Puppet Server is configured to use 2GB of RAM by default. Just to play around with an installation on a Virtual Machine. However, ram can be reduced to minimum of 512MB in test enviornment. Make sure you have good amount of ram when using puppet server in production though to guarantee optimal performance.

Puppet Server: Installing

Enable the puppetlabs package repository i.e. for centos and debian based systems. Check the operating system version and download the compatiable repository package.

[root@puppetserver ~]# wget http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
--2015-03-01 20:12:25--  http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
Resolving yum.puppetlabs.com (yum.puppetlabs.com)... 198.58.114.168, 2600:3c00::f03c:91ff:fe69:6bf0
Connecting to yum.puppetlabs.com (yum.puppetlabs.com)|198.58.114.168|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10160 (9.9K) [application/x-redhat-package-manager]
Saving to: ‘puppetlabs-release-el-7.noarch.rpm’

100%[===================================================================================================================>] 10,160      --.-K/s   in 0s      

2015-03-01 20:12:32 (61.8 MB/s) - ‘puppetlabs-release-el-7.noarch.rpm’ saved [10160/10160]

[root@puppetserver ~]# rpm -ivh puppetlabs-release-el-7.noarch.rpm
warning: puppetlabs-release-el-7.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 4bd6ec30: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:puppetlabs-release-7-11          ################################# [100%]
[root@puppetserver ~]#

In case you're setting up Puppet Server on the same server you were running the classic puppet master, make sure to stop the apache and puppet master services on the existing system before starting puppet server.

Install

Install the Puppet Server using the below command. This command will install puppetserver (don't confuse with puppet-server) along with all it's dependancies. The dependancy packages are listed below as well. This gives an idea of the dependancies.

yum install puppetserver

[root@puppetserver ~]# yum install puppetserver
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.excellmedia.net
 * extras: centos.excellmedia.net
 * updates: centos.excellmedia.net
Resolving Dependencies
--> Running transaction check
---> Package puppetserver.noarch 0:1.0.2-1.el7 will be installed
--> Processing Dependency: puppet < 4.0.0 for package: puppetserver-1.0.2-1.el7.noarch
--> Processing Dependency: puppet >= 3.7.3 for package: puppetserver-1.0.2-1.el7.noarch
--> Processing Dependency: java-1.7.0-openjdk for package: puppetserver-1.0.2-1.el7.noarch
--> Running transaction check
---> Package java-1.7.0-openjdk.x86_64 1:1.7.0.75-2.5.4.2.el7_0 will be installed
--> Processing Dependency: java-1.7.0-openjdk-headless = 1:1.7.0.75-2.5.4.2.el7_0 for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: xorg-x11-fonts-Type1 for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libpulse.so.0(PULSE_0)(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libpng15.so.15(PNG15_0)(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libjvm.so(SUNWprivate_1.1)(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libjpeg.so.62(LIBJPEG_6.2)(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libjava.so(SUNWprivate_1.1)(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: fontconfig for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libpulse.so.0()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libpng15.so.15()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libjvm.so()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libjpeg.so.62()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libjava.so()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libgif.so.4()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libfontconfig.so.1()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libcups.so.2()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libawt.so()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libXtst.so.6()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libXrender.so.1()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libXi.so.6()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libXext.so.6()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libX11.so.6()(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
---> Package puppet.noarch 0:3.7.4-1.el7 will be installed
--> Processing Dependency: ruby >= 1.8.7 for package: puppet-3.7.4-1.el7.noarch
--> Processing Dependency: facter >= 1:1.7.0 for package: puppet-3.7.4-1.el7.noarch
--> Processing Dependency: hiera >= 1.0.0 for package: puppet-3.7.4-1.el7.noarch
--> Processing Dependency: ruby >= 1.8 for package: puppet-3.7.4-1.el7.noarch
--> Processing Dependency: ruby-shadow for package: puppet-3.7.4-1.el7.noarch
--> Processing Dependency: /usr/bin/ruby for package: puppet-3.7.4-1.el7.noarch
--> Processing Dependency: ruby(selinux) for package: puppet-3.7.4-1.el7.noarch
--> Processing Dependency: ruby-augeas for package: puppet-3.7.4-1.el7.noarch
--> Processing Dependency: rubygem-json for package: puppet-3.7.4-1.el7.noarch
--> Running transaction check
---> Package cups-libs.x86_64 1:1.6.3-14.el7 will be installed
---> Package facter.x86_64 1:2.4.1-1.el7 will be installed
--> Processing Dependency: pciutils for package: 1:facter-2.4.1-1.el7.x86_64
---> Package fontconfig.x86_64 0:2.10.95-7.el7 will be installed
--> Processing Dependency: fontpackages-filesystem for package: fontconfig-2.10.95-7.el7.x86_64
---> Package giflib.x86_64 0:4.1.6-9.el7 will be installed
--> Processing Dependency: libSM.so.6()(64bit) for package: giflib-4.1.6-9.el7.x86_64
--> Processing Dependency: libICE.so.6()(64bit) for package: giflib-4.1.6-9.el7.x86_64
---> Package hiera.noarch 0:1.3.4-1.el7 will be installed
---> Package java-1.7.0-openjdk-headless.x86_64 1:1.7.0.75-2.5.4.2.el7_0 will be installed
--> Processing Dependency: lcms2 >= 2.5 for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: jpackage-utils >= 1.7.3-1jpp.2 for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: tzdata-java for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libpangoft2-1.0.so.0()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libpangocairo-1.0.so.0()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libpango-1.0.so.0()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: liblcms2.so.2()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libgtk-x11-2.0.so.0()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libgdk_pixbuf-2.0.so.0()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libgdk-x11-2.0.so.0()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libcairo.so.2()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
--> Processing Dependency: libatk-1.0.so.0()(64bit) for package: 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
---> Package libX11.x86_64 0:1.6.0-2.1.el7 will be installed
--> Processing Dependency: libX11-common = 1.6.0-2.1.el7 for package: libX11-1.6.0-2.1.el7.x86_64
--> Processing Dependency: libxcb.so.1()(64bit) for package: libX11-1.6.0-2.1.el7.x86_64
---> Package libXext.x86_64 0:1.3.2-2.1.el7 will be installed
---> Package libXi.x86_64 0:1.7.2-2.1.el7 will be installed
---> Package libXrender.x86_64 0:0.9.8-2.1.el7 will be installed
---> Package libXtst.x86_64 0:1.2.2-2.1.el7 will be installed
---> Package libjpeg-turbo.x86_64 0:1.2.90-5.el7 will be installed
---> Package libpng.x86_64 2:1.5.13-5.el7 will be installed
---> Package libselinux-ruby.x86_64 0:2.2.2-6.el7 will be installed
---> Package pulseaudio-libs.x86_64 0:3.0-22.el7 will be installed
--> Processing Dependency: libsndfile.so.1(libsndfile.so.1.0)(64bit) for package: pulseaudio-libs-3.0-22.el7.x86_64
--> Processing Dependency: libsndfile.so.1()(64bit) for package: pulseaudio-libs-3.0-22.el7.x86_64
--> Processing Dependency: libasyncns.so.0()(64bit) for package: pulseaudio-libs-3.0-22.el7.x86_64
---> Package ruby.x86_64 0:2.0.0.353-22.el7_0 will be installed
--> Processing Dependency: ruby-libs(x86-64) = 2.0.0.353-22.el7_0 for package: ruby-2.0.0.353-22.el7_0.x86_64
--> Processing Dependency: rubygem(bigdecimal) >= 1.2.0 for package: ruby-2.0.0.353-22.el7_0.x86_64
--> Processing Dependency: ruby(rubygems) >= 2.0.14 for package: ruby-2.0.0.353-22.el7_0.x86_64
--> Processing Dependency: libruby.so.2.0()(64bit) for package: ruby-2.0.0.353-22.el7_0.x86_64
---> Package ruby-augeas.x86_64 0:0.4.1-3.el7 will be installed
--> Processing Dependency: augeas-libs >= 0.8.0 for package: ruby-augeas-0.4.1-3.el7.x86_64
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.8.0)(64bit) for package: ruby-augeas-0.4.1-3.el7.x86_64
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.1.0)(64bit) for package: ruby-augeas-0.4.1-3.el7.x86_64
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.12.0)(64bit) for package: ruby-augeas-0.4.1-3.el7.x86_64
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.10.0)(64bit) for package: ruby-augeas-0.4.1-3.el7.x86_64
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.11.0)(64bit) for package: ruby-augeas-0.4.1-3.el7.x86_64
--> Processing Dependency: libaugeas.so.0()(64bit) for package: ruby-augeas-0.4.1-3.el7.x86_64
---> Package ruby-shadow.x86_64 1:2.2.0-2.el7 will be installed
---> Package rubygem-json.x86_64 0:1.7.7-22.el7_0 will be installed
---> Package xorg-x11-fonts-Type1.noarch 0:7.5-9.el7 will be installed
--> Processing Dependency: ttmkfdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch
--> Processing Dependency: ttmkfdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch
--> Processing Dependency: mkfontdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch
--> Processing Dependency: mkfontdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch
--> Running transaction check
---> Package atk.x86_64 0:2.8.0-4.el7 will be installed
---> Package augeas-libs.x86_64 0:1.1.0-12.el7_0.1 will be installed
---> Package cairo.x86_64 0:1.12.14-6.el7 will be installed
--> Processing Dependency: libpixman-1.so.0()(64bit) for package: cairo-1.12.14-6.el7.x86_64
--> Processing Dependency: libGL.so.1()(64bit) for package: cairo-1.12.14-6.el7.x86_64
--> Processing Dependency: libEGL.so.1()(64bit) for package: cairo-1.12.14-6.el7.x86_64
---> Package fontpackages-filesystem.noarch 0:1.44-8.el7 will be installed
---> Package gdk-pixbuf2.x86_64 0:2.28.2-4.el7 will be installed
--> Processing Dependency: libtiff.so.5(LIBTIFF_4.0)(64bit) for package: gdk-pixbuf2-2.28.2-4.el7.x86_64
--> Processing Dependency: libtiff.so.5()(64bit) for package: gdk-pixbuf2-2.28.2-4.el7.x86_64
--> Processing Dependency: libjasper.so.1()(64bit) for package: gdk-pixbuf2-2.28.2-4.el7.x86_64
---> Package gtk2.x86_64 0:2.24.22-5.el7_0.1 will be installed
--> Processing Dependency: libXrandr >= 1.2.99.4-2 for package: gtk2-2.24.22-5.el7_0.1.x86_64
--> Processing Dependency: hicolor-icon-theme for package: gtk2-2.24.22-5.el7_0.1.x86_64
--> Processing Dependency: libXrandr.so.2()(64bit) for package: gtk2-2.24.22-5.el7_0.1.x86_64
--> Processing Dependency: libXinerama.so.1()(64bit) for package: gtk2-2.24.22-5.el7_0.1.x86_64
--> Processing Dependency: libXfixes.so.3()(64bit) for package: gtk2-2.24.22-5.el7_0.1.x86_64
--> Processing Dependency: libXdamage.so.1()(64bit) for package: gtk2-2.24.22-5.el7_0.1.x86_64
--> Processing Dependency: libXcursor.so.1()(64bit) for package: gtk2-2.24.22-5.el7_0.1.x86_64
--> Processing Dependency: libXcomposite.so.1()(64bit) for package: gtk2-2.24.22-5.el7_0.1.x86_64
---> Package javapackages-tools.noarch 0:3.4.1-6.el7_0 will be installed
--> Processing Dependency: python-javapackages = 3.4.1-6.el7_0 for package: javapackages-tools-3.4.1-6.el7_0.noarch
--> Processing Dependency: libxslt for package: javapackages-tools-3.4.1-6.el7_0.noarch
---> Package lcms2.x86_64 0:2.5-4.el7 will be installed
---> Package libICE.x86_64 0:1.0.8-7.el7 will be installed
---> Package libSM.x86_64 0:1.2.1-7.el7 will be installed
---> Package libX11-common.noarch 0:1.6.0-2.1.el7 will be installed
---> Package libasyncns.x86_64 0:0.8-7.el7 will be installed
---> Package libsndfile.x86_64 0:1.0.25-9.el7 will be installed
--> Processing Dependency: libvorbisenc.so.2()(64bit) for package: libsndfile-1.0.25-9.el7.x86_64
--> Processing Dependency: libvorbis.so.0()(64bit) for package: libsndfile-1.0.25-9.el7.x86_64
--> Processing Dependency: libogg.so.0()(64bit) for package: libsndfile-1.0.25-9.el7.x86_64
--> Processing Dependency: libgsm.so.1()(64bit) for package: libsndfile-1.0.25-9.el7.x86_64
--> Processing Dependency: libFLAC.so.8()(64bit) for package: libsndfile-1.0.25-9.el7.x86_64
---> Package libxcb.x86_64 0:1.9-5.el7 will be installed
--> Processing Dependency: libXau.so.6()(64bit) for package: libxcb-1.9-5.el7.x86_64
---> Package pango.x86_64 0:1.34.1-5.el7 will be installed
--> Processing Dependency: libthai >= 0.1.9 for package: pango-1.34.1-5.el7.x86_64
--> Processing Dependency: libthai.so.0(LIBTHAI_0.1)(64bit) for package: pango-1.34.1-5.el7.x86_64
--> Processing Dependency: libthai.so.0()(64bit) for package: pango-1.34.1-5.el7.x86_64
--> Processing Dependency: libharfbuzz.so.0()(64bit) for package: pango-1.34.1-5.el7.x86_64
--> Processing Dependency: libXft.so.2()(64bit) for package: pango-1.34.1-5.el7.x86_64
---> Package pciutils.x86_64 0:3.2.1-4.el7 will be installed
---> Package ruby-libs.x86_64 0:2.0.0.353-22.el7_0 will be installed
---> Package rubygem-bigdecimal.x86_64 0:1.2.0-22.el7_0 will be installed
---> Package rubygems.noarch 0:2.0.14-22.el7_0 will be installed
--> Processing Dependency: rubygem(rdoc) >= 4.0.0 for package: rubygems-2.0.14-22.el7_0.noarch
--> Processing Dependency: rubygem(psych) >= 2.0.0 for package: rubygems-2.0.14-22.el7_0.noarch
--> Processing Dependency: rubygem(io-console) >= 0.4.2 for package: rubygems-2.0.14-22.el7_0.noarch
---> Package ttmkfdir.x86_64 0:3.0.9-41.el7 will be installed
---> Package tzdata-java.noarch 0:2015a-1.el7_0 will be installed
---> Package xorg-x11-font-utils.x86_64 1:7.5-18.1.el7 will be installed
--> Processing Dependency: libfontenc.so.1()(64bit) for package: 1:xorg-x11-font-utils-7.5-18.1.el7.x86_64
--> Processing Dependency: libXfont.so.1()(64bit) for package: 1:xorg-x11-font-utils-7.5-18.1.el7.x86_64
--> Running transaction check
---> Package flac-libs.x86_64 0:1.3.0-4.el7 will be installed
---> Package gsm.x86_64 0:1.0.13-11.el7 will be installed
---> Package harfbuzz.x86_64 0:0.9.20-3.el7 will be installed
--> Processing Dependency: libgraphite2.so.3()(64bit) for package: harfbuzz-0.9.20-3.el7.x86_64
---> Package hicolor-icon-theme.noarch 0:0.12-7.el7 will be installed
---> Package jasper-libs.x86_64 0:1.900.1-26.el7_0.3 will be installed
---> Package libXau.x86_64 0:1.0.8-2.1.el7 will be installed
---> Package libXcomposite.x86_64 0:0.4.4-4.1.el7 will be installed
---> Package libXcursor.x86_64 0:1.1.14-2.1.el7 will be installed
---> Package libXdamage.x86_64 0:1.1.4-4.1.el7 will be installed
---> Package libXfixes.x86_64 0:5.0.1-2.1.el7 will be installed
---> Package libXfont.x86_64 0:1.4.7-2.el7_0 will be installed
---> Package libXft.x86_64 0:2.3.1-5.1.el7 will be installed
---> Package libXinerama.x86_64 0:1.1.3-2.1.el7 will be installed
---> Package libXrandr.x86_64 0:1.4.1-2.1.el7 will be installed
---> Package libfontenc.x86_64 0:1.1.1-5.el7 will be installed
---> Package libogg.x86_64 2:1.3.0-7.el7 will be installed
---> Package libthai.x86_64 0:0.1.14-9.el7 will be installed
---> Package libtiff.x86_64 0:4.0.3-14.el7 will be installed
--> Processing Dependency: libjbig.so.2.0()(64bit) for package: libtiff-4.0.3-14.el7.x86_64
---> Package libvorbis.x86_64 1:1.3.3-8.el7 will be installed
---> Package libxslt.x86_64 0:1.1.28-5.el7 will be installed
---> Package mesa-libEGL.x86_64 0:9.2.5-6.20131218.el7_0 will be installed
--> Processing Dependency: mesa-libgbm = 9.2.5-6.20131218.el7_0 for package: mesa-libEGL-9.2.5-6.20131218.el7_0.x86_64
--> Processing Dependency: libglapi.so.0()(64bit) for package: mesa-libEGL-9.2.5-6.20131218.el7_0.x86_64
--> Processing Dependency: libgbm.so.1()(64bit) for package: mesa-libEGL-9.2.5-6.20131218.el7_0.x86_64
---> Package mesa-libGL.x86_64 0:9.2.5-6.20131218.el7_0 will be installed
--> Processing Dependency: libXxf86vm.so.1()(64bit) for package: mesa-libGL-9.2.5-6.20131218.el7_0.x86_64
---> Package pixman.x86_64 0:0.32.4-3.el7 will be installed
---> Package python-javapackages.noarch 0:3.4.1-6.el7_0 will be installed
--> Processing Dependency: python-lxml for package: python-javapackages-3.4.1-6.el7_0.noarch
---> Package rubygem-io-console.x86_64 0:0.4.2-22.el7_0 will be installed
---> Package rubygem-psych.x86_64 0:2.0.0-22.el7_0 will be installed
--> Processing Dependency: libyaml-0.so.2()(64bit) for package: rubygem-psych-2.0.0-22.el7_0.x86_64
---> Package rubygem-rdoc.noarch 0:4.0.0-22.el7_0 will be installed
--> Processing Dependency: ruby(irb) = 2.0.0.353 for package: rubygem-rdoc-4.0.0-22.el7_0.noarch
--> Running transaction check
---> Package graphite2.x86_64 0:1.2.2-5.el7 will be installed
---> Package jbigkit-libs.x86_64 0:2.0-11.el7 will be installed
---> Package libXxf86vm.x86_64 0:1.1.3-2.1.el7 will be installed
---> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed
---> Package mesa-libgbm.x86_64 0:9.2.5-6.20131218.el7_0 will be installed
---> Package mesa-libglapi.x86_64 0:9.2.5-6.20131218.el7_0 will be installed
---> Package python-lxml.x86_64 0:3.2.1-4.el7 will be installed
---> Package ruby-irb.noarch 0:2.0.0.353-22.el7_0 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                                      Arch                    Version                                     Repository                            Size
=============================================================================================================================================================
Installing:
 puppetserver                                 noarch                  1.0.2-1.el7                                 puppetlabs-products                   29 M
Installing for dependencies:
 atk                                          x86_64                  2.8.0-4.el7                                 base                                 233 k
 augeas-libs                                  x86_64                  1.1.0-12.el7_0.1                            updates                              327 k
 cairo                                        x86_64                  1.12.14-6.el7                               base                                 697 k
 cups-libs                                    x86_64                  1:1.6.3-14.el7                              base                                 352 k
 facter                                       x86_64                  1:2.4.1-1.el7                               puppetlabs-products                   98 k
 flac-libs                                    x86_64                  1.3.0-4.el7                                 base                                 169 k
 fontconfig                                   x86_64                  2.10.95-7.el7                               base                                 228 k
 fontpackages-filesystem                      noarch                  1.44-8.el7                                  base                                 9.9 k
 gdk-pixbuf2                                  x86_64                  2.28.2-4.el7                                base                                 533 k
 giflib                                       x86_64                  4.1.6-9.el7                                 base                                  40 k
 graphite2                                    x86_64                  1.2.2-5.el7                                 base                                  81 k
 gsm                                          x86_64                  1.0.13-11.el7                               base                                  30 k
 gtk2                                         x86_64                  2.24.22-5.el7_0.1                           updates                              3.4 M
 harfbuzz                                     x86_64                  0.9.20-3.el7                                base                                 144 k
 hicolor-icon-theme                           noarch                  0.12-7.el7                                  base                                  42 k
 hiera                                        noarch                  1.3.4-1.el7                                 puppetlabs-products                   23 k
 jasper-libs                                  x86_64                  1.900.1-26.el7_0.3                          updates                              149 k
 java-1.7.0-openjdk                           x86_64                  1:1.7.0.75-2.5.4.2.el7_0                    updates                              197 k
 java-1.7.0-openjdk-headless                  x86_64                  1:1.7.0.75-2.5.4.2.el7_0                    updates                               25 M
 javapackages-tools                           noarch                  3.4.1-6.el7_0                               updates                               72 k
 jbigkit-libs                                 x86_64                  2.0-11.el7                                  base                                  46 k
 lcms2                                        x86_64                  2.5-4.el7                                   base                                 133 k
 libICE                                       x86_64                  1.0.8-7.el7                                 base                                  63 k
 libSM                                        x86_64                  1.2.1-7.el7                                 base                                  38 k
 libX11                                       x86_64                  1.6.0-2.1.el7                               base                                 605 k
 libX11-common                                noarch                  1.6.0-2.1.el7                               base                                 181 k
 libXau                                       x86_64                  1.0.8-2.1.el7                               base                                  29 k
 libXcomposite                                x86_64                  0.4.4-4.1.el7                               base                                  22 k
 libXcursor                                   x86_64                  1.1.14-2.1.el7                              base                                  30 k
 libXdamage                                   x86_64                  1.1.4-4.1.el7                               base                                  20 k
 libXext                                      x86_64                  1.3.2-2.1.el7                               base                                  38 k
 libXfixes                                    x86_64                  5.0.1-2.1.el7                               base                                  18 k
 libXfont                                     x86_64                  1.4.7-2.el7_0                               updates                              144 k
 libXft                                       x86_64                  2.3.1-5.1.el7                               base                                  57 k
 libXi                                        x86_64                  1.7.2-2.1.el7                               base                                  39 k
 libXinerama                                  x86_64                  1.1.3-2.1.el7                               base                                  14 k
 libXrandr                                    x86_64                  1.4.1-2.1.el7                               base                                  25 k
 libXrender                                   x86_64                  0.9.8-2.1.el7                               base                                  25 k
 libXtst                                      x86_64                  1.2.2-2.1.el7                               base                                  20 k
 libXxf86vm                                   x86_64                  1.1.3-2.1.el7                               base                                  17 k
 libasyncns                                   x86_64                  0.8-7.el7                                   base                                  26 k
 libfontenc                                   x86_64                  1.1.1-5.el7                                 base                                  29 k
 libjpeg-turbo                                x86_64                  1.2.90-5.el7                                base                                 134 k
 libogg                                       x86_64                  2:1.3.0-7.el7                               base                                  24 k
 libpng                                       x86_64                  2:1.5.13-5.el7                              base                                 212 k
 libselinux-ruby                              x86_64                  2.2.2-6.el7                                 base                                 127 k
 libsndfile                                   x86_64                  1.0.25-9.el7                                base                                 149 k
 libthai                                      x86_64                  0.1.14-9.el7                                base                                 187 k
 libtiff                                      x86_64                  4.0.3-14.el7                                base                                 167 k
 libvorbis                                    x86_64                  1:1.3.3-8.el7                               base                                 204 k
 libxcb                                       x86_64                  1.9-5.el7                                   base                                 169 k
 libxslt                                      x86_64                  1.1.28-5.el7                                base                                 242 k
 libyaml                                      x86_64                  0.1.4-11.el7_0                              updates                               55 k
 mesa-libEGL                                  x86_64                  9.2.5-6.20131218.el7_0                      updates                               69 k
 mesa-libGL                                   x86_64                  9.2.5-6.20131218.el7_0                      updates                              142 k
 mesa-libgbm                                  x86_64                  9.2.5-6.20131218.el7_0                      updates                               30 k
 mesa-libglapi                                x86_64                  9.2.5-6.20131218.el7_0                      updates                               34 k
 pango                                        x86_64                  1.34.1-5.el7                                base                                 283 k
 pciutils                                     x86_64                  3.2.1-4.el7                                 base                                  90 k
 pixman                                       x86_64                  0.32.4-3.el7                                base                                 254 k
 pulseaudio-libs                              x86_64                  3.0-22.el7                                  base                                 555 k
 puppet                                       noarch                  3.7.4-1.el7                                 puppetlabs-products                  1.5 M
 python-javapackages                          noarch                  3.4.1-6.el7_0                               updates                               31 k
 python-lxml                                  x86_64                  3.2.1-4.el7                                 base                                 758 k
 ruby                                         x86_64                  2.0.0.353-22.el7_0                          updates                               66 k
 ruby-augeas                                  x86_64                  0.4.1-3.el7                                 puppetlabs-deps                       22 k
 ruby-irb                                     noarch                  2.0.0.353-22.el7_0                          updates                               87 k
 ruby-libs                                    x86_64                  2.0.0.353-22.el7_0                          updates                              2.8 M
 ruby-shadow                                  x86_64                  1:2.2.0-2.el7                               puppetlabs-deps                       14 k
 rubygem-bigdecimal                           x86_64                  1.2.0-22.el7_0                              updates                               78 k
 rubygem-io-console                           x86_64                  0.4.2-22.el7_0                              updates                               49 k
 rubygem-json                                 x86_64                  1.7.7-22.el7_0                              updates                               74 k
 rubygem-psych                                x86_64                  2.0.0-22.el7_0                              updates                               76 k
 rubygem-rdoc                                 noarch                  4.0.0-22.el7_0                              updates                              317 k
 rubygems                                     noarch                  2.0.14-22.el7_0                             updates                              211 k
 ttmkfdir                                     x86_64                  3.0.9-41.el7                                base                                  47 k
 tzdata-java                                  noarch                  2015a-1.el7_0                               updates                              143 k
 xorg-x11-font-utils                          x86_64                  1:7.5-18.1.el7                              base                                  87 k
 xorg-x11-fonts-Type1                         noarch                  7.5-9.el7                                   base                                 521 k

Transaction Summary
=============================================================================================================================================================
Install  1 Package (+79 Dependent packages)

Total download size: 73 M
Installed size: 178 M
Is this ok [y/d/N]: y
...
...
Complete!
[root@puppetserver ~]#

Now, Puppet Server has been installedsuccessfully with all the requisite packages.  Start the Puppet Server service. Please verify and make sure that enough ram is allocated to the OS and JVM. Centos 7.0 comes with systemd as default i.e. system and service manager for Linux.

service puppetserver start

[root@puppetserver ~]# service puppetserver start
Redirecting to /bin/systemctl start  puppetserver.service
[root@puppetserver ~]# 
[root@puppetserver ~]# ps -ef | grep puppet
puppet   13114     1 99 23:25 ?        00:01:55 java -Xms1g -Xmx1g -XX:MaxPermSize=256m -XX:OnOutOfMemoryError=kill\ -9\ puppetserver -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/puppetserver -Djava.security.egd=/dev/urandom -cp /usr/share/puppetserver/puppet-server-release.jar clojure.main -m puppetlabs.trapperkeeper.main --config /etc/puppetserver/conf.d -b /etc/puppetserver/bootstrap.cfg
root     13416 13076  0 23:26 pts/2    00:00:00 grep --color=auto puppet
[root@puppetserver ~]#

[root@puppetserver ~]# puppet agent -t
Info: Caching certificate_revocation_list for ca
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for puppetserver.puppetlabs.vm
Info: Applying configuration version '1425232646'
Info: Creating state file /var/lib/puppet/state/state.yaml
Notice: Finished catalog run in 0.01 seconds
[root@puppetserver ~]#

Memory Allocation

Puppet Server will be configured to use 2GB of RAM by default. However, while using puppet server in production you should have a good amount of ram assigned to it for optimal performance. The syntax to change the Puppet Server memory allocation is shown below: 

Open /etc/sysconfig/puppetserver and modify these settings

# Modify this if you'd like to change the memory allocation, enable JMX, etc
JAVA_ARGS="-Xms2g -Xmx2g -XX:MaxPermSize=256m"

Replace 2g with the amount of memory you want to allocate to Puppet Server. Remember to restart the puppetserver service after making changes to this file.

Puppet Server: Configuration

Puppet Server honors almost all settings in puppet.conf and should pick them up automatically. However for some tasks such as configuring the webserver or an external Certificate Authority new Puppet Server-specific configuration files and settings should be used.

Config files

All of Puppet Server’s new config files and settings are located in the conf.d directory. Here's the tree structure show below. The modules and manifests directory location is /etc/puppet.

[root@puppetserver puppetserver]# pwd
/etc/puppetserver
[root@puppetserver puppetserver]# tree
.
|-- bootstrap.cfg
|-- conf.d
|   |-- ca.conf
|   |-- global.conf
|   |-- os-settings.conf
|   |-- puppetserver.conf
|   |-- web-routes.conf
|   `-- webserver.conf
`-- logback.xml

1 directory, 8 files
[root@puppetserver puppetserver]# 

Puppet Server reads all the .conf files located in directory /etc/puppetserver/conf.d at startup.

global.conf

This file contains global configuration settings for Puppet Server. You shouldn’t typically need to make changes to this file. However, you can change the logging-config path for the logback logging configuration file if necessary.  

global: {
  logging-config: /etc/puppetlabs/puppetserver/logback.xml
}

webserver.conf

This file contains the web server configuration settings. The webserver.conf file looks something like this: 

[root@puppetserver conf.d]# cat webserver.conf 
webserver: {
    client-auth = want
    ssl-host = 0.0.0.0
    ssl-port = 8140
}
[root@puppetserver conf.d]#

By default, Puppet Server is configured to use the correct Puppet Master and CA certificate.

puppetserver.conf

This file contains the settings for Puppet Server itself.

The jruby-puppet settings configure the interpreter:

  • gem-home: This setting determines where JRuby looks for gems. It is also used by the puppetserver gem command line tool. If not specified, uses the Puppet default /var/lib/puppet/jruby-gems.
  • master-conf-dir: Optionally set the path to the Puppet configuration directory. If not specified it uses the Puppet default /etc/puppet.
  • master-var-dir: Optionally set the path to the Puppet variable directory. If not specified uses the Puppet default /var/lib/puppet.
  • max-active-instances: Optionally set the maximum number of JRuby instances to allow. Defaults to ‘num-cpus+2’.

The profiler settings configure profiling:

  • enabled: if this is set to true it enables profiling for the Puppet Ruby code. Defaults to false.

The puppet-admin section configures the Puppet Server’s administrative API.

  • authorization-required determines whether a client certificate is required to access the endpoints in this API. If set to false, the client-whitelist will be ignored. Defaults to true.
  • client-whitelist contains a list of client certnames that are whitelisted to access the admin API. Any requests made to this endpoint that do not present a valid client cert mentioned in this list will be denied access.

ca.conf

This file contains settings for the Certificate Authority service.

  • certificate-status contains settings for the certificate_status HTTP endpoint. This endpoint allows certs to be signed, revoked, and deleted via HTTP requests. This provides full control over Puppet’s security, and access should almost always be heavily restricted.
    # CA-related settings
    certificate-authority: {
        certificate-status: {
            authorization-required: true
            client-whitelist: []
        }
    }

os-settings.conf

This file is set up by packaging and is used to initialize the Ruby load paths for JRuby. The only setting in this file is ruby-load-path.
The Ruby load path defaults to the directory where Puppet is installed. In this release this directory varies depending on what OS you are using.

[root@puppetserver conf.d]# cat os-settings.conf 
os-settings: {
    ruby-load-path: [/usr/share/ruby/vendor_ruby/]
}
[root@puppetserver conf.d]#

logging.conf

All of Puppet Server’s logging is routed through the JVM Logback library. By default, it logs to /var/log/puppetserver/puppetserver.log By default Puppet Server sends nothing to syslog.
The default Logback configuration file is at /etc/puppetserver/logback.xml

Most of the puppet server configuration setting should be used as default and  can be modified when required.

Performance

Puppet Server is fast. It has 3x performance improvement over puppet master. It means that an individaul Puppet Server can handle a much larger volume of puppet agent nodes. The performance gain will increase as it becomes more and more mature. Now we have to deal with simplified configuration in Puppet Server, rather than managing several discrete packages (Apache, Passenger, Puppet, etc.) with their separate configuration interfaces (Puppet Master).

Conclusion

Puppet Server is very straight forward to install and setup. Along with ease, it provides a huge performance improvement over the classic puppet master setup. Now, a single command does all the things (yum install puppetserver) for you.

After some hands on with the new Puppet Server, you will really feel the difference. You will enjoy.

 

Viewing all articles
Browse latest Browse all 32

Trending Articles