像 Ansible 一样的 Chef 动态库存?

像 Ansible 一样的 Chef 动态库存?

在 Ansible 中,我可以使用 shell 脚本来提供要配置的主机列表;在 Chef 中,我知道 Chef Server 提供了类似的功能。

但是,我不想安装一个重型服务器来提供此功能,有没有什么解决方法可以让我在 Chef 中做类似的事情,比如 Ansible?

答案1

Chef server 相对于 chef solo 的关键功能是搜索功能,它可以根据给定的查询找到服务器/节点。

我理解您不想托管自己的 chef 服务器来获得此功能!有很多活动部件可以提供此功能,erlang 和 rabbitmq 等等...

幸运的是零厨师或现在所称的 chef-client 的 --local 模式,支持搜索并充当其自身的微型服务器,只是暂时的。

它可以从正确目录结构中的 json node/environment/role 文件中读取,并充当 API 端点,直到 chef 运行完成。

鉴于这种结构,除了使用配方中的搜索来查找其他节点之外,还可以使用它knife search --local 'role:web-server AND chef_environment:production'来列出匹配的节点以及knife ssh --local 'role:web-server AND chef_environment: production' 'ssh_command'在所有服务器上执行命令。

因此,虽然这不完全是一个 ansible 风格的动态库存系统,但您可以用它做很多事情。

相关内容