首页 Linux网维 Puppet模块(三):puppet模块及file资源

Puppet模块(三):puppet模块及file资源

作用:通过puppet模块自动控制客户端的puppet配置,当需要修改客户端的puppet配置时不用在客户端一一设置1、服务端配置puppet模块(1)模块清单1234567891…

作用:通过puppet模块自动控制客户端的puppet配置,当需要修改客户端的puppet配置时不用在客户端一一设置1、服务端配置puppet模块(1)模块清单1234567891011[root@puppet ~]# tree /etc/puppet/modules/puppet/。

/etc/puppet/modules/puppet/├── files├── manifests│   ├── config.pp│   ├── init.pp│   ├── install.pp│   ├── params.pp

│   └── service.pp└── templates    └── puppet.conf.erb(2)定义参数类1234567891011121314151617[root@puppet ~]# vi /etc/puppet/modules/puppet/manifests/params.pp

class puppet::params {  $puppetserver = “puppet.ewin.com”  case $operatingsystemmajrelease{    5: {                #定义centos5系列的参数

$puppet_release = 3.7.1-1.el5      $facter_release = 2.2.0-1.el5    }    6: {                #定义centos6系列的参数

$puppet_release = 3.7.1-1.el6      #定义软件版本      $facter_release = 2.2.0-1.el6      #定义软件版本    }

default: {      fail(“Module puppet is not supported on ${::operatingsystem}”)    }  }}(3)定义安装类12

3456789[root@puppet ~]# vi /etc/puppet/modules/puppet/manifests/install.ppclass puppet::install {  package { “puppet”:

ensure => $puppet::params::puppet_release,  }  package { “facter”:    ensure => $puppet::params::facter_release,

}}说明:根据系统版本(centos5或centos6)来安装指定版本的puppet和facter(4)定义配置类123456789101112[root@puppet ~]# vi /etc/puppet/modules/puppet/manifests/config.pp

class puppet::config {  file { “/etc/puppet/puppet.conf”:    ensure  => present,    content => template(“puppet/puppet.conf.erb”), #文件内容来源于模板

owner   => “root”,    group   => “root”,    mode    => 0644,    require => Class[“puppet::install”], #要求先完成install.pp

notify  => Class[“puppet::service”], #通知并触发service.pp  }}说明:将配置模板传送到客户端的puppet.conf,设置用户、组、权限(5)定义配置模板

12345678910111213[root@puppet ~]# vi /etc/puppet/modules/puppet/template/puppet.conf.erb### config by  puppet ###

[main]    logdir = /var/log/puppet    rundir = /var/run/puppet    ssldir = $vardir/ssl[agent]    classfile = $vardir/classes.txt

