Puppet 实验三 安装和配置

因为puppet是基于ruby写的,所以需要ruby

yum install ruby ruby-libs ruby-shadow -y

5d3e6074978e4610a95f3301a60d4195

验证版本

ruby -v

c4f0a6b965d34356a046f03670a1b53b

puppet的yum仓库

http://yum.puppetlabs.com/

rpm -Uvh http://yum.puppetlabs.com/el/7Server/products/x86_64/puppetlabs-release-7-12.noarch.rpm

c9281229f543456fb21269b5b7eaf15a

服务端

yum install puppet-server -y

9fcbeb3debbf4243a73a647fef6c4d57

客户端

yum install puppet -y

22137b02d56c47e38798d7ebf7211752

验证下安装包

292b27990db64cbab646e1a2bea1cb49

我这个书还在介绍2.6 2.7 和3.0的区别,这货都已经到3.87了

启动下服务并且加自启动

systemctl list-unit-files | grep puppet

42dd818a384e479fad770fed7e68ae7c

systemctl start puppetmaster

systemctl status -l puppetmaster

b67f1470adc84c66a70a641cf343fc27

都加好了

systemctl list-unit-files | grep puppet

ec1c3bb575ef4f95b516cbd41ce75bc9

检查端口,都起来了

netstat -antulp | grep 8140

28c3efada44b42c49468b0b618132e53

增加dns解析

vi /etc/hosts

192.168.10.133 puppetmaster

192.168.10.134 puppetagent

验证下

3861899b3d984b0c9265dbc1dffc8367

防火墙开一下8143端口

iptables -A INPUT -p tcp --dport 8140 -j ACCEPT

or

iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 8140 -j ACCEPT

查看下规则

iptables --list

05283b32c275421cb4ba99d4339cd029

配置下主机文件,修改site.pp增加输出文件配置

vi /etc/puppet/manifests/site.pp

node default { file { "/tmp/puppettest1.txt": content => "hello, first puppet test"; } }

客户端发起测试

puppet agent --server puppetmaster --test

abc8387bf88b4978a9874fe89d1313f4

容我修个错误

Exiting; no certificate found and waitforcert is disabled

服务端是有证书的啊

tree /var/lib/puppet/ssl/

49e7e8d6a37d4e01a02599e898de742a

原来是客户端先客户端发起证书验证请求,在证书到达之前,会每隔2分钟请求一次,明白了,服务器端去查看证书请求列表

puppet cert --list

6513ae755408465a9f675a3769c70ac7

发现请求的客户端

puppet cert sign puppetagent

b8052a78a327494e93014b5a6ba2e4f0

puppet agent --server puppetmaster --test

93360f56d60647df97fe2caa2648b821

验证下文件内容,之前定义的文件已经在agent中了

ddeeb3ee392143688fe9fec5baff33d6

客户端重新签名之前需要删除hostname.pem文件

find /var/lib/puppet/ssl/ -iname 'hostname'.pem -exec /bin/rm -rf {}

服务端重新签名也需要删除hostname.pem

find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete

删除客户端认证信息

puppet cert --clean {node certname}

猜你喜欢

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