puppet 部署
admin
2023-02-27 23:02:20
0次

1 修改每个主机的主机名和hosts文件

192.168.0.13 master
192.168.0.14 slave
vim /etc/hostname #修改主机名
slave
vim /etc/hosts #增加DNS解析
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.13 master
192.168.0.14 slave
192.168.0.16 web1.yang.com #提供静态资源的服务器
192.168.0.19 proxy1.yang.com #反代服务器

2.安装master端,agent端

yum install epel-release.noarch -y
yum install puppet-server.noarch
#记得启动 systemctl restart pupetmaster
安装agent端
yum install puppet -y
vim /etc/puppet/puppet.conf #修改agent端配置,加入以下配置
server = master #指定服务器的主机名,记住ping 下测试能不能正常解析到服务器IP
runinterval = 10 #每隔10s 刷新一次

3.证书认证

agent端运行
puppet agent --test --server master #向master主机发送证书请求

master端
puppet cert list --all        # 查看所有证书
puppet cert list               #只看未签发的
puppet cert sign --all      #签发所有未签发的 
puppet cert sign slave    #只签发名为"slave"的证书
puppet cert clean slave #吊销指定的客户端的证书,并删除与其相关的所有文件
rm -rf  /var/lib/puppet/ssl/ #这个文件夹是agent端存放证书的,前面服务器端先吊销证书,这边客户端在删除存放证书的文件夹,在重新申请,已达到重新申请的效果
自动签发
方法一
在/etc/puppet下新加配置文件autosign.conf,将要自动签发的域名写入该文件
vim /etc/puppet/autosign.conf
*.xxx.com
方法二
vim /etc/puppet/puppet.conf
autosign = true
补充
ll /var/lib/puppet/ssl/ca/requests
#服务器端查看请求证书 (这个文件夹是未签的证书)
ll /var/lib/puppet/ssl/ca/signed/
#服务器端查看已经签署的证书(这个文件夹是已签的证书)
/var/lib/puppet/ssl/
#agent端证书位置,如果需要换证书将里面的内容全部删除重新想server发申请即可

4.pp文件的解释

puppet 部署

manifests --size.pp :这个文件是导航文件,用于匹配用户调用类的
vim /etc/puppet/manifests/site.pp
node default{
#默认匹配,表示只要证书被签发的,都会下发下面的类
     include nginx
         #调用名为nginx的类
}
node /web[0-9]+\.yang\.com/{
#正则匹配,表示匹配主机名以web开头的后面带数字的且后面是.yang.com 才下发下面的类 我用来匹配"web1.yang.com"的
     include web
}
node /proxy[0-9]+\.yang\.com/{
#正则匹配,表示匹配主机名以proxy开头的后面带数字的且后面是.yang.com 才下发下面的类
     include proxy
}

puppet 部署

modules:这个文件夹是存放模块的,我建立三个模块,nginx  proxy  web,nginx被默认"node default"所调用,作用是用来安装nginx程序包的
vim /etc/puppet/modules/nginx/manifests/init.pp
class nginx {
#注意,类名要和文件夹名一致,否则无法被size.pp 文件调用
      package {"nginx":
      ensure=> present,
              }
            }
web是被"node /web[0-9]+\.yang\.com/"所调用,用来修改nginx配置文件的
class web($nginx_port="8080"){
#先定义一个变量
      file{'/etc/nginx/nginx.conf':
            #复制客户机的那个路径::wq
      ensure => file,
      content => template('/etc/puppet/modules/web/files/nginx.conf'),
            # 模板文件的位置,该模块内部的files文件夹就是用来存放模板文件的
      owner => 'root',
      group => 'root',
      mode => '0644',
          }
    }

puppet 部署

配置文件的重点就是 默认的80端口,替换成了<%= @proxy_port %> ,在复制的过程当中会被替换成刚才前面定义的8080
proxy是被"node /proxy[0-9]+\.yang\.com/"所调用,也是用来修改nginx配置文件的不过这边复制的反代的模板,配置和上面web 差不多

5.测试

agent端默认请求资源时间是30分钟等不了,可用 puppet agent -t 手动请求资源
puppet 部署
#可以看到nginx已经被安装了,这个是第一个模块"nginx",安装的
puppet 部署
#打开nginx的配置文件可以看到,这边端口已经被替换成了8080,这是第二个模块"web"产生的效果

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...