Puppet 简介

puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。

本案环境

主机名 操作系统 IP地址 主要软件
NTP server CentOS 7.3 192.168.217.137 NTP
puppet master CentOS 7.3 192.168.217.138 ntpdate puppet-server
puppet client1 CentOS 7.3 192.168.217.139 ntpdate puppet
puppet client2 CentOS 7.3 192.168.217.140 ntpdate puppet

部署 Puppet

1.所有服务器修改主机名 :

hostnamectl set-hostname master.test.cn  #修改主机名
bash     #立即生效

2.建立解析(若机器太多,可以通过搭建 DNS,则不用在每台机器上设置这个) :

vim /etc/hosts

192.168.217.138 master.test.cn 
192.168.217.139 client1.test.cn 
192.168.217.140 client2.test.cn 

3.关闭防火墙 :

systemctl stop firewalld.service
setenforce 0

配置 NTP 服务

1.安装 NTP 服务 :

yum install ntp -y

2.修改 NTP 配置文件 :

vim /etc/ntp.conf     #添加  

server 127.127.217.0
fudge 127.127.217.0 stratum 8   
systemctl start ntpd.service  #开启服务

配置 puppet master

1.安装 ntp 客户端和时间同步 :

yum install ntpdate -y     #安装 ntp 客户端

systemctl start ntpdate.service   #开启服务

ntpdate 192.168.217.137    #同步时间

2.安装epel源及服务 :

yum install epel-release -y     #安装epel源 

yum install puppet-server -y    #安装服务

systemctl start puppetmaster.service     #开启服务
systemctl enable puppetmaster.service    #开机自启动

配置 puppet client

1.安装 ntp 客户端和时间同步 :

yum install ntpdate -y     #安装 ntp 客户端

systemctl start ntpdate.service   #开启服务

ntpdate 192.168.217.137    #同步时间

2.安装epel源及服务 :

yum install epel-release -y     #安装epel源 

yum install puppet  -y    #安装服务

3.编辑 client 配置文件 :

vim /etc/puppet/puppet.conf  #添加

[mail]
server=master.test.cn    #指向 master 地址   

4.申请注册 :

puppet agent --server=master.test.cn --no-daemonize --verbose    #申请注册
Info: Creating a new SSL key for client1.test.cn
Info: Caching certificate for ca
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for client1.test.cn
Info: Certificate Request fingerprint (SHA256): 1A:4C:EC:C1:61:2B:EB:22:BF:CF:93:F3:DD:37:06:00:2D:35:59:09:A4:57:7C:5D:F0:94:81:44:48:12:0C:FF
Info: Caching certificate for ca
#等一会就好,可以使用ctrl+c组合键结束。

5.返回 master 端 :

[root@master ~]# puppet cert --list    #查看申请注册的客户端
  "client1.test.cn" (SHA256) 1A:4C:EC:C1:61:2B:EB:22:BF:CF:93:F3:DD:37:06:00:2D:35:59:09:A4:57:7C:5D:F0:94:81:44:48:12:0C:FF
  "client2.test.cn" (SHA256) 08:A0:AB:06:18:A5:2C:89:51:0D:CB:53:F4:65:6D:09:20:9E:B3:B3:35:74:F0:55:40:DD:B6:EF:B1:D4:74:E7
puppet cert sign client1.test.cn  #对某一台客户端注册

puppet cert sign --all    #对所有客户端注册

6.查看已经注册的客户端 :

[root@master ~]# ll /var/lib/puppet/ssl/ca/signed/    #通过目录查看注册客户端
总用量 12
-rw-r--r--. 1 puppet puppet 1956 8月   4 16:51 client1.test.cn.pem
-rw-r--r--. 1 puppet puppet 1956 8月   4 16:52 client2.test.cn.pem
-rw-r--r--. 1 puppet puppet 2025 8月   4 16:47 master.test.cn.pem