学习puppet
相关书籍
- 《pro puppet》第一版和第二版,中文版叫《精通puppet配置管理工具》
- 《Puppet 2.7 Cookbook RAW》
- 《puppet实战》 刘宇
前期配置
说明
IP | HOSTNAME |
---|---|
192.168.100.110/24 [mater] | master |
192.168.100.111/24 [agent1] | agent1 |
192.168.100.112/24 [agent2] | agent2 |
192.168.100.113/24 [agent3] | agent3 |
网关是192.168.100.110 , DNS服务器是192.168.100.110
设置主机名
vim /etc/sysconfig/network #修改HOSTNAME的值 mater,agent1~3同理
设置ip地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0 #mater agent1~3同理
关闭防火墙
iptables stop | iptables -F
关闭selinux
setenforce 0 #查看用getenforce
设置ssh-key互相通信
ssh-keygen
for i in {1..3}; do ssh-copy-id -i 192.168.100.11$i; done
修改host文件
vim /etc/hosts
for i in {1..3}; do scp /etc/hosts 192.168.100.11$i:/etc/; done
同步时间
chrony或者ntp设置
安装puppet
安装包—在master上面安装
yum -y install puppet puppet-server facter
查看配置文件
cp /etc/puppet/puppet.conf{,.bak} #备份配置文件
vim /etc/puppet/puppet.conf
[main]
logdir = /var/log/puppet #默认日志存放路径
rundir = /var/run/puppet #pid存放路径
ssldir = $vardir/ssl #证书存放目录,默认$vardir为/var/lib/puppet
[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = puppetmaster.kisspuppet.com #设置agent认证连接master端的服务器名称,注意这个名字必须能够被节点解析
certname = puppetmaster_cert.kisspuppet.com #设置agent端certname名称
[master]
certname = puppetmaster.kisspuppet.com puppetmaster.kisspuppet.com #设置puppetmaster认证服务器名
在agent1~3上面安装包
yum -y install puppet facter
查看配置文件
cp /etc/puppet/puppet.conf{,.bak}
vim /etc/puppet/puppet.conf
[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = puppetmaster.kisspuppet.com #指向puppetmaster端
certname = agent1_cert.kisspuppet.com #设置自己的certname名
互相认证
[root@agent1 ~]# puppet agent --test #向master断发起认证
[root@master ~]# puppet cert --list --all #查看认证情况
[root@master ~]# puppet cert --sign agent1_cert.kisspuppet.com #注册agent1
[root@master ~]# puppet cert --list --all #再次查看认证情况
[root@master ~]# puppet agent --test #master自己申请agent认证
[root@master ~]# puppet cert --sign --all #注册所有请求的节点
[root@master ~]# puppet cert --list --all #查看所有节点认证