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环境就建好了. 更复杂和更强大的功能就看你自己去发挥了.
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License