knife-windows 确实已安装,但 bootstrap 仍然失败

knife-windows is definitely installed but bootstrap still fails

我肯定安装knife-windows。 Chef gem 列表显示 knife-windows 但是当我 运行 bootstrap 我被告知它没有安装。

sudo -u user -H sh -c "cd /home/user/chef-repo/; chef gem list"
sudo -u user -H sh -c "cd /home/user/chef-repo/; knife bootstrap windows winrm $VMIP  -r 'role[build_server]' -x 'domain\user' -V -P 'password'"

输出

第一个命令显示:knife-windows (0.8.5, 0.8.3)

第二个:

INFO: Using configuration from /home/user/.chef/knife.rb
WARNING: Hostname containing 'windows' specified. Please install 'knife-windows' if you are attempting to bootstrap a Windows node via WinRM.
Doing old-style registration with the validation key at /home/user/.chef/myserver-validator.pem...
Delete your validation key in order to use your user credentials instead

有什么明显的我遗漏的东西吗?

干杯

看起来您的 ChefDK 设置不完整,因为您的 sudo 命令调用 /usr/bin/knife 看起来像基于 ruby​​gems 的 knife,而不是 ChefDK。

请确保将 ChefDK 添加到用户的 $PATH 中,如下所述: https://docs.chef.io/install_dk.html#add-ruby-to-path

根据您的设置,您还想使用 sudo -i 在登录 shell 内执行命令。