В основном, исходя из моих выводов, эта проблема может возникать в двух разных сценариях:
Когда вы используете kitchen converge
.Это можно решить очень легко, добавив фрагмент кода внутри kitchen.yml
как
provisioner:
client_rb:
chef_license: accept
Когда вы запускаете knife bootstrap
, это может быть немногоДополнительная работа.Эта страница объясняет все, что нужно сделать.Внутри каталога .chef
.
> mkdir bootstrap
> cd bootstrap && touch template.erb
> find /opt/chefdk/embedded/lib/ruby -type f -name chef-full.erb -exec cat {} \; > template.erb
Найдите строку с той частью, которая говорит
cat > /etc/chef/client.rb <<'EOP
<%= config_content %>
EOP
, и замените ее на
cat > /etc/chef/client.rb <<'EOP'
<%= config_content %>
chef_license "accept"
EOP
Затем выполните команду knife bootstrap <host> --ssh-user '<username>' -i <my-identity>.pem --sudo --use-sudo-password --node-name <node-name> --boostrap-template "template" --run-list 'recipe[<cookbook-name>::default]'
.Это позаботилось об этом.