工具: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
测试:
服务端上