    localconfig = $vardir/localconfig    server =   #参数调用格式

report = true    pluginsync = false    runinterval = 10 #puppet 客户端默认连接到puppetmaster的时间间隔,默认30分钟,这里测试设为10秒,将会生成大量报告,建议测试完后改回1800

说明:模板调用了params.pp中的参数$puppetserver(6)定义服务类12345678910[root@puppet ~]# vi /etc/puppet/modules/puppet/manifests/service.pp

class puppet::service {  service { “puppet”:    ensure     => running,    #确保服务puppet处于运行状态    hasstatus  => true,       #是否支持service puppet status命令查看状态

hasrestart => true,       #是否支持service puppet restart命令重启服务    enable     => true,       #是否开机启动服务

require    => Class[“puppet::install”],  }}(7)定义puppet主类1234[root@puppet ~]# vi /etc/puppet/modules/puppet/manifests/init.pp

class puppet {  include puppet::params,puppet::install,puppet::config,puppet::service}(8)定义节点文件,调用模块[root@puppet ~]# vi /etc/puppet/manifests/centostest.pp

node “centostest.ewin.com” {include ntp, yum, puppet}(9)应用节点文件12[root@puppet ~]# vi /etc/puppet/manifests/site.pp

import “centostest.pp”2、测试:软件安装版本、配置文件、服务启动(1)查看已安装版本123456[root@centostest ~]# facter | grep operatingsystemmajrelease

operatingsystemmajrelease => 6[root@centostest ~]# rpm -aq|grep puppetpuppet-3.7.3-1.el6.noarch[root@centostest ~]# rpm -aq|grep facter

facter-2.3.0-1.el6.x86_64(2)查看服务状态123456[root@centostest ~]# /etc/init.d/puppet stopStopping puppet agent:                                     [确定]

[root@centostest ~]# /etc/init.d/puppet statuspuppet 已停[root@centostest ~]# chkconfig –list | grep puppet

puppet          0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭(3)查看配置文件12345678910111213141516171819202122[root@centostest ~]# cat /etc/puppet/puppet.conf

[main]    # The Puppet log directory.    # The default value is $vardir/log.    logdir = /var/log/puppet

# Where Puppet PID files are kept.    # The default value is $vardir/run.    rundir = /var/run/puppet

# Where SSL certificates are kept.    # The default value is $confdir/ssl.    ssldir = $vardir/ssl

[agent]    # The file in which puppetd stores a list of the classes    # associated with the retrieved configuratiion.  Can be loaded in

# the separate “puppet“ executable using the “–loadclasses“    # option.    # The default value is $confdir/classes.txt.

classfile = $vardir/classes.txt    # Where puppetd caches the local configuration.  An    # extension indicating the cache format is added automatically.

# The default value is $confdir/localconfig.    localconfig = $vardir/localconfig(4)客户端执行测试123456

78910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758

596061[root@centostest ~]# puppet agent –server puppet.ewin.com –test –noopInfo: Retrieving pluginfacts

Info: Retrieving pluginInfo: Caching catalog for centostest.ewin.comInfo: Applying configuration version 1415246721

Notice: /Stage[main]/Puppet::Install/Package[facter]/ensure: current_value 2.3.0-1.el6, should be 2.2.0-1.el6 (noop) #说明:版本将变成2.2.0-1.el6

Notice: /Stage[main]/Puppet::Install/Package[puppet]/ensure: current_value 3.7.3-1.el6, should be 3.7.1-1.el6 (noop) #说明:版本将变成3.7.1-1.el6

Notice: Class[Puppet::Install]: Would have triggered refresh from 2 eventsNotice: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content:  #说明:生成puppet.conf配置文件内容

— /etc/puppet/puppet.conf 2014-11-04 06:23:12.000000000 +0800+++ /tmp/puppet-file20141106-34117-1abwj46-0  2014-11-06 12:04:04.724000002 +0800

@@ -1,25 +1,12 @@-[main]-    # The Puppet log directory.-    # The default value is $vardir/log.-    logdir = /var/log/puppet

—    # Where Puppet PID files are kept.-    # The default value is $vardir/run.-    rundir = /var/run/puppet

—    # Where SSL certificates are kept.-    # The default value is $confdir/ssl.-    ssldir = $vardir/ssl

–[agent]-    # The file in which puppetd stores a list of the classes-    # associated with the retrieved configuratiion.  Can be loaded in

–    # the separate “puppet“ executable using the “–loadclasses“-    # option.-    # The default value is $confdir/classes.txt.

–    classfile = $vardir/classes.txt–    # Where puppetd caches the local configuration.  An-    # extension indicating the cache format is added automatically.

–    # The default value is $confdir/localconfig.-    localconfig = $vardir/localconfig+### config by  puppet ###

+[main]+    logdir = /var/log/puppet+    rundir = /var/run/puppet+    ssldir = $vardir/ssl+[agent]+    classfile = $vardir/classes.txt

+    localconfig = $vardir/localconfig+    server = puppet.ewin.com+    report = true+    pluginsync = false

+    runinterval = 10\ No newline at end of file#说明:每行前的-表示删除行,+表示添加行Notice: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content: current_value {md5}58e2f9765e2994db8e8ab19a3513356e, should be {md5}fa6ae34360e0b6b7755165fc8e950a76 (noop)

Info: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]: Scheduling refresh of Class[Puppet::Service] #说明:配置文件的改变将触发service.pp

Notice: Class[Puppet::Service]: Would have triggered refresh from 1 eventsInfo: Class[Puppet::Service]: Scheduling refresh of Service[puppet]

Notice: Class[Puppet::Config]: Would have triggered refresh from 1 eventsNotice: /Stage[main]/Puppet::Service/Service[puppet]/ensure: current_value stopped, should be running (noop) #说明:服务当前是关闭的,将变成运行

Info: /Stage[main]/Puppet::Service/Service[puppet]: Unscheduling refresh on Service[puppet]Notice: Class[Puppet::Service]: Would have triggered refresh from 1 events

Notice: Stage[main]: Would have triggered refresh from 3 eventsNotice: Finished catalog run in 0.70 seconds

(5)真正执行puppet agent(不带–noop参数)123456789101112131415161718[root@centostest ~]# puppet agent –server puppet.ewin.com –test

Info: Retrieving pluginfactsInfo: Retrieving pluginInfo: Caching catalog for centostest.ewin.comInfo: Applying configuration version 1415247249

Notice: /Stage[main]/Puppet::Install/Package[facter]/ensure: ensure changed 2.3.0-1.el6 to 2.2.0-1.el6

Error: Could not update: Execution of /usr/bin/yum -d 0 -e 0 -y downgrade puppet-3.7.1-1.el6 returned 1: Error Downloading Packages:

puppet-3.7.1-1.el6.noarch: failure: puppet-3.7.1-1.el6.noarch.rpm from puppetlabs-products: [Errno 256] No more mirrors to try.

Wrapped exception:Execution of /usr/bin/yum -d 0 -e 0 -y downgrade puppet-3.7.1-1.el6 returned 1: Error Downloading Packages:

puppet-3.7.1-1.el6.noarch: failure: puppet-3.7.1-1.el6.noarch.rpm from puppetlabs-products: [Errno 256] No more mirrors to try.

Error: /Stage[main]/Puppet::Install/Package[puppet]/ensure: change from 3.7.3-1.el6 to 3.7.1-1.el6 failed: Could not update: Execution of /usr/bin/yum -d 0 -e 0 -y downgrade puppet-3.7.1-1.el6 returned 1: Error Downloading Packages:

puppet-3.7.1-1.el6.noarch: failure: puppet-3.7.1-1.el6.noarch.rpm from puppetlabs-products: [Errno 256] No more mirrors to try.

Notice: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]: Dependency Package[puppet] has failures: true

