puppet 配置 3.2管理 hosts

    xiaoxiao2026-03-16  5

    作用

    利用 puppet 对客户端 /etc/hosts 文件进行管理

    辅助模块

    https://forge.puppet.com/chrekh/hosts

    下载方法

    点击网页中 download latest tar.gz 直接下载 把下载的文件 解压至 puppet server 中 /etc/puppet/modules/hosts 目录中

    文件结构

    参考

    [root@terry-test-uq2pu hosts]# pwd /etc/puppet/modules/hosts [root@terry-test-uq2pu hosts]# ls CHANGELOG.md checksums.json Gemfile lib manifests metadata.json Rakefile README.md spec templates tests

    参考 README.md 查询使用方法

    puppet 调用顺序

    /etc/puppet/puppet.conf |-> /etc/puppet/manifests/main-site.pp |-> /etc/puppet/manifests/terry/terry-parameter.pp |-> /etc/puppet/manifests/terry/terry-site.pp |-> /etc/puppet/manifests/terry/terry-hosts.pp

    说明:

    1. /etc/puppet/puppet.conf 中通过下面配置执行下一个文件 manifest = /etc/puppet/manifests/main-site.pp 2. /etc/puppet/manifests/main-site.pp 通过下面配置执行下一个文件 import 'terry/terry-parameter.pp' import 'terry-site.pp' 3. /etc/puppet/manifests/terry/terry-parameter.pp (用于定了了全局变量) 下一章说明 /etc/puppet/manifests/terry/terry-site.pp 定义了主机需要执行那些自定义行为, 使用那些资源, 当前以调用了 sysctl 模块与 hosts 模块 import 'terry/terry-sysctl.pp' import 'terry/terry-hosts.pp' 4. /etc/puppet/manifests/terry/terry-hosts.pp 定义了 hosts 配置

    hosts 控制说明

    主要由 /etc/puppet/manifests/terry/terry-hosts.pp 控制整个客户端 /etc/hosts 文件内容

    文件例:

    class { 'hosts': one_primary_ipv4 => true, one_primary_ipv6 => false, entries => { '10.199.198.218' => [ 'terry-test-uq2pu.vclound.com', 'terry-test-uq2pu' ], '10.199.196.187' => [ 'terry-w6im9.vclound.com', 'terry-w6im9' ], '10.199.251.52' => [ 'terryzeng-gz-qa-dns-vid7e.vclound.com', 'terryzeng-gz-qa-dns-vid7e' ] } }

    客户端配置参考

    客户端连接服务器方法参考

    验证结果

    当执行客户端连接命令后, 参考 /etc/hosts 文件

    [root@terryzeng-gz-qa-dns-d4yzu /]# cat /etc/hosts # Managed by puppet module hosts. # Loopback 127.0.0.1 localhost # Primary address 10.199.198.161 terryzeng-gz-qa-dns-d4yzu.vclound.com terryzeng-gz-qa-dns-d4yzu # Additional entries (use hosts::entries to add) 10.199.251.52 terryzeng-gz-qa-dns-vid7e.vclound.com terryzeng-gz-qa-dns-vid7e 10.199.196.187 terry-w6im9.vclound.com terry-w6im9 10.199.198.218 terry-test-uq2pu.vclound.com terry-test-uq2pu

    说明:

    当前配置 terry-hosts.pp 会覆盖客户端 /etc/hosts 所有配置 当定义 one_primary_ipv4 => true 时, 会生成 primary address 配置 entries 中配置会根据定义, 每行一条记录 相关资源:敏捷开发V1.0.pptx
    最新回复(0)