Phi*_*ide 2 puppet puppetmaster
我正在学习使用 Puppet,并已成功设置并连接了具有 2 个节点的主服务器。
production我已经为正在运行的默认环境创建了文件。我的环境文件夹中还有第二组配置beta。
我想通过主服务器将 2 个节点中的 1 个分配给测试组。我该怎么做呢?
傀儡版本4
环境可以通过代理的puppet.conf配置文件、代理的--environment命令行选项或主机使用外部节点分类器 (ENC)设置,按优先级递增的顺序。
运行puppet agent -t --environment beta以在非默认环境中运行代理。
在设置environment = beta下设置默认环境。[agent]/etc/puppetlabs/puppet/puppet.conf
或者配置 ENC 以定义主站上的环境:
创建一个脚本,例如/etc/puppetlabs/puppet/node.sh使用您喜欢的任何语言,例如
#!/bin/bash
if [ "$1" = beta.example.com ]; then
echo "environment: beta"
else
echo "environment: production"
fi
Run Code Online (Sandbox Code Playgroud)确保脚本可执行 ( chmod +x /etc/puppetlabs/puppet/node.sh)
在master /etc/puppetlabs/puppet/puppet.conf下[master],设置:
node_terminus = exec
external_nodes = /etc/puppetlabs/puppet/node.sh
Run Code Online (Sandbox Code Playgroud)当代理运行时,它将从运行节点脚本的主服务器检索节点信息。该脚本返回一个带有环境名称的 YAML 文档(本例中为一行)。如果给出了环境名称,则代理将被迫使用该环境。
该脚本可以按照您认为合适的方式实现 - 它可以执行某种查询(例如针对数据库),针对主机名(第一个参数$1)执行一些逻辑,或者只是进行硬编码。
| 归档时间: |
|
| 查看次数: |
5271 次 |
| 最近记录: |