puppet 部署
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.confautosign = true补充ll /var/lib/puppet/ssl/ca/requests#服务器端查看请求证书 (这个文件夹是未签的证书)ll /var/lib/puppet/ssl/ca/signed/#服务器端查看已经签署的证书(这个文件夹是已签的证书)/var/lib/puppet/ssl/#agent端证书位置,如果需要换证书将里面的内容全部删除重新想server发申请即可
4.pp文件的解释
manifests --size.pp :这个文件是导航文件,用于匹配用户调用类的vim /etc/puppet/manifests/site.ppnode 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}
modules:这个文件夹是存放模块的,我建立三个模块,nginx proxy web,nginx被默认"node default"所调用,作用是用来安装nginx程序包的vim /etc/puppet/modules/nginx/manifests/init.ppclass 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', } }
配置文件的重点就是 默认的80端口,替换成了<%= @proxy_port %> ,在复制的过程当中会被替换成刚才前面定义的8080proxy是被"node /proxy[0-9]+\.yang\.com/"所调用,也是用来修改nginx配置文件的不过这边复制的反代的模板,配置和上面web 差不多
5.测试
agent端默认请求资源时间是30分钟等不了,可用 puppet agent -t 手动请求资源
#可以看到nginx已经被安装了,这个是第一个模块"nginx",安装的
#打开nginx的配置文件可以看到,这边端口已经被替换成了8080,这是第二个模块"web"产生的效果
- 上一篇
windows defender是否可以关闭
今天就跟大家聊聊有关windows defender是否可以关闭,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。windows defender
- 下一篇
Linux中误删libc提示Kernel panic not syncing: Attempted to kill init的解决办法
这期内容当中小编将会给大家带来有关Linux中误删libc提示Kernel panic not syncing: Attempted to kill init的解决办法,文章内容丰富且以专业的角度为大