• PUPPET简介

puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。 puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置客户端. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息.    

  • 部署环境

主机名 IP 主要服务
master.test.cn 192.168.200.128 puppet 、ntpd
client129.test.cn 192.168.200.129 puppet 、ntpd
client130.test.cn 192.168.200.130 puppet 、ntpd
NTP server 192.168.200.131 ntpd

安装步骤

  • 1:配置NTP 服务器时间同步

      # systemctl stop firewalld
      # setenforce 0
    
      # vim /etc/ntp.conf   //末尾添加 根据自己网段更改
      server 127.127.200.0
      fudge 127.127.200.0 stratum 8
    
      # systemctl start ntpd   
    

  • 2:Master服务器

      # setenforce 0
      # systemctl stop firewalld
    
  • 修改主机名

      # vim /etc/hostname
       master.test.cn
    
  • 修改host文件

      # vim /etc/hosts
      192.168.200.128 master.test.cn
      192.168.200.129 client129.test.cn
      192.168.200.130 client130.test.cn
    
  • 时间同步

      # yum -y install ntpdate
      # ntpdate 192.168.200.131
    
  • 安装puppet控制端

      # yum -y install puppet-server
      # systemctl enable puppetmaster.service
      # systemctl start puppetmaster.service
    

   

  • 3:client服务器(两台配置相同)

      # setenforce 0
      # systemctl stop firewalld
    
  • 修改主机名

      # vim /etc/hostname
      两台分别为:
      client129.test.cn
      client130.test.cn
    
  • 修改host文件

      # vim /etc/hosts
      192.168.200.128 master.test.cn
      192.168.200.129 client.test.cn
      192.168.200.130 client130.test.cn
    
  • 时间同步

      # yum -y install ntpdate
      # ntpdate 192.168.200.131
    
  • 安装配置

      # yum -y install puppet
      # vim /etc/puppet/puppet.conf
      	server = master.test.cn
    
  • 4:在客户端进行注册

      # puppet agent --server=master.test.cn --no-daemonize --verbose          //申请CA//  
    
  • 5:在master

      # puppet cert --list     //查看申请注册的客户端
      
      # puppet cert sign --all    //对未注册的客户端进行注册
    
      # ll /var/lib/puppet/ssl/ca/signed/    //通过目录查看已经注册的客户端