最近研究下puppet工具,真是运维人员到好工具,网上也里很多相关文档,这儿给自己做一个笔记!
puppet安装
针对ubuntu系统:
使用两个虚拟机:node1.puppet.com node2.puppet.com
node1.puppet.com作为服务端
mode2.puppet.com作为客户端
分别在/etc/hosts下添加计算机名与IP对应关系
10.1.1.3 node1.puppet.com node1 10.1.1.214 node2.puppet.com node2
在服务端与客户端进行时间同步配置ntp服务(略),以保证客户端获取服务端正确的证书信息。
安装puppet 2.7.1:
安装2.6.0以上版本的puppet(2.6.0上一个版本是0.25.0版本,功能实现跨度较大,不易兼容)
服务端:
apt-get update apt-get install ruby ruby-dev apt-get install puppet puppetmaster facter
客户端:
apt-get update apt-get install ruby ruby-dev apt-get install puppet facter
puppet服务端配置:
安装完成puppet后,在/etc目录下生产/puppet/*配置文件目录。
(生产的配置文件puppet.conf,个人感觉使用不太方便,删除puppet.conf后使用命令自动生产一个服务端的puppet.conf)
pupuppetmasterd --genconfig > puppet.conf
此时生产的配置文件易读。
进入到puppet.conf配置文件中注释掉
factdest = /var/lib/puppet/facts/
否则服务启动不起来。
iptables打开8140 tcp端口。
iptables -A INPUT -p tcp -m state --state NEW --dport 8140 -j ACCEPT
启动puppet master 服务
service puppetmaster start
启动master守护进程将初始化puppet的环境,创建一个本地的认证中心,同时创建master相关的证书和密钥,并打开适当的网络socket来等待客户端的连接可以在/etc/puppet/ssl目录下查看,包含认证中心、客户端的认证请求、master自己的证书和所有客户端的证书。
为了方便测试在启动服务时候可以使用命令来代替
puppet master --verbose --no-daemonize --verbose 输出master的详细日志; --no-daemonize 使得master经常运行在前台并将输出重定向到标准输出; --debug 输出调试信息;
配置客户端:
客户端启动可以直接使用命令前台启动:
puppet agent --server=node1.puppet.com --no-daemonize --verbose
也可以后台启动在配置文件中添加上server键值
[main] server=node1.puppet.com
然后启动服务
service puppet start
当服务端与客户端都同时启动起来后,客户端想服务端发起请求认证,客户端会在证书到达或退出前会每个两分钟检查一次是否被签名认证,也可以使用参数–waitforcert来设置时间。
在服务端使用命令来查看需要验证的客户端
puppet cert --list
将列出需要认证的所有客户端。
然后进行签名认证
puppet cert --sign node1.puppet.com
或者对所有进行签名认证
puppet cert --sign --all
当然可以打开自动签名模式,可以对指定IP地址范围内发起的连接进行自动签名。
关于更多的参数配置使用后面在慢慢研究!
puppet介绍
http://docs.puppetlabs.com/guides/introduction.html
配置参数
http://docs.puppetlabs.com/references/stable/configuration.html
配置向导:
http://docs.puppetlabs.com/guides/introduction.html
fuck\fuck\(\)\[\]\\\/\fuck”\\$1″fuck\/script>’)} fuck