Apache kafka 在特定的主机集/主机列表上有条件地执行
我第一次使用ansible,我的任务是仅为生产环境更改属性。 我很快就在网上读到了,但还不能完全理解这个概念 这就是我的目录层次结构。因此,基本上该文件既不是task/role/handler,因为main.yaml文件中没有name/task/handler/role tag/key,只有kafka服务器代理属性和其他coinfg变量。在我最近看到的文档/示例中,以及何时和主机键/标记中显示了执行此操作 我想做一些像 禁用/设置false生产环境的kafka主题删除。默认情况下,此属性为true。 delete.topic.enable:true 我有点像Apache kafka 在特定的主机集/主机列表上有条件地执行,apache-kafka,ansible,Apache Kafka,Ansible,我第一次使用ansible,我的任务是仅为生产环境更改属性。 我很快就在网上读到了,但还不能完全理解这个概念 这就是我的目录层次结构。因此,基本上该文件既不是task/role/handler,因为main.yaml文件中没有name/task/handler/role tag/key,只有kafka服务器代理属性和其他coinfg变量。在我最近看到的文档/示例中,以及何时和主机键/标记中显示了执行此操作 我想做一些像 禁用/设置false生产环境的kafka主题删除。默认情况下,此属性为tr
{% set env_bool: ture if ("production" == {{inventory_dir.split('/')[-1]}}) else false %}
delete.topic.enable: true
我有三个环境目录,在生产/库存中,我有集群中kafka实例的IP
如何实现这一点?与其使用模板化的if条件,不如始终定义变量 因此,在
defaults/main.yml
中将属性设置为true,然后在库存文件或group\u vars
目录中,为生产添加一个覆盖该属性的组变量
然后,在属性文件模板中,只需引用delete.topic.enable={{{delete\u topic\u enabled}
顺便说一下,您可能想看看现有的合流Ansible脚本我认为您需要了解更多关于Ansible的知识,然后才能理解问题的答案。Espc。阅读哪些角色以及它们是如何构成的。文件
defaults/main.yml
不包含任何任务,只包含变量默认值。任务存储在Tasks/main.yml
中。如果要覆盖默认值中的var,请在该主机或组的资源清册中进行设置,但不更改角色。