Warning: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]: Skipping because of failed dependencies

Notice: /Stage[main]/Puppet::Service/Service[puppet]: Dependency Package[puppet] has failures: trueWarning: /Stage[main]/Puppet::Service/Service[puppet]: Skipping because of failed dependencies

Notice: Finished catalog run in 171.49 seconds报错:YUM安装失败,无法下载软件包,在客户端yum clean up再yum list恢复仓库后重试1234

567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556[root@centostest ~]# puppet agent –server=puppet.ewin.com –test

Info: Retrieving pluginfactsInfo: Retrieving pluginInfo: Caching catalog for centostest.ewin.comInfo: Applying configuration version 1415247249

Notice: /Stage[main]/Puppet::Install/Package[puppet]/ensure: ensure changed 3.7.3-1.el6 to 3.7.1-1.el6

Notice: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content:— /etc/puppet/puppet.conf 2014-09-16 04:33:01.000000000 +0800

+++ /tmp/puppet-file20141106-35765-10dpf4t-0  2014-11-06 15:04:50.422305001 +0800@@ -1,25 +1,12 @@-[main]

–    # The Puppet log directory.-    # The default value is $vardir/log.-    logdir = /var/log/puppet

—    # Where Puppet PID files are kept.-    # The default value is $vardir/run.-    rundir = /var/run/puppet

—    # Where SSL certificates are kept.-    # The default value is $confdir/ssl.-    ssldir = $vardir/ssl

–[agent]-    # The file in which puppetd stores a list of the classes-    # associated with the retrieved configuratiion.  Can be loaded in

–    # the separate “puppet“ executable using the “–loadclasses“-    # option.-    # The default value is $confdir/classes.txt.

–    classfile = $vardir/classes.txt–    # Where puppetd caches the local configuration.  An-    # extension indicating the cache format is added automatically.

–    # The default value is $confdir/localconfig.-    localconfig = $vardir/localconfig+### config by  puppet ###

+[main]+    logdir = /var/log/puppet+    rundir = /var/run/puppet+    ssldir = $vardir/ssl+[agent]+    classfile = $vardir/classes.txt

+    localconfig = $vardir/localconfig+    server = puppet.ewin.com+    report = true+    pluginsync = false

