• Puppent 介绍原理及安装


    Puppet原理

      Puppet是一个或者多个master,众多client,所有的客户端都定期(默认为30分钟)使用facter工具把

    客户端的基本信息,通过https的xmlrpc协议发送给服务器端,服务器端通过分析客户端主机名,找到该主机

    的配置代码,然后编译配置代码,把编译好的配置代码发送回客户端,客户端执行代码完成配置,并且把代码

    执行情况反馈给puppet服务器端。

    注释:xmlrpc是使用http协议作为传输协议的rpc机制,使用xml文本的方式传输命令和数据。

    安装配置

    环境

    系统版本

    # cat /etc/redhat-release 
    CentOS release 6.6 (Final)

    在Master和Client设置Hosts
    Puppet要求所有机器有完整的域名,如果没有DNS服务器提供域名的话,可以在机器上设置主机名
    (注意:要先安装Puppet之前设置主机名,因为安装Puppet时会把主机名写入证书,客户端和服务端通信需要这个证书),为了简化安装 直接配置/etc/hosts

    #vim /etc/hosts

    10.20.0.80 master01.test.com  
    10.20.0.81 client01.test.com  

    系统配置
    在Master和Client上面均关闭selinux,iptables:
    ===================Stop Iptables========================

    # service iptables stop
    # chkconfig iptables off

    关闭selinux

    # sed -i 's/enforcing/disabled/g' /etc/selinux/config

    NTP时间同步=====重要

    #yum -y install ntp
    #ntpdate pool.ntp.org
    # chkconfig ntpd on
    # chkconfig --list | grep ntp
    ntpd               0:off    1:off    2:on    3:on    4:on    5:on    6:off
    ntpdate            0:off    1:off    2:off    3:off    4:off    5:off    6:off
    
    =============Start NTP================
    service ntpd start
    Starting ntpd:                                             [  OK  ]、

    创建组和用户

    #groupadd puppet
    #useradd -g puppet -s /sbin/nologin puppet

    安装puppet

    [root@master01 ~]# wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
    [root@master01 ~]# rpm -ivh puppetlabs-release-6-7.noarch.rpm 
    [root@master01 ~]# yum update

    Master服务端安装

    #yum -y install ruby ruby-libs ruby-shadow puppet puppet-server facter

    启动服务并且设置开机启动

    ########################Satrt Service#########################
    [root@master01 ~]# service puppetmaster start
    Starting puppetmaster:                                     [  OK  ]
    
    [root@master01 ~]# chkconfig puppetmaster on

    检查是否启动成功

    [root@master01 ~]# netstat -tunlp | grep 8140
    tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN      12393/ruby   
    默认端口为8140
    启动成功

    客户端安装配置

    [root@client01 ~]# yum -y install puppet

    配置文件  添加一条内容

    vim /etc/puppet/puppet.conf
    [agent]
    server  = master01.test.com

     启动客户端并添加开机启动

    [root@client01 ~]# service puppet start
    Starting puppet agent:                                     [  OK  ]
    [root@client01 ~]# chkconfig puppet on

    证书申请
    client需要向服务器端发出请求, 让服务器对客户端进行管理. 这其实是一个证书签发的过程. 第一次运行puppet 客户端的时候会生成一个 SSL 证书并指定发给 Puppet 服务端, 服务器端如果同意管理客户端,就会对这个证书进行签发,可以用这个命令来签发证书,由于我们已经在客户端设置了server地址,因此不需要跟服务端地址。

    Master 自动添加

    # cat > /etc/puppet/autosign.conf <<EOF
    
    > *.fisteam2.com
    
    > EOF

    agent端去请求证书

    [root@client01]#puppet agent --no-daemonize --onetime --verbose --debug
    [root@client01]#puppet agent --test 

    master查看客户端list

    [root@master01]# puppet cert list -all
    + "client01.test.com" (SHA256) 31:A4:D8:3F:CC:07:4E:FB:4F:60:71:14:B5:62:A3:81:B8:0C:E4:1E:7C:E3:EA:2B:D6:7A:A2:B5:8E:C0:1A:9B
    + "master01.test.com" (SHA256) ED:34:76:9F:CC:A1:7D:13:0E:20:96:69:CB:03:CD:71:88:F9:59:1E:82:53:53:43:DE:02:38:2D:48:44:FE:79 (alt names: "DNS:master01.test.com", "DNS:puppet", "DNS:puppet.test.com")

    +是已经签好了证书 如果没有+是没有签发成功的
    如果没有添加到的话 可以使用

    [root@master01]# puppet cert --sgin client01.test.com

    puppet基本命令方法

    删除证书或者所有

    puppet cert clean client01.test.com
    puppet cert clean --all

    如果出现错误 可以重新来执行
    1 在agent端执行

    cd /var/lib/puppet
    rm -rf ssl/
    service puppet restart


    2 master执行

    cd /var/lib/puppet/ssl/ca/signed
    rm -rf client01.test.com
    service puppetmaster restart
  • 相关阅读:
    [vp]ARC068
    [vp]ARC067
    Vision transformer
    rosetta使用silent格式储存PDB结构,节省本地存储
    CentOS7下安装JDK详细过程
    jdk下载Oracle共享账号
    虚拟机地址发生变化
    字节跳动面试题,给你一个每一项都是数值混乱顺序的数组,只要里面正确顺序的值输出。如[5,1,3,6,2,7],只要[1,2,7]
    spring boot web 第一个项目新建
    xmind-excel
  • 原文地址:https://www.cnblogs.com/yexiaochong/p/5947129.html
Copyright © 2020-2023  润新知