我正在尝试使用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客户端。我已经尝试将一个client.rb文件放在/ etc / chef /目录中,并使用Chef服务器URL,这似乎解决了部分问题,即服务器连接到Chef服务器,但后来它说了validation.pem文件丢失。我想我可以简单地将chef-validator.pem文件从/.chef目录复制到/ etc / chef /目录并将其重命名为validation.pem,但这似乎会导致它恢复到服务器的早期行为尝试从opscode.com引导Chef客户端。引导新服务器时,刀使用什么配置文件以及它应该在哪里?
答案 0 :(得分:0)
knife bootstrap命令从opscode.com中提取模板,然后使用该模板为您的第一个Chef运行配置节点。即使您已经安装了Chef Client,您仍然需要该引导模板。默认情况下,它从Opscode的网站上删除,但您也可以使用--template-file
标志将其作为bootstrap命令的参数提供。
当我过去遇到过类似的情况时,我会从opscode手动下载正确的模板,然后将其提供给我的网络内部。如果我的记忆正确地为我服务,你需要提取两个模板,第一个确定你的操作系统(在你的情况下几乎不需要),第二个是用于配置你的实际操作系统特定脚本。
*正是这个脚本提供了您需要的validation.pem文件。