+    runinterval = 10\ No newline at end of fileInfo: Computing checksum on file /etc/puppet/puppet.conf

Info: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]: Filebucketed /etc/puppet/puppet.conf to puppet with sum 58e2f9765e2994db8e8ab19a3513356e

Notice: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content: content changed {md5}58e2f9765e2994db8e8ab19a3513356e to {md5}fa6ae34360e0b6b7755165fc8e950a76

Info: /Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]: Scheduling refresh of Class[Puppet::Service]

Info: Class[Puppet::Service]: Scheduling refresh of Service[puppet]Notice: /Stage[main]/Puppet::Service/Service[puppet]/ensure: ensure changed stopped to running

Info: /Stage[main]/Puppet::Service/Service[puppet]: Unscheduling refresh on Service[puppet]Notice: Finished catalog run in 222.24 seconds

(6)查看客户端日志12345678910111213141516171819[root@centostest ~]# tailf /var/log/messageNov  6 12:12:50 centostest puppet-agent[34357]: Retrieving pluginfacts

Nov  6 12:12:50 centostest puppet-agent[34357]: Retrieving pluginNov  6 12:12:51 centostest puppet-agent[34357]: Caching catalog for centostest.ewin.com

Nov  6 12:12:52 centostest puppet-agent[34357]: Applying configuration version 1415247249Nov  6 12:13:29 centostest yum[34565]: Installed: 1:facter-2.2.0-1.el6.x86_64

Nov  6 12:13:31 centostest puppet-agent[34357]: (/Stage[main]/Puppet::Install/Package[facter]/ensure) ensure changed 2.3.0-1.el6 to 2.2.0-1.el6

Nov  6 12:15:43 centostest puppet-agent[34357]: Could not update: Execution of /usr/bin/yum -d 0 -e 0 -y downgrade puppet-3.7.1-1.el6 returned 1: Error Downloading Packages:

Nov  6 12:15:43 centostest puppet-agent[34357]:   puppet-3.7.1-1.el6.noarch: failure: puppet-3.7.1-1.el6.noarch.rpm from puppetlabs-products: [Errno 256] No more mirrors to try.

Nov  6 12:15:43 centostest puppet-agent[34357]: Wrapped exception:Nov  6 12:15:43 centostest puppet-agent[34357]: Execution of /usr/bin/yum -d 0 -e 0 -y downgrade puppet-3.7.1-1.el6 returned 1: Error Downloading Packages:

Nov  6 12:15:43 centostest puppet-agent[34357]:   puppet-3.7.1-1.el6.noarch: failure: puppet-3.7.1-1.el6.noarch.rpm from puppetlabs-products: [Errno 256] No more mirrors to try.

Nov  6 12:15:43 centostest puppet-agent[34357]: (/Stage[main]/Puppet::Install/Package[puppet]/ensure) change from 3.7.3-1.el6 to 3.7.1-1.el6 failed: Could not update: Execution of /usr/bin/yum -d 0 -e 0 -y downgrade puppet-3.7.1-1.el6 returned 1: Error Downloading Packages:

Nov  6 12:15:43 centostest puppet-agent[34357]: (/Stage[main]/Puppet::Install/Package[puppet]/ensure)   puppet-3.7.1-1.el6.noarch: failure: puppet-3.7.1-1.el6.noarch.rpm from puppetlabs-products: [Errno 256] No more mirrors to try.

Nov  6 12:15:43 centostest puppet-agent[34357]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]) Dependency Package[puppet] has failures: true

Nov  6 12:15:43 centostest puppet-agent[34357]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]) Skipping because of failed dependencies

Nov  6 12:15:43 centostest puppet-agent[34357]: (/Stage[main]/Puppet::Service/Service[puppet]) Dependency Package[puppet] has failures: true

Nov  6 12:15:43 centostest puppet-agent[34357]: (/Stage[main]/Puppet::Service/Service[puppet]) Skipping because of failed dependencies

Nov  6 12:15:43 centostest puppet-agent[34357]: Finished catalog run in 171.49 seconds#以上日志是第一次执行puppet agent,安装facter成功,但下载puppet-3.7.1失败

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455

5657585960Nov  6 15:01:08 centostest puppet-agent[35765]: Retrieving pluginfactsNov  6 15:01:08 centostest puppet-agent[35765]: Retrieving plugin

