【发布时间】:2019-01-29 11:25:58
【问题描述】:
到目前为止,我一直在使用 puppet-enterprise 3.8.6,我终于可以升级到最新版本(2018.1.3)。
在 puppet 3.8.6 中,我能够通过
- 设置 puppet_enterprise::puppet_master_port 参数,
- 执行 puppet 代理(失败),
- 停止所有 puppet 服务,
- 手动查找 /etc/puppetlabs 和 /opt/puppetlabs 下仍包含 8140 的配置文件,并将该值替换为所有位置的新端口值,
- 重新启动所有 puppet 服务并
- 再次执行傀儡代理
这既不好也不容易也不快,但它确实有效。
当我尝试使用最新版本执行此操作时,我在第 6 步中发现仍有一些地方的值被还原并且代理失败,特别是:
puppet:~ # find /etc/puppetlabs/ -name "*.conf" -o -name "*.yaml" | xargs grep 8140
/etc/puppetlabs/console-services/conf.d/console.conf: "url": "https://puppet:8140"
/etc/puppetlabs/client-tools/services.conf: "port": 8140,
/etc/puppetlabs/client-tools/services.conf: "status_url": "https://puppet:8140/status",
/etc/puppetlabs/client-tools/services.conf: "url": "https://puppet:8140/"
我发现这些文件分别由 trapperkeeper/console_services.pp 和 cli_config.pp 类管理,并且错误的端口值来自“service_port”参数,我不明白来自哪个层次值被读取,但不默认为puppet_enterprise::puppet_master_port参数。
任何提示如何将service_port 参数设置为新值?或者,有没有更好的方法来更改主端口?
非常感谢
迈克尔
更新:
我现在明白参数service_port 是一个局部变量,以及status_port,它们是在迭代中从class_parameters 读取的。
相关参数在上面几行设置为Puppet_enterprise::Profile::Master::ssl_listen_port,默认为puppet_enterprise::puppet_master_port。所以我还是不明白为什么它不起作用。
【问题讨论】: