服务端:
修改服务器端主机名
vim /etc/sysconfig/network
hostname master.com
添加客服端的ip和主机名到hosts文件
vim /etc/hosts
127.0.0.1localhost.localhost
同步ntp时间
ntpdate 203.117.180.36
date
#search localdomain #注释掉这行,不然造成后面无法认证
vim /etc/resolv.conf
reboot
由于puppet是由ruby语言编写,所以要安装ruby环境及库文件,命令帮助文件
yum install ruby ruby-libs ruby-rdoc
facter是一个系统盘点工具,收集主机的一些资料,比如CPU,主机IP等,它收集到值发送给puppet服务器端,
服务器端就可以根据不同的条件来对不同的节点机器生成不同的puppet配置文件
安装puppet之前必须先安装facter
wget http://downloads.puppetlabs.com/facter/facter-1.6.8.tar.gz
tar -xzvf facter-1.6.8.tar.gz
cd facter-1.6.8
ruby install.rb
安装puppet
wget http://downloads.puppetlabs.com/puppet/puppet-2.7.14.tar.gz
tar xzvf puppet-2.7.14.tar.gz
cd puppet-2.7.14
ruby install.rb
复制配置文件
cp conf/redhat/fileserver.conf /etc/puppet/
cp conf/redhat/puppet.conf /etc/puppet/
cp conf/redhat/server.init /etc/init.d/puppetmaster
设置puppetmaster为服务,并自动启动
ll /etc/init.d/puppetmaster
chkconfig --add puppetmaster
chkconfig --level 35 puppetmaster on
创建puppet帐号
puppetmasterd --mkuser
cat /etc/passwd |grep puppet
创建目录
mkdir -p /var/lib/puppet/rrd/
chown puppet.puppet /var/lib/puppet/rrd/
启动服务
/etc/init.d/puppetmaster start
查看puppet端口
net查看当然待批准证书列表stat -ntpl | grep 8140
puppetca -l
批准当前证书
puppetca -s client.com
查看验证签名,注意前面的+号,说明已经签名
puppetca -a --list
如果要批准全部证书
puppetca -s -a
也可以在puppetmaster端的puppet.conf加入这行:
autosign = true
服务端就自动签证书
验证证书是否正确
md5sum /var/lib/puppet/ssl/ca/signed/client.com.pem
实际举例子
到这里证明puppet的基本设置已经没有问题了;下面举一个例子:
1. 现在在服务器的/etc/puppet/manifests/建立site.pp里面放置如下内容
node default {
file{"/tmp/a.txt":
content => "helo,I am abc.bbb!",
ensure => present,
mode => 644,
owner => root,
group => root,
}
}
2. 在客户端上执行puppetd --test --server server.puppet.com可以发现/tmp/会生成a.txt文件,内容是content里面的内容。
[root@localhost ~]# cat /tmp/a.txt
helo,I am abc.bbb!
到这里就已经完全ok了。
客户端:
修改服务器端主机名
vim /etc/sysconfig/network
hostname master.com
添加客服端的ip和主机名到hosts文件
vim /etc/hosts
127.0.0.1localhost.localhost
同步ntp时间
ntpdate 203.117.180.36
date
#search localdomain #注释掉这行,不然造成后面无法认证
vim /etc/resolv.conf
reboot
由于puppet是由ruby语言编写,所以要安装ruby环境及库文件,命令帮助文件
yum install ruby ruby-libs ruby-rdoc
facter是一个系统盘点工具,收集主机的一些资料,比如CPU,主机IP等,它收集到值发送给puppet服务器端,
服务器端就可以根据不同的条件来对不同的节点机器生成不同的puppet配置文件
安装puppet之前必须先安装facter
wget http://downloads.puppetlabs.com/facter/facter-1.6.8.tar.gz
tar -xzvf facter-1.6.8.tar.gz
cd facter-1.6.8
ruby install.rb
安装puppet
wget http://downloads.puppetlabs.com/puppet/puppet-2.7.14.tar.gz
tar xzvf puppet-2.7.14.tar.gz
cd puppet-2.7.14
ruby install.rb
复制文件
cd puppet-2.7.14
cp conf/auth.conf /etc/puppet/
cp conf/namespaceauth.conf /etc/puppet/
cp conf/redhat/puppet.conf /etc/puppet/
cp conf/redhat/client.init /etc/init.d/puppet
chmod 755 /etc/init.d/puppet
chkconfig --add puppet
chkconfig puppet on
如果报错需要手动创建用户和组
puppet --mkusers
手动创建puppet用户与组
groupadd puppet;useradd -g puppet -M puppet
创建目录
mkdir -p /var/lib/puppet/rrd
chown puppet.puppet /var/lib/puppet/rrd
启动服务
service puppet start
测试解析与puppetmaster端口是否畅通
telnet 192.168.5.55 8140
从服务端取回已批准的证书
puppetd --test --server master.com
验证
md5sum /var/lib/puppet/ssl/certs/client.com.pem