首页 Linux网维 Puppet模块(四):HOST模块及host资源

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

作用:自动配置客户端的hosts文件,解决网络内的计算机之间计算机名称解析问题,适用于没有部署DNS服务器的内网环境1、服务端配置puppet模块(1)模块清单123456[roo…

作用:自动配置客户端的hosts文件,解决网络内的计算机之间计算机名称解析问题,适用于没有部署DNS服务器的内网环境1、服务端配置puppet模块(1)模块清单123456[root@puppet ~]# tree /etc/puppet/modules/host/。

/etc/puppet/modules/host/├── files├── manifests│   └── init.pp└── templates(2)定义host主类123456789101112

1314151617181920212223[root@puppet ~]# vi /etc/puppet/modules/host/manifests/init.ppclass host {  host { puppet.ewin.com:      #计算机名称

ensure       => present,       #基础属性,应用此资源  host_aliases => “puppet”,      #计算机别名,可以多个  ip           => “10.188.1.73”, #计算机IP地址

}  host { zabbix.ewin.com:  ensure       => present,  host_aliases => “zabbix”,  ip           => “10.188.1.103”,

}  host { centostest.ewin.com:  ensure       => present,  host_aliases => “centostest”,  ip           => “10.188.1.85”,

}  host { ywzhou-pc.ewin.com:  ensure       => present,  host_aliases => “ywzhou-pc”,  ip           => “10.188.1.172”,

}}说明:有多少条解析记录就写多少个host资源,需要注意的是计算机的IP必须固定,使用了DHCP服务的最好在DHCP服务器或路由器上进行保留或绑定;或者手动设定IP,还可以通过puppet来管理客户端的主机名和IP。

(3)定义节点文件,调用模块1234[root@puppet ~]# vi /etc/puppet/manifests/centostest.ppnode “centostest.ewin.com” {

include ntp, yum, puppet, host}(4)应用节点文件12[root@puppet ~]# vi /etc/puppet/manifests/site.ppimport “centostest.pp”

2、测试(1)客户端执行前查看hosts文件12345[root@centostest ~]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain610.188.1.103 zabbix.ewin.com

10.188.1.73 puppet.ewin.com说明:这是安装客户端时手动设置的(2)客户端执行puppet agent -t后查看日志123456[root@centostest ~]# tailf /var/log/messages。

Nov 11 14:22:39 centostest puppet-agent[20214]: (/Stage[main]/Host/Host[zabbix.ewin.com]/host_aliases) defined host_aliases as zabbix

Nov 11 14:22:39 centostest puppet-agent[20214]: (/Stage[main]/Host/Host[ywzhou-pc.ewin.com]/ensure) created

Nov 11 14:22:39 centostest puppet-agent[20214]: (/Stage[main]/Host/Host[centostest.ewin.com]/ensure) created

Nov 11 14:22:39 centostest puppet-agent[20214]: (/Stage[main]/Host/Host[puppet.ewin.com]/host_aliases) defined host_aliases as puppet

Nov 11 14:22:40 centostest puppet-agent[20214]: Finished catalog run in 1.13 seconds说明:对原有的记录进行修改,增加了别名记录,没有的就创建。

(3)客户端再次查看hosts文件12345678910[root@centostest ~]# cat /etc/hosts# HEADER: This file was autogenerated at Tue Nov 11 14:22:39 +0800 2014

# HEADER: by puppet.  While it can still be managed manually, it# HEADER: is definitely not recommended.

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

10.188.1.103  zabbix.ewin.com zabbix10.188.1.73 puppet.ewin.com puppet10.188.1.172  ywzhou-pc.ewin.com  ywzhou-pc

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

有新的记录就直接写在class host里,通过puppet发布到客户端,所有调用了host类的客户端就自动更新了3、host资源12345678host { resource title:  name         => #主机名,可以写在标题中。

ensure       => #基本参数,present, absent  comment      => #注释说明  host_aliases => #别名  ip           => #IP地址

target       => #保住服务信息的文件,大部分系统默认是/etc/hosts}

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

linux文件命令

linux文件命令

在 Linux 中,我们可以使用 `with open()` 语句和 `write()` 函数来写入文件。以下是一个简单...
linux的命令

linux的命令

以下是一个简单的 Linux 命令示例,该命令将显示当前日期和时间: “`c #include <st...
linux 命令

linux 命令

由于 Linux 命令是由 C 语言编写的,因此下面是一个简单的用中文编写的 Linux 命令示例,它将输出“Hello...
linux命令tar

linux命令tar

这个问题看起来有些模糊,我不确定您是想了解如何在 Linux 系统中使用 tar 命令,还是如何编写一个名为 tar 的...
linux压缩命令

linux压缩命令

Linux压缩命令:高效管理文件和目录 Linux操作系统提供了一系列强大的压缩命令,使您能够高效地管理文件和目录。无论...

发表回复

返回顶部