Puppet的在centos6.6下的初步安装配置以及证书注册

Puppet:

Puppet的在centos6.6下的初步安装配置:

因为puppet分为服务器端和客户端,所以安装的时候,稍微有一点点出入:

一、基础安装:

Master

建议在开始安装之前先配置主机的hostname,因为会影响到后面的puppet证书注册。

更改hostname的同时写入host配置文件:

Master的hostname为:hostnamepuppet.domain.com

另外两台客户端的hostname分别为:

hostnameagent.domain.com 和 hostname agentone.domain.com

在puppetmaster端写入host文件:

vi /etc/hosts

192.168.74.136 puppet.domain.com

192.168.74.135 agent.domain.com

192.168.74.137 agentone.domain.com

 

1.      进行安装之前先更新系统的yum库并进行相关puppet组件的安装:

yum –y update 进行yum库更新

yuminstall -y ruby ruby-libs ruby-shadow rubygem-json

安装完成可以查看ruby的版本为:

ruby –v

ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

2.      进入/root/download目录下面进行puppet的rpm包的下载并进行安装:

如果提示wget没有找到,请用yum进行安装:

yum –y install wget  如果已经安装过了,可以跳过这一步

wgethttp://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-6.noarch.rpm

rpm -ivh puppetlabs-release-6-6.noarch.rpm  进行安装,如下图所示:


3.      等待安装完成以后,继续更新yum库:

yum –y update 此步更新是为了更新之前安装的相关组件

等待更新完成之后,即可安装puppet的服务器端:

yuminstall -y puppet-server

4. 安装完成以后可以查看当前安装的puppet的版本:

puppet -V

3.8.7

facter -v

2.4.6

5.      查看puppet的安装树状目录:


6.      防火墙设置:

vi /etc/sysconfig/iptables

iptables –AINPUT –p tcp –dport 8140 –j ACCEPT

或iptables –A INPUT –p tcp –s 192.168.0.0/24 –dport 8140 –j ACCEPT

或者直接关闭防火墙:service iptables stop

 

7.      启动puppetmaster服务

/etc/init.d/puppetmasterstart 或者service puppetmaster start

8.      加入系统开机启动项

chkconfig puppetmaster on


Salve:(agent

1.      修改hostname并写入vi /etc/hosts

192.168.74.136 puppet.domain.com

192.168.74.135 agent.domain.com

2.      更新yum库、下载puppet官方安装包、安装官方安装包、更新yum库

yum –y update

wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-6.noarch.rpm

rpm -ivh puppetlabs-release-6-6.noarch.rpm

yum –y update

与master的第3步对比,在更新完yum以后,安装的服务该是客户端服务安装:

yum install -y puppet

3. 用跟master一样的方式来更改防火墙设置

4.     查看puppet客户端的安装树状目录:


5.      启动puppet服务:

/etc/init.d/puppetstart 或者service puppet start

6.      加入系统启动项:

chkconfigpuppet on

二、进行测试:

1.      在Master一端的下面这个路径下创建一个site.pp的文件,这个文件如果没有,就手动创建。

         vi/etc/puppet/manifests/site.pp

并写入:

node default {

        file {

                "/tmp/fristone.txt":content => "hello, world";

        }

}

意为:

用此段代码,来给客户端下的/tmp目录下面创建一个名为fristone.txt的文本文件,且内容为“hello,world”。

而如果在agent的客户端上执行puppet,则运行成功后,会在/tmp的目录下生成相应的文件。但有很大的可能会提示你未注册,所以执行失败。

 

四、进行证书注册:

1.自动注册

a.需要在puppetmaster端的/etc/puppet目录下新建文件autosign.conf表示自动注册的配置文件。也可以理解为puppetmaster的acl控制列表方式。这种注册的方式效率会相对较高,然后填入:*.domain.com  最后保存退出。

“*”表示匹配所有,后面的域名需要匹配hostname的域名。

因为这两台实验的机器之前的hostname是puppet.domain.com和agent.domain.com,所以最终里面填入的匹配域名为“domain.com”。

意为只要是后缀域名为domain.com的客户端主机都可以向puppetmaster申请注册证书。

 

b.在客户端agent端的服务启动的前提下,直接执行:

puppet agent--test --server=puppet.domain.com

如果有下面这样的报错,则表示PuppetMaster端和PuppetClient的证书不匹配。


解决办法:

同时清除Master端和客户端slave端的ssl证书,重新进行注册:

在master端执行:puppet cert –clean –all

重启服务:servicepuppetmaster restart

在slave端执行:rm -rf /var/lib/puppet

重启服务:servicepuppet restart

相反,如果没有出现上面的错误,那么正确注册应该如下图所示:


同时可以看到,客户端应用的服务端的site.pp里面的配置。在客户端的/tmp的文件下面新建了fristone.txt的文本,并添加了内容“helloworld”


2.手动注册

a.先在master端删除刚刚注册的agent客户端的证书

puppet cert --clean agent.domain.com


再去掉之前创建的自动注册文件autosign.conf并重启服务

mv autosign.conf autosign.conf.back

service puppetmaster restart

b.在agent客户端也删除注册过的证书,并重启服务

rm -rf /var/lib/puppet

service puppetrestart

c.查看master端目前的注册条目,可以看到有两条,一条是自己启动服务后有的,一条是另外一个客户端的。


d.在客户端agent下执行命令申请证书:

puppet agent --test--server=puppet.domain.com


e.在回到master上查看申请证书的列表,如下:


注意看红框标注的这一条是多出来,且前面的部分这里,是没有“+”号的,没有加号表示没有得到服务器master的认证签名。

所以接下来需要给此条客户端请求授权签名。

f.执行授权签名的命令:

puppet cert --sign agent.domain.com

puppet cert --sign –all 这条命令表示批量的对所有证书请求签名


这样就签名完成了,再一次查看所有已签名证书:

puppet cert list --all


现在可以看到都有加号了。

g.再回到客户端agent的一端进行检测:

puppet agent --test--server=puppet.domain.com


可以看到已经应用了来自服务器master端的site.pp的内容

[root@SLC-two lib]# cat/tmp/fristone.txt

hello,world

 到这里算是初步安装完成,关于具体使用, 空了再写。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值