当前位置: 首页 > 知识库问答 >
问题:

不包括Ansible清单中的主机子集

王楚青
2023-03-14

我有一组名为vm2-prodvm14-prod的主机。它们在Ansible主机目录中被分组为vmware_hosts。我想排除一个主机子集,如下所示:

- name: testing play
  hosts: vmware_hosts:!vm[8-10]-prod

根据Ansible文档,这似乎应该排除vm7-prodvm9-prod。但是,我得到了“不能匹配主机模式,忽略vm[8-10]-prod”,就像它在读取实际主机名“vm[8-10]-prod”而不是数组一样。

我还尝试了vm[8:10]-prod,但也出现了同样的错误。

怎么啦?

共有1个答案

裴鸿熙
2023-03-14

根据Ansible的文档

=>到底是哪一个?

我清楚地记得看到过这种表示法,用于在清单中添加范围,但根本没有用于主机模式。

hosts: vmware_hosts:!~vm[8-10]-prod

同时,尽管上面的内容可以方便地为特定的playbook运行指定命令行的限制,但为了更经常地使用,我建议将这些机器添加到其他组中,这样更容易排除和长期维护。

 类似资料:
  • 我有一个假的怀疑让我卡住了很长时间。我有一个非常平庸的包含主机和变量的清单文件: 问题是我需要从group_vars/all文件访问清单文件中的所有这些主机和变量。 我尝试了以下方式来访问主机IP: 为了访问主机变量,我尝试了: 问题:在变量文件中使用清单文件中声明的主机,比方说:group_vars/all。 示例:我有一个DB主机,。 库存文件: 问题是group_vars/all文件中的变量

  • 当我点击swagger ui url时,我被重定向到附加了configUrl的链接。但是新的url不包括方案、主机名或端口。有没有我错过的设置? 当前属性。。。 初始url:http://localhost:8080/swagger-用户界面 重定向url:swagger用户界面/索引。html?configUrl=/v3/api文档/swagger配置 任何帮助都会很好。 编辑:如果我将上下文路

  • 我希望使用运行测试,但只能针对主机服务器1。有办法做到这一点吗?

  • 正如主题所说。我在主机清单文件中定义了一些主机变量。我如何在我的剧本中访问它们? 这里有一个例子。根据我所有的研究,我希望和是的一部分。我可以将主机特定的变量放在单独的var文件中,但我希望将它们保存在“附加”到主机的清单文件中。我不想在模板中使用它。ansible版本:1.3.2,Ansible_distribution_version:6.4

  • 我一直试图使用Ansible Playbook将主机名添加到我的主机文件中。我的Ansible播放如下所示,我的主机文件位于: Playbook成功执行,但新主机名没有添加到Ansible hosts文件中。有人能帮我吗?

  • 什么是 Host Inventory ( 主机目录 、主机清单)? Host Inventory 是配置文件,用来告诉Ansible需要管理哪些主机。并且把这些主机根据按需分类。 可以根据用途分类:数据库节点,服务节点等;根据地点分类:中部,西部机房。 Host Inventory 配置文件: 默认的文件是: /etc/ansible/hosts 可以修改为其它的文件,下一章Ansible进阶中介