我是 Chef 的新手,我遇到了一个问题。我使用AWS Chef Automate Server和EC2 ubuntu实例作为 Chef 节点。我的工作站是我在 windows 上安装 ChefDK的本地机器。我已经使用 ChefDK 成功配置了 Chef 服务器。
当我使用Knife Bootstrap命令引导节点时,它会引导 ubuntu 节点,但最后会显示此错误cannot create /etc/chef/trusted_certs/opsworks-cm-ca-2016-root.pem: Directory nonexistent
我在这里使用的命令是knife bootstrap myEC2PublicIPHere -N UmaidNode1 -x ubuntu --sudo --run-list "recipe[nginx]" -i .chef/my_key.pem
.
之后,我在服务器中添加了一些其他食谱并从我的 Windows 工作站运行Knife ssh命令以在节点上运行Chef-client,但此命令不起作用。我尝试过使用不同的属性,但总是出现类似的问题FATAL: 1 node found, but does not have the required attribute to establish the connection. Try setting another attribute to open the connection using --attribute
。
我在这里尝试的命令是knife ssh 'name:*' --attribute myEC2PublicIpHere -x ubuntu -i .chef/my_key.pem 'sudo chef-client'
. 运行此命令knife node show UmaidNode1
后,它会显示有关 IP 为空白的节点的数据。我不知道为什么它没有在这里获得这个IP。显示输出Node Name: UmaidNode1 Environment: _default FQDN: IP: Run List: recipe[nginx], recipe[apache] Roles: Recipes: Platform: Tags:
在此处输入图像描述