redhat实现puppet的安装

公司项目要接触100-200台服务器,设计环境、配置…………

开始学习puppet,写一写遇到步骤:
-------------------
说明:
系统:redhat7
puppet server端:192.168.0.100  hostname:redhat-server
puppet client端:192.168.0.200   hostname:redhat-client

 一、puppet原理
  度娘

二、安装
	puppet分为server/client模式。server相当于母虫,client为子虫。子虫定期向母虫“奶”一口。
	redhat安装puppet,安装前需要更新下puppet的yum源。server/client端都要更新yum源。
        A:redhat6.5/centos
rpm -ivh https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs-release-6-10.noarch.rpm
	B:redhat7/centos
rpm -ivh https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-10.noarch.rpm

*注意:redhat默认的yum源一般会要注册,建议换成centos的yum源。更新方法参考另一篇文章《更新redhat的yum源为centos源》*
别忘记 yum makecache,下面就开始安装server端与服务器端
1、puppet的server端安装
	安装: yum install puppet-server
        配置:
	        a:设置开机自启==》 systemctl enable puppetmaster.service
	        b:启动服务 ==》 systemctl start puppetmaster.service 【redhat 7已经改成这种启动方式】
	        c:防火墙 ==》不建议关闭,设置后注意配置开机子启动
	        (1)CentOS/redhat 6系列==》vim /etc/sysconfig/iptables
	            在 OUTPUT ACCEPT 小节里添加:
                             -A INPUT -m state --state NEW -m tcp -p tcp --dport 8140 -j ACCEPT
                     重新启动iptables==》/etc/init.d/iptables restart
   
               (2)Centos/redhat 7系列==》
                   firewall-cmd --permanent --zone=public --add-port=8140/tcp
                   firewall-cmd --reload
                
                设置开机启动:systemctl enable firewalld.service

2、puppet的client端安装
          安装: yum install puppet
          设置开机自启动:systemctl enable puppet.service

三、server/client证书颁发验证
       server/client是通过ssl证书通信,server端要给client端颁发证书。安装好puppet后,如果有dns则用DNS解析,否则修改主机名。参考下面步骤验证通信
       1、修改server/client的hostname,然后再修改hosts
             vim /etc/hostname:修改主机名,自定义。
             vim /etc/hosts:修改hosts
              server端
              client端
       
        2、server端
                       vim /etc/puppet/puppet.conf中的agent,事先定义好server端的主机名
                         

 
      3、client端
                     客户端的puppet默认会查找名为"puppet"的server端,但一般都会修改主机名。vim /etc/sysconfig/puppet,告诉client端,puppet server端的主机名。同时定义端口和通信间隔时间
                       PUPPET_SERVER=redhat-server
                       PUPPET_PORT=8140
                       PUPPET_LOG=/var/log/puppet/puppet.log
                       PUPPET_EXTRA_OPTS=--waitforcert=500

                      同时也要事先在/etc/puppet/puppet.conf中的agent添加puppet server端的主机名
                      
              启动puppet ==》 systemctl start puppet.service
              client端发送证书请求 ==》puppet agent --test
             然后回到server端,响应请求==》puppet cert list  ,正常会看到client端的证书信息

             好啦————到这一步还没结束,server端只是收到client端的证书请求,还没有同意。server端同意请求
                   puppet cert sign redhat-client
             注意这里的redhat-client,其实就是client端设置的主机名,前面/etc/hostname设置的。
 
             查看server端的所有证书==》puppet cert --list --all
             会显示包括server端自己的所有证书信息


4、实际项目中面对几百台的证书请求,一台台操作??怎么破???
      server端:vim /etc/puppet/puppet.conf  ,在【main】节点中增加"autosign = true",让server端自动响应证书请求

记得重启puppet服务:systemctl restart puppetmaster.service

     client端:puppet agent --test  发送证书请求,server端配置了autosign=true,会自动响应。

5、client端是每隔30分钟去server端,看能不能“奶”一口!!如果觉得时间太长,就修改配置吧!!
      vim /etc/puppet/puppet.conf,在【agent】节点中添加“runinternal = 60”,表示每隔60秒去要“奶”一口。


遇到的问题:
1、防火墙的状态,关闭?打开?注意打开要把server端的8140端口写进去;
2、client端的证书请求,如果要删除重新生成证书。执行puppet cert --clean 、rm -rf /var/lib/puppet/ssl;
3、puppetmaster.service 、puppet.service、firewalld.service一定要设置开机自启动,否则重启后,服务不会启动,特别是防火墙的配置,8140端口不通,会影响server/client的通信;


今天到此为止,后面再举例测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值