我是新来的厨师,我遇到了一个问题。我使用AWS主厨自动化服务器和EC2 ubuntu实例作为Chef。我的工作站是本地机器,我在windows上安装了ChefDK。我已经成功地用ChefDK配置了主厨服务器。
当我使用刀引导命令引导节点时,它引导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工作站上运行刀ssh命令,以便在节点上运行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: 在这里输入图像描述
发布于 2020-06-26 12:27:38
这个问题终于解决了。我不知道为什么,但问题在于ChefDK版本。我使用的是最新的版本4.8.23。它总是创建目录/etcchef,但是主厨搜索目录/etc/chef中的所有文件。因此,它无法获得像client.rb等文件。
注意:--我甚至自己创建了所需的/etc/chef目录,但没有工作。我安装了一个旧版本的ChefDK,现在它运行良好。
https://stackoverflow.com/questions/62575635
复制相似问题