Puppet1
c/s 模式的puppet配置
虽然在单机上面也可以用puppet init.pp 这样的方式来使用puppet.但是这完全不能发挥puppet的优势. 利用puppet最大的优势就是c/s模式的配置.所有被管理的机器都从同一个puppet主服务器去得到自己的配置文件并且下载回来执行.下面就利用两台服务器来演示如何配置一个 c/s 模式的puppet管理架构. 这个架构配合代理,可以管理上千台的机器.
试验环境
- 硬件: 两台服务器,虚拟服务器或者物理机器都行,ip地址分别是 192.168.1.2 和 192.168.1.3 ;下文分别用1.2和1.3代替两个服务器.
- 软件: 安装debian 系统
- 网络: 两台机器互相能访问
puppet 服务器端配置
在1.2机器上面设置好系统的主机名,把该服务器的主机名设置成master.example.com
echo 'master.example.com' > /etc/hostname
hostname -F /etc/hostname
退出系统,重新登录系统让主机名生效,非常重要,因为puppet的ssl证书依赖主机名.
安装puppetmaster软件
apt-get install puppetmaster
puppet的第一个执行的代码是在/etc/puppet/manifest/site.pp
因此这个文件必须存在,而且其他的代码也要通过代码来调用.
现在,建立一个最简单的site.pp文件,内容如下
node default {
file { "/tmp/temp1.txt": content => "hello,first puppet manifest"; }
}
上面的代码对默认连入的puppet客户端执行一个操作,在/tmp目录生成一个temp1.txt文件,内容是hello,first puppet manifest.
puppet客户端配置
在 1.3 机器上面把主机名设置成 client.example.com
echo 'client.example.com' >/etc/hostname
hostname -F /etc/hostname
退出系统,重新登录系统,并安装 puppet
apt-get install puppet
puppet安装好以后,执行
puppetd --server master.example.com --test
上面的命令让puppetd 从 master.example.com 去读取puppet配置文件. 第一次连接,双方会进行ssl证书的验证,这是一个新的客户端,在服务器端那里还没有被认证,因此需要在服务器端进行证书认证.在 192.168.1.2 既服务器端的机器上执行下面的命令来认证客户端的证书
puppetca -s client.example.com
然后再重新在192.168.1.3这个客户端执行
puppetd --server master.example.com --test
就会看到puppet反馈一些调试信息,并在/tmp目录下创建了 /tmp/temp1.txt文件.
到此,最基本的puppet环境就建好了. 更复杂和更强大的功能就看你自己去发挥了.
页面版本: 6, 最后编辑于: 24 Mar 2010 09:44





