如何创建一个包含子组的 Ansible 组,不包括子组?
Posted
技术标签:
【中文标题】如何创建一个包含子组的 Ansible 组,不包括子组?【英文标题】:How to create an Ansible group with children, excluding a subset group? 【发布时间】:2016-07-06 06:29:06 【问题描述】:我正在使用 Ansible EC2 Dynamic Inventory 脚本自动生成组。
这会创建 Ansible 组 ec2
,它包含我的 AWS 账户中的所有 EC2 主机。
这些主机的子集具有标签KubernetesCluster:kube-acceptance
。动态库存脚本创建一个组tag_KubernetesCluster_kube_acceptance
。
我想构建一个 Ansible 组,包括组 ec2
中的所有主机,但不包括组 tag_KubernetesCluster_kube_acceptance
中的主机。
这可以在库存文件中实现吗?
【问题讨论】:
【参考方案1】:您真的需要创建这样一个组,还是只想按照您的问题所述在剧本中使用生成的主机?
你的游戏中的主机定义应该是后者:
- hosts: ec2:!tag_KubernetesCluster_kube_acceptance
tasks: ...
【讨论】:
此解决方案适用于单个剧本。但是,我可能想在多个剧本中使用这个新组,在这种情况下我不想重复表达。以上是关于如何创建一个包含子组的 Ansible 组,不包括子组?的主要内容,如果未能解决你的问题,请参考以下文章