Chef Infra Client执行无资源更新,文件Cookbook无法创建文件求助
Chef未创建预期文件的排查与解决
从你的chef-client运行日志可以看到Converging 0 resources,这说明你的test-cookbook::test-recipe中没有定义任何Chef资源,所以Chef没有执行任何创建文件的操作。
解决步骤:
- 定位到test-cookbook的recipe文件,路径应为:
test-cookbook/recipes/test-recipe.rb,确认文件存在。 - 在该recipe文件中添加创建文件的资源定义,示例代码:
# 创建一个/tmp/test_file.txt文件 file '/tmp/test_file.txt' do content '由Chef创建的测试文件内容' owner 'root' group 'root' mode '0644' # 文件权限 action :create # 执行创建操作 end
- 重新运行Chef客户端命令:
chef-client -zr "recipe[test-cookbook::test-recipe]"
- 验证文件是否生成:
ls /tmp/test_file.txt cat /tmp/test_file.txt
关键说明:
Chef的执行逻辑完全基于recipe中定义的资源,日志里的0/0 resources updated表示没有任何资源被调度执行,本质原因是你的recipe为空或者未正确配置创建文件的资源。
内容的提问来源于stack exchange,提问作者Shivam Magotra
相关产品推荐
相关产品推荐

