Puppet 是一种 Linux、Unix、Windows 平台的集中配置管理系统,使用 Puppet 自带的描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。Puppet把这些系统实体称之为资源,其设计目标是简化对这些资源的管理以及妥善处理资源之间的依赖关系。vim
puppet采用C/S星状的结构,全部的客户端和一个或几个服务器交互。每一个客户端周期的(默认半个小时)向服务器发送请求,得到其最新的配置信息,保证和该配置信息同步。每一个puppet客户端每半小时(能够设置)链接一次服务器端, 下载最新的配置文件,而且严格按照配置文件来配置客户端. 配置完成之后,puppet客户端能够反馈给服务器端一个消息. 若是出错,也会给服务器端反馈一个消息。服务器
192.168.1.1 puppetserver # puppet 服务端tcp
192.168.1.2 agent.1.client # puppet 客户端 1优化
yum install puppet-serverspa
修改配置文件debug
vim /etc/puppet/puppet.conf设计
##############################################################code
[main]
certname = puppetserver server
ssldir = /var/puppet/ssl #证书位置ip
##############################################################
修改 hosts 文件:
vim /etc/hosts
##############################################################
192.168.1.1 puppetserver
192.168.1.2 agent.1.client
##############################################################
启动 puppet 服务
systemctl start puppetmaster.service
或者
puppet master --verbose --no-daemonize
yum install puppet
修改配置文件
vim /etc/puppet/puppet.conf
##############################################################
[main]
ssldir = /var/puppet/ssl
[agent]
certname = agent.a1.client
server = puppetserver
report = true
##############################################################
修改 hosts 文件:
vim /etc/hosts
##############################################################
192.168.1.1 puppetserver
192.168.1.2 agent.1.client
##############################################################
启动 puppet 服务
systemctl start puppet.service
或者
puppet agent --server=puppetserver --verbose --no-daemonize --debug
默认puppet每2分钟向服务器端申请一次签名,直到得到服务器端发来的通过签名的证书才 start agent 服务。也能够经过--waitforcert=time 来设置等待时间,若是time为0 则不等待;
服务端:
查看客户端的签名申请: puppet cert --list
PS:"agent.a1.clent" 前面有加号就表明申请成功;
给客户端签名:puppet cert --sign agent.1.client
清除用户证书:puppet cert --clean agent.1.client (客户端端要同时删除证书:rm -rf /var/puppet/ssl/agent.1.client)
setenforce 0
iptables -A INPUT -p tcp -m state --state NEW -s 192.168.1.0/24 --dport 8140 -j ACCEPT
或者
firewall-cmd --add-port=8140/tcp
清单文件/etc/puppet/manifests/site.pp
yum 安装默认是没有这个文件的,服务端启动时须要手动建立一个,否则可能会没法启动(未测过,可能新版本优化过);
也能够在配置文件中自定义:
vardir =
/opt/puppetlabs/server/data/puppetserver
logdir =
/var/log/puppetlabs/puppetserver
rundir =
/var/run/puppetlabs/puppetserver
pidfile =
/var/run/puppetlabs/puppetserver/puppetserver
.pid
codedir =
/etc/puppetlabs/code