【问题标题】:Chef client bootstrap fails after provisioning a new cloud server配置新的云服务器后,Chef 客户端引导失败
【发布时间】:2014-09-19 02:15:50
【问题描述】:

我正在尝试使用 Opscode 的新 vCAir 插件在 VMware 的 vCloud Air 服务中配置新服务器。我的 Chef 服务器和工作站都在 vCloud Air 服务中运行。配置并启动服务器后,它会尝试从 www.opscode.com 启动 Chef 客户端,但由于服务器在其 resolv.conf 中没有定义任何名称服务器,因此无法解析。我的knife.rb 文件将 chef_server_url 属性设置为我的 Chef 服务器的 IP 地址,例如https://1.2.3.4 但新服务器继续尝试从 opscode.com 下载 Chef 客户端。我尝试使用 Chef 服务器 URL 将 client.rb 文件放在 /etc/chef/ 目录中,这似乎解决了服务器连接到 Chef 服务器的部分问题,但随后它说 validation.pem文件丢失。我以为我可以简单地将 /.chef 目录中的 chef-validator.pem 文件复制到 /etc/chef/ 目录并将其重命名为 validation.pem,但这似乎会导致它恢复到服务器的早期行为尝试从 opscode.com 引导 Chef 客户端。引导新服务器时,knife 使用什么配置文件,它应该在哪里?

【问题讨论】:

    标签: chef-infra bootstrapping knife


    【解决方案1】:

    knife bootstrap 命令从 opscode.com 中提取一个模板,然后使用该模板配置您的节点以进行第一次 Chef 运行。即使您已经安装了 Chef 客户端,您仍然需要该引导模板。默认情况下,它是从 Opscode 的网站中提取的,但您也可以使用 --template-file 标志将其作为引导命令的参数提供。

    当我过去遇到类似情况时,我会从 opscode 手动下载正确的模板,然后将其提供给我的网络内部。如果我没记错的话,您需要提取两个模板,第一个确定您的操作系统(在您的情况下大部分不需要),第二个是用于配置您的实际操作系统特定脚本。
    * 正是这个脚本提供了您需要的 validation.pem 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      • 2017-05-21
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多