Nov  6 15:01:10 centostest puppet-agent[35765]: Caching catalog for centostest.ewin.comNov  6 15:01:10 centostest puppet-agent[35765]: Applying configuration version 1415247249

Nov  6 15:04:49 centostest yum[35972]: Installed: puppet-3.7.1-1.el6.noarchNov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Install/Package[puppet]/ensure) ensure changed 3.7.3-1.el6 to 3.7.1-1.el6

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content)

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) — /etc/puppet/puppet.conf#0112014-09-16 04:33:01.000000000 +0800

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +++ /tmp/puppet-file20141106-35765-10dpf4t-0#0112014-11-06 15:04:50.422305001 +0800

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) @@ -1,25 +1,12 @@

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) -[main]

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # The Puppet log directory.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # The default value is $vardir/log.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    logdir = /var/log/puppet

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # Where Puppet PID files are kept.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # The default value is $vardir/run.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    rundir = /var/run/puppet

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # Where SSL certificates are kept.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # The default value is $confdir/ssl.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    ssldir = $vardir/ssl

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) -[agent]

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # The file in which puppetd stores a list of the classes

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # associated with the retrieved configuratiion.  Can be loaded in

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # the separate “puppet“ executable using the “–loadclasses“

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # option.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # The default value is $confdir/classes.txt.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    classfile = $vardir/classes.txt

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # Where puppetd caches the local configuration.  An

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # extension indicating the cache format is added automatically.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    # The default value is $confdir/localconfig.

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) –    localconfig = $vardir/localconfig

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +### config by  puppet ####015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +[main]#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    logdir = /var/log/puppet#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    rundir = /var/run/puppet#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    ssldir = $vardir/ssl#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +[agent]#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    classfile = $vardir/classes.txt#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    localconfig = $vardir/localconfig#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    server = puppet.ewin.com#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    report = true#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    pluginsync = false#015

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) +    runinterval = 10

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) \ No newline at end of file

Nov  6 15:04:50 centostest puppet-agent[35765]: Computing checksum on file /etc/puppet/puppet.confNov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]) Filebucketed /etc/puppet/puppet.conf to puppet with sum 58e2f9765e2994db8e8ab19a3513356e

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) content changed {md5}58e2f9765e2994db8e8ab19a3513356e to {md5}fa6ae34360e0b6b7755165fc8e950a76

Nov  6 15:04:50 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]) Scheduling refresh of Class[Puppet::Service]

Nov  6 15:04:50 centostest puppet-agent[35765]: (Class[Puppet::Service]) Scheduling refresh of Service[puppet]

Nov  6 15:04:52 centostest puppet-agent[36125]: Reopening log filesNov  6 15:04:52 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Service/Service[puppet]/ensure) ensure changed stopped to running

Nov  6 15:04:52 centostest puppet-agent[35765]: (/Stage[main]/Puppet::Service/Service[puppet]) Unscheduling refresh on Service[puppet]

Nov  6 15:04:52 centostest puppet-agent[35765]: Finished catalog run in 222.24 secondsNov  6 15:04:52 centostest puppet-agent[36125]: Starting Puppet client version 3.7.1

Nov  6 15:04:52 centostest puppet-agent[36125]: Run of Puppet configuration client already in progress; skipping  (/var/lib/puppet/state/agent_catalog_run.lock exists)

Nov  6 15:05:06 centostest puppet-agent[36135]: Finished catalog run in 0.46 seconds#以上是重新获取YUM仓库后,第二次执行puppet agent的日志, 成功将puppet-3.7.3降为3.7.1版本,因此最好一开始指定好puppet版本安装。

(7)查看客户端测试结果查看已安装版本:1234[root@centostest ~]# rpm -aq|grep facterfacter-2.2.0-1.el6.x86_64[root@centostest ~]# rpm -aq|grep puppet

puppet-3.7.1-1.el6.noarch查看服务状态:1234[root@centostest ~]# /etc/init.d/puppet statuspuppet (pid  36125) 正在运行…

[root@centostest ~]# chkconfig –list | grep puppetpuppet          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

查看配置文件:12345678910111213[root@centostest ~]# cat /etc/puppet/puppet.conf### config by  puppet ###[main]

logdir = /var/log/puppet    rundir = /var/run/puppet    ssldir = $vardir/ssl[agent]    classfile = $vardir/classes.txt

