Puppet: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 76: | Line 76: | ||
''include "ntp_config"'' | ''include "ntp_config"'' | ||
''}'' | ''}'' | ||
class ntp_config { | ''class ntp_config {'' | ||
#case $operatingsystem { | ''#case $operatingsystem {'' | ||
# centos, redhat: { $service_name = 'ntpd' } | ''# centos, redhat: { $service_name = 'ntpd' }'' | ||
# debian, ubuntu: { $service_name = 'ntp' } | ''# debian, ubuntu: { $service_name = 'ntp' }'' | ||
#} | ''#}'' | ||
package { 'ntp': | ''package { 'ntp':'' | ||
ensure => installed, | ''ensure => installed,'' | ||
} | ''}'' | ||
service { 'ntp': | ''service { 'ntp':'' | ||
name => ntpd, | ''name => ntpd,'' | ||
ensure => running, | ''ensure => running,'' | ||
enable => true, | ''enable => true,'' | ||
subscribe => File['ntp.conf'], | ''subscribe => File['ntp.conf'],'' | ||
} | ''}'' | ||
file { 'ntp.conf': | ''file { 'ntp.conf':'' | ||
path => '/etc/ntp.conf', | ''path => '/etc/ntp.conf','' | ||
ensure => file, | ''ensure => file,'' | ||
owner => root, | ''owner => root,'' | ||
group => root, | ''group => root,'' | ||
mode => 644, | ''mode => 644,'' | ||
require => Package['ntp'], | ''require => Package['ntp'],'' | ||
source => "puppet:///modules/ntp/ntp.conf", | ''source => "puppet:///modules/ntp/ntp.conf",'' | ||
# This source file would be located on the Puppet master at | ''# This source file would be located on the Puppet master at'' | ||
# /etc/puppet/modules/ntp/files/ntp.conf | ''# /etc/puppet/modules/ntp/files/ntp.conf'' | ||
} | ''}'' | ||
} | ''}'' |
Revision as of 07:00, 13 June 2016
Инсталляция программного обеспечения на сервере и на агенте
rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
На сервере:
# yum install puppet-server # chkconfig puppetmaster on
Файл /etc/puppet/puppet.conf:
# vi /etc/puppet/puppet.conf [main] … certname = puppet.mybox.lv server = puppet.mybox.lv environment = production runinterval = 1h [master] dns_alt_names = puppet.mybox.lv,puppet
На агенте:
# yum install puppet
Установка сертификатов на сервере и на агенте
На сервере:
# rm -rf /var/lib/puppet/ssl/* # puppet master --verbose --no-daemonize Info: Creating a new SSL key for ca Info: Creating a new SSL certificate request for ca Info: Certificate Request fingerprint (SHA256): 3F:CD:FD:CF:5B:1A:72:C1:D2:BA:ED:0A:C8:AF:AE:E0:B3:66:AC:78:9B:03:53:01:2E:47:36:6A:21:41:80:76 Notice: Signed certificate request for ca Info: Creating a new certificate revocation list Info: Creating a new SSL key for puppet.mybox.lv Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml Info: Creating a new SSL certificate request for puppet.mybox.lv Info: Certificate Request fingerprint (SHA256): 80:D0:E6:43:66:54:85:85:59:2A:3E:40:C1:A4:5F:93:82:89:35:07:84:6C:DF:0F:B8:A0:EC:CB:A1:63:24:D1 Notice: puppet.mybox.lv has a waiting certificate request Notice: Signed certificate request for puppet.mybox.lv Notice: Removing file Puppet::SSL::CertificateRequest puppet.mybox.lv at '/var/lib/puppet/ssl/ca/requests/puppet.mybox.lv.pem' Notice: Removing file Puppet::SSL::CertificateRequest puppet.mybox.lv at '/var/lib/puppet/ssl/certificate_requests/puppet.mybox.lv.pem' Notice: Starting Puppet master version 3.8.7 <Ctrl-C>
# puppet cert list --all + "puppet.mybox.lv" (SHA256) 2B:52:7C:52:1E:E9:44:7A:02:BE:1B:8E:9F:84:8D:BF:EC:1E:59:F3:10:18:B9:16:53:C7:22:BB:B6:40:28:00 (alt names: "DNS:puppet.mybox.lv","DNS:puppet", "DNS:puppet.mybox.lv")
# service puppetmaster start
На агенте:
# vim /etc/puppet/puppet.conf [main] … certname = proxy.mybox.lv server = puppet.mybox.lv environment = production runinterval = 1h
# puppet agent –test
На сервере:
# puppet cert list "proxy.mybox.lv" (SHA256) CF:68:EF:63:98:BD:9A:FA:9F:6B:11:F5:BA:36:E1:AE:38:63:B3:82:FF:CB:73:B7:3E:F3:AB:2A:44:9B:5E:08
# puppet cert sign proxy.mybox.lv
Примеры настроек (на puppet-сервере)
NTP-server
# cat /etc/puppet/manifests/site.pp node 'puppet.mybox.lv' { include "ntp_config" } node 'proxy.mybox.lv' { include "ntp_config" } class ntp_config { #case $operatingsystem { # centos, redhat: { $service_name = 'ntpd' } # debian, ubuntu: { $service_name = 'ntp' } #} package { 'ntp': ensure => installed, } service { 'ntp': name => ntpd, ensure => running, enable => true, subscribe => File['ntp.conf'], } file { 'ntp.conf': path => '/etc/ntp.conf', ensure => file, owner => root, group => root, mode => 644, require => Package['ntp'], source => "puppet:///modules/ntp/ntp.conf", # This source file would be located on the Puppet master at # /etc/puppet/modules/ntp/files/ntp.conf } }