【问题标题】:Chef server migration: How to update the client.pem in nodes?Chef 服务器迁移:如何更新节点中的 client.pem?
【发布时间】:2015-04-22 10:05:02
【问题描述】:

我正在尝试使用 knife-backup 从一台厨师服务器迁移到另一台厨师服务器。但是,knife-backup 似乎并没有更新节点,而且我所有的节点在它们各自的client.rb 文件中仍然指向旧服务器,并且它们的validation.pemclient.pem 仍然与旧服务器配对。

因此,我手动更新了所有 client.rbvalidation.pem 文件。 但是,我仍然需要更新client.pem。显然,这样做的一种方法是将节点再次引导到新服务器,但我不想这样做,因为我不想部署到这些节点,因为这可能会导致数据丢失。

有什么方法可以更新节点中的client.pem 而无需引导或运行 chef-client?一种方法是获取私钥并手动完成,但我不知道该怎么做。

谢谢!

PS:请随时提出任何其他关于迁移的想法!

【问题讨论】:

    标签: knife chef-infra


    【解决方案1】:

    厨师服务器“客户端”实体包含与每个客户端服务器上的私钥(“client.pem”)文件匹配的公钥。据报道,knife backup 插件可以恢复厨师客户。您是否尝试过仅编辑 Chef 服务器 URL(在“client.rb”中)并重新运行 chef-client?

    补充说明:

    • 您可以丢弃“validation.pem”文件。这些在引导期间用于创建新的客户端注册。此外,您的新厨师服务器很可能具有备用验证密钥。

    【讨论】:

    • 刀备份对我的厨师客户没有任何改变。我编辑了 client.rb 让它指向新的服务器。但是厨师客户端仍然失败,给我一个错误(错误:403“禁止”致命:厨师::异常::ChildConvergeError:厨师运行过程未成功退出(退出代码1))。我可以修复此错误的唯一方法是删除节点然后再次引导它,这对我非常不利。关于您的附加说明,我使用新厨师服务器的验证密钥更新了 validation.pem。但是您确实提出了一个很好的观点;如果我避免引导,这对我来说是多余的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    相关资源
    最近更新 更多