工具:puppet,saltstack,ansible
puppet 老牌
saltstack 效率高 适用大基數平台
ansible 輕量 功能全
puppet安裝配置
兩台機器:
192.168.1.100(服務端)
192.168.1.101 (用戶端)
兩台機器關閉selinux,清空iptables規則,并儲存,設定hostname
hostname設定的名字與hosts裡的名字一樣。
服務端和用戶端:
/etc/sysconfig/network 修改hostname
編輯hosts檔案
100和101全部為
192.168.1.100 master.puppet.com
192.168.1.101 client.puppet.com
然後可以在機器上ping一下看能不能通;
兩個時間同步,yum install -y ntp
ntpdate pool.ntp.org >/dev/null 2>&1
在用戶端和服務端:
安裝puppet 源
rpm -ivh "http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm"
安裝好了之後在ls /etc/yum.repos.d/下面有一個puppet的源;
yum list
安裝服務端程式
yum install -y puppet-server 服務端
啟動服務
service puppetmaster start
開機啟動
chkconfig puppetmaster on
用戶端安裝程式
yum install -y puppet 用戶端
/etc/init.d/puppet start
chkconfig puppet on
用戶端修改配置檔案
vim /etc/puppet/puppet.conf [agent]最後添加
listen = true
server = master.puppet.com
ruminterval = 30 //主動更新間隔
service puppet start
//etc/init.d/puppet restart 這是重新開機
這個時候可能還是會查詢不到端口 用戶端在連接配接時端口才會啟動。
puppet配置認證
master client 互相認證才能溝通
puppet cert list --all //列出所有的用戶端 (簽名與未簽名都列出來)
puppet cert sign master 簽名注冊
puppet cert sign master.puppet.com
清單時前面帶+号則認證成功
puppet cert clean web10 host删除簽名
puppet cert --clean all 清空證書
rm -rf /var/lib/puppet/ssl/*
/etc/init.d/puppet restart
puppet配置自動簽發證書:
puppet cert --clean all host清空證書
rm -rf /var/lib/puppet/ssl/* client清除ssl相關檔案
在host端建立自動簽發配置檔案
vim /etc/puppet/autosign.conf
*.puppet.com 加入一個域vim /etc/puppet/puppet.conf
[main] 後加入一行
autosign = true //支援自動簽名
//etc/init.d/puppetmaster restart host重新開機
//etc/init.d/puppet restart
在client上
vim /etc/puppet/puppet.conf
[agent] 後加入一行
runinterval = 10
/etc/init.d/puppe restart client重新開機
重新開機後即可得到簽名
如果client不啟動puppet服務,可通過指令簽發
puppet agent --test --server master.puppet.com
測試:
服務端上