失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Puppet模块(四):HOST模块及host资源

Puppet模块(四):HOST模块及host资源

时间:2023-09-25 15:13:42

相关推荐

Puppet模块(四):HOST模块及host资源

作用:自动配置客户端的hosts文件,解决网络内的计算机之间计算机名称解析问题,适用于没有部署DNS服务器的内网环境。

1、服务端配置puppet模块

(1)模块清单

[root@puppet~]#tree/etc/puppet/modules/host//etc/puppet/modules/host/├──files├──manifests│└──init.pp└──templates

(2)定义host主类

[root@puppet~]#vi/etc/puppet/modules/host/manifests/init.ppclasshost{host{'':#计算机名称ensure=>present,#基础属性,应用此资源host_aliases=>"puppet",#计算机别名,可以多个ip=>"10.188.1.73",#计算机IP地址}host{'':ensure=>present,host_aliases=>"zabbix",ip=>"10.188.1.103",}host{'':ensure=>present,host_aliases=>"centostest",ip=>"10.188.1.85",}host{'ywzhou-':ensure=>present,host_aliases=>"ywzhou-pc",ip=>"10.188.1.172",}}

说明:有多少条解析记录就写多少个host资源,需要注意的是计算机的IP必须固定,使用了DHCP服务的最好在DHCP服务器或路由器上进行保留或绑定;

或者手动设定IP,还可以通过puppet来管理客户端的主机名和IP。

(3)定义节点文件,调用模块

[root@puppet~]#vi/etc/puppet/manifests/centostest.ppnode""{includentp,yum,puppet,host}

(4)应用节点文件

[root@puppet~]#vi/etc/puppet/manifests/site.ppimport"centostest.pp"

2、测试

(1)客户端执行前查看hosts文件

[root@centostest~]#cat/etc/hosts127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain610.188.1.10.188.1.

说明:这是安装客户端时手动设置的。

(2)客户端执行puppet agent -t后查看日志

[root@centostest~]#tailf/var/log/messagesNov1114:22:39centostestpuppet-agent[4]:(/Stage[main]/Host/Host[]/host_aliases)defined'host_aliases'as'zabbix'Nov1114:22:39centostestpuppet-agent[4]:(/Stage[main]/Host/Host[ywzhou-]/ensure)createdNov1114:22:39centostestpuppet-agent[4]:(/Stage[main]/Host/Host[]/ensure)createdNov1114:22:39centostestpuppet-agent[4]:(/Stage[main]/Host/Host[]/host_aliases)defined'host_aliases'as'puppet'Nov1114:22:40centostestpuppet-agent[4]:Finishedcatalogrunin1.13seconds

说明:对原有的记录进行修改,增加了别名记录,没有的就创建。

(3)客户端再次查看hosts文件

[root@centostest~]#cat/etc/hosts#HEADER:ThisfilewasautogeneratedatTueNov1114:22:39+0800#HEADER:bypuppet.Whileitcanstillbemanagedmanually,it#HEADER:isdefinitelynotrecommended.127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain610.188.1.zabbix10.188.1.puppet10.188.1.172ywzhou-ywzhou-pc10.188.1.centostest

结论:可以看到对已有的条目添加了别名,没有的就新增了记录,这样就相当于建立了一个半自动的DNS;但是当计算机太多时最好还是搭建一个内网DNS服务器。

有新的记录就直接写在class host里,通过puppet发布到客户端,所有调用了host类的客户端就自动更新了。

3、host资源

host{'resourcetitle':name=>#主机名,可以写在标题中ensure=>#基本参数,present,absentcomment=>#注释说明host_aliases=>#别名ip=>#IP地址target=>#保住服务信息的文件,大部分系统默认是/etc/hosts}

如果觉得《Puppet模块(四):HOST模块及host资源》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。