google-cloud-platform - Ansible 动态库存键控组 gcp
问题描述
我正在尝试在 ansible 中创建一个清单文件,该文件根据 Google Cloud Platform 中的实例组对所有实例进行分组。
Ansible 文档给出了以下示例来根据它们的标签对实例进行分组。当我使用这个示例时,它可以工作并按标签分组显示我的实例。
keyed_groups:
- prefix: gcp
key: labels
但我想按它们的实例组对它们进行分组。我尝试了以下的很多变体,但都没有奏效。
keyed_groups:
- prefix: gcp
key: instance-groups
keyed_groups:
- prefix: gcp
key: compute_instance_groups
任何想法,我的问题的语法是什么?
解决方案
主机列表由 gcp_compute ansible inventory 插件构建。此插件检查一组 Compute Engine 实例并构建一个列表。我们可以用作键的项目集在这里找到:
如果我们查看这些数据,我们不会发现 Compute Engine 知道它属于哪个(如果有)实例组。
退后一步,我们发现要创建实例组,我们首先创建一个描述实例外观的计算引擎模板。接下来,我们创建一个引用该模板的实例组。GCP 的实例组子系统似乎将组与计算引擎实例分开管理。
如果您希望能够了解计算引擎属于哪个实例组,一种解决方案是在用于创建计算引擎的模板中创建一个标签。例如:
- instance_group:MyInstanceGroup
完成此操作后,由实例组创建并与该模板关联的计算引擎实例将具有一个名为instance_group
. 此时,您可以使用 Ansible 库存插件按标签进行分组。
参考:
推荐阅读
- vba - 在连接单元格的情况下按字母顺序对列进行排序
- java - 有没有办法像 Java 中的模拟时钟指针一样旋转 Rectangles2D?
- hyperledger-fabric - HyperLedger 作曲家将 Rest 服务器暴露给外界
- css - Telerik Kendo Angular UI DropDownList 块调整大小
- typescript - 是否可以创建一个 Typescript 的子集,其中结果将具有健全的类型系统?
- mysql - 最小值函数返回最大值和最大值函数返回最小值
- java - 循环遍历具有交替元素的数组
- python - 如何将 printSchema 的结果保存到 PySpark 中的文件中
- php - 在 laravel 的重定向方法中添加 get 参数
- ionic3 - 如何在inappbrowser之外而不是在Inapp浏览器内打开外部Url