Puppet 实验五 软件安装测试

在模块目录新建目录

mkdir -p /etc/puppet/modules/httpd/{manifests,templates,files}

vi /etc/puppet/modules/httpd/manifests/init.pp

class httpd {

yumrepo { "repo163":

descr => "163 repo",

baseurl => "http://mirrors.163.com/centos/7/os/x86_64",

gpgcheck => "0",

enabled => "1";

}

package {

"httpd":

ensure => installed,

require => Yumrepo["repo163"];

}

}

在需要增加httpd服务器的节点中,增加模块包含一行

vi /etc/puppet/manifests/nodes/puppetagent.pp

node 'puppetagent' {

include test

include httpd

}

服务器端验证下配置

puppet parser validate /etc/puppet/modules/httpd/manifests/init.pp

1430874a542a4877a2b23b931d28dd32

init.pp 12行{}错误,容我修个错误

require => Yumrepo{"repo163"};

明明没有错,这他么就是一个坑,查了一下ruby 是按照引用传递,而不是java / c++的值传递,所以repo 中的{应该是[,去获取引用的下载的url地址,所以 require => Yumrepo["repo163"];

客户端测试

puppet agent --test --server puppetmaster --noop

df621f3da8f1414097171626814fe2d8

可以看到已经获取httpd的package

去除--noop测试,直接引用

puppet agent --test --server puppetmaster

16e24e77df5b495c817bb02988de093f

看到finished了,完成了

验证包是否安装好了

rpm -qa | grep httpd

4bf9fdbb1fd8476e9a009b3d85f1f136

猜你喜欢

转载自blog.51cto.com/433266/2176059
今日推荐