學習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 #查看所有節點認證