自动部署运维之Puppet
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动部署运维之Puppet相关的知识,希望对你有一定的参考价值。
Puppet原理
Puppet的目录是让管理员只集中于要管理的目标,而忽略实现的细节。Puppet即可以运行在单机上,也可以以C/S结构使用。在大规模使用puppet的情况下,通常使用C/S结构,在这种结构中puppet客户端只运行puppeclient,puppet服务端只运行puppemaster。
工作流程
服务器端的puppetmaster通过fast工具分析检测客户端的主机名,然后找到项目的主配置文件manifest里面对应的node配置,并对该部分内容进行解析,fast发送过来的信息可以作为变量处理.
注意事项
为了保证安全,Client和Master之间是基于SSL和证书Puppet会让系统保持在人们所期望的某种状态并一直维持下去,如检测某个文件并保证其一直存在,保证SSH服务始终开启,如果文件被删除了或者ssh服务关闭了,puppet下次执行时(默认30分钟)会重新创建该文件或者启动SSH服务
服务器名称(主机名) | IP地址 | 需要的软件 |
---|---|---|
NTPserver | 192.168.10.11 | NTPserver |
puppetmaster | 192.168.10.12 | ntpdate |
puppetclient1 | 192.168.10.16 | ntpdate、puppet |
puppetclient2 | 192.168.10.17 | ntpdate、puppet |
实施
修改NTP服务器主机名称
vim /etc/hostname
NTPserver
init 6
所有服务器关闭防火墙和安全功能
systemctl stop firewalld.service
setenforce 0
NTPserver配置
yum install ntp -y #安装NTP
vim /etc/ntp.conf #编辑配置文件
server 127.127.1.0
fudge 127.127.1.0 stratum 8
systemctl enable ntpd.service
systemctl start ntpd.service #开启ntpd服务
ntpstat //查看时间同步状态
修改puppetmaster服务器主机名指定hosts文件
vim /etc/hostname # 修改主机名称
puppetmaster.localdomain
vim /etc/hosts #修改hosts文件
192.168.10.12 puppetmaster
192.168.10.17 puppetclient1
192.168.10.18 puppetclient2
init 6 # 重启
yum install ntpdate -y #安装ntp客户端
ntpdate 192.168.10.11 #进行时间同步
yum install puppet-server -y #安装puppet服务端
systemctl enable puppetmaster.service
systemctl start puppetmaster.service #启动puppet主程序
puppetclient1,puppetclient2配置,步骤相同
vim /etc/hostname # 修改主机名称
puppetmaster.localdomain
vim /etc/hosts #修改hosts文件
192.168.10.12 puppetmaster
192.168.10.17 puppetclient1
192.168.10.18 puppetclient2
init 6 # 重启
yum install ntpdate -y #安装ntp客户端
ntpdate 192.168.10.11 #进行时间同步
yum -y install puppet #安装puppet客户端
vim /etc/puppet/puppet.conf #修改配置文件
[main]
server = puppetmaster #指明puppetmaster
......
申请与注册
puppetclient端:
puppet agent --server=puppetmaster --no-daemonize --verbose #申请注册
puppetmaster端:
查看申请
puppet cert --list #查看申请
对未注册的进行注册:
puppet cert sign --all #对未注册的进行注册
通过目录查看已经注册的客户端:
ll /var/lib/puppet/ssl/ca/signed/ #通过目录查看已经注册的客户端
以上是关于自动部署运维之Puppet的主要内容,如果未能解决你的问题,请参考以下文章