localconfig = $vardir/localconfig    server = puppet.ewin.com    report = true    pluginsync = false

runinterval = 10结论:软件版本成功转变成指定版本;服务启动并添加到开机启动中;配备文件成功从模板获取,参数应用成功3、测试配置文件的变更影响客户端修改配置文件导致puppet服务重启:。

1234567891011[root@centostest ~]# echo “#add a line” >> /etc/puppet/puppet.conf[root@centostest ~]# tailf /var/log/message

Nov  6 15:33:57 centostest puppet-agent[57545]: (/Stage[main]/Puppet::Config/File[/etc/puppet/puppet.conf]/content) content changed {md5}29acb66e2f297a5cf2ff6cbe731998f5 to {md5}bb6d66a4b72890ef1bfa048c0cf179d8

Nov  6 15:33:57 centostest puppet-agent[56826]: Caught HUP; calling restartNov  6 15:33:57 centostest puppet-agent[57545]: (/Stage[main]/Puppet::Service/Service[puppet]) Triggered refresh from 1 events

Nov  6 15:33:57 centostest puppet-agent[57545]: Finished catalog run in 1.10 secondsNov  6 15:33:58 centostest puppet-agent[56826]: Caught HUP; calling restart

Nov  6 15:33:58 centostest puppet-agent[56826]: Restarting with /usr/bin/puppet agentNov  6 15:33:59 centostest puppet-agent[57782]: Reopening log files

Nov  6 15:34:00 centostest puppet-agent[57782]: Starting Puppet client version 3.7.1Nov  6 15:34:02 centostest puppet-agent[57784]: Finished catalog run in 0.63 seconds

结论:成功改变配置文件内容,触发puppet服务重启,接下来是agent启动的信息4、file资源123456file {nginx.conf:  ensure => file,    #定义类型:文件file或目录directory。

mode   => 0640,  #权限  owner  => root,    #属于用户  group  => root,    #属于用户组}其他参数123456789101112131415

1617181920212223{  ensure       => present|absent|file|directory|link, #present检查文件是否存在,如果存在则不创建  backup       => , #通过filebucket备份文件,可备份到其他设备

checksum     => , #检查文件是否被修改,默认检测法为MD5,其他有md5lite\mtime\ctime\none  ctime        => , #只读属性,文件的更新时间

mtime        => , #只读属性  content      => , #文件的内容  force        => , #强制删除文件、软链接及目录,确保ensure=absent

owner        => , #指定文件的用户名或用户ID  group        => , #指定文件的用户组名或组ID  ignore       => , #忽略指定的匹配文件,可以匹配目录结构

link         => , #软链接,类似于ln命令  mode         => , #文件权限配置  path         => /tmp/test,#文件路径,使用双引号,可用标题代替

purge        => , #清空目录中未在manifest中定义的文件或目录,必须与recurse=>true使用  recurse      => true|false|inf|remote, #递归目录

recurselimit => , #递归的目录的深度,值为数字  replace      => true|false, #是否允许覆盖文件内容,默认为true(覆盖)  source       => /home/123.txt|http://|puppet:///, #源文件,本地路径或URL路径

sourceselect => firest|all, #可设置多个source源文件,本参数指定只复制每一个有效文件还是全部文件到目标  target       => /tmp/testlink, #指定目录,配合ensure => link使用

type         => , #只读状态检查文件类型}

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

linux文件命令

linux文件命令

在 Linux 中,我们可以使用 `with open()` 语句和 `write()` 函数来写入文件。以下是一个简单...
linux的命令

linux的命令

以下是一个简单的 Linux 命令示例,该命令将显示当前日期和时间: “`c #include <st...
linux 命令

linux 命令

由于 Linux 命令是由 C 语言编写的,因此下面是一个简单的用中文编写的 Linux 命令示例,它将输出“Hello...
linux命令tar

linux命令tar

这个问题看起来有些模糊,我不确定您是想了解如何在 Linux 系统中使用 tar 命令,还是如何编写一个名为 tar 的...
linux压缩命令

linux压缩命令

Linux压缩命令:高效管理文件和目录 Linux操作系统提供了一系列强大的压缩命令,使您能够高效地管理文件和目录。无论...

发表回复

返回顶部