【问题标题】:how to change the masterport in a puppet-enterprise monolithic installation如何更改 puppet-enterprise 整体安装中的 masterport
【发布时间】:2019-01-29 11:25:58
【问题描述】:

到目前为止,我一直在使用 puppet-enterprise 3.8.6,我终于可以升级到最新版本(2018.1.3)。
在 puppet 3.8.6 中,我能够通过

更改主端口
  1. 设置 puppet_enterprise::puppet_master_port 参数,
  2. 执行 puppet 代理(失败),
  3. 停止所有 puppet 服务,
  4. 手动查找 /etc/puppetlabs 和 /opt/puppetlabs 下仍包含 8140 的配置文件,并将该值替换为所有位置的新端口值,
  5. 重新启动所有 puppet 服务并
  6. 再次执行傀儡代理

这既不好也不容易也不快,但它确实有效。

当我尝试使用最新版本执行此操作时,我在第 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.ppcli_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。所以我还是不明白为什么它不起作用。

【问题讨论】:

    标签: puppet puppet-enterprise


    【解决方案1】:

    最后我设法运行了 puppet 代理,很快将流量从旧端口重定向到新端口,其中:

    socat tcp-listen:8140,reuseaddr,fork tcp:localhost:<newport>

    【讨论】:

    • 我最近在 Puppet Enterprise 2019.0.1 中遇到了这个问题。我尝试在分类 -> PE 基础设施 -> puppet_enterprise 中设置值,但更改不是持久的。我必须将更改放入 /etc/puppetlabs/enterprise/conf.d/pe.conf 文件,并运行此命令“puppet infrastructure configure --recover”。这改变了所有必要的端口并且是持久的。
    • @EdwinW:感谢您的提示,我已经使用所描述的方法升级了几台服务器,并且看起来坚如磐石......
    猜你喜欢
    • 1970-01-01
    • 2017-11-24
    • 2013-04-01
    • 1970-01-01
    • 2012-07-04
    • 2015-09-08
    • 2015-11-05
    • 2015-03-24
    • 2014-06-04
    相关资源
    最近更新 更多