Ansible 动态库存键组 gcp
Ansible dynamic inventory keyed groups gcp
我正在尝试在 ansible 中创建一个清单文件,该文件根据 Google 云平台中的实例组对所有实例进行分组。
Ansible 文档给出了以下示例,根据标签对实例进行分组。当我使用此示例时,它可以正常工作并显示按标签分组的实例。
keyed_groups:
- prefix: gcp
key: labels
但我想按实例组对它们进行分组。我尝试了以下的很多变体,但其中 none 有效。
keyed_groups:
- prefix: gcp
key: instance-groups
keyed_groups:
- prefix: gcp
key: compute_instance_groups
知道我的问题的语法是什么吗?
主机列表由 gcp_compute ansible inventory 插件构建。该插件检查一组 Compute Engine 实例并构建一个列表。我们可以用作键的项目集可在此处找到:
如果我们查看此数据,我们会不会发现计算引擎知道它属于哪个(如果有的话)实例组。
回过头来看,我们发现要创建实例组,我们首先要创建一个计算引擎模板来描述实例的外观。接下来我们创建一个引用该模板的实例组。 GCP 的实例组子系统似乎与计算引擎实例分开管理组。
如果您希望能够了解计算引擎属于哪个实例组,一种解决方案是在用于创建计算引擎的模板中创建一个标签。例如:
- instance_group:我的实例组
完成后,由实例组创建并与该模板关联的计算引擎实例将有一个名为 instance_group
的标签。届时,您可以使用 Ansible 库存插件按标签分组。
参考文献:
看起来,您可以在元数据中找到该实例组,尽管不是那么整齐。它在数据中 ansible 可以像这样访问:
"metadata": {
"created-by": "projects/XXXX/regions/europe-west4/instanceGroupManagers/my-instance-group",
您可以基于此创建一个群组:
groups:
my-instance-group: "'instanceGroupManagers/my-instance-group' in metadata['created-by']"
请注意,当您 运行 ansible-inventory --list -i inventory/nonprod_gcp.yml
时,您可以看到所有元数据,因此您还可以在其他属性上创建 groups
或 keyed_groups
。
我正在尝试在 ansible 中创建一个清单文件,该文件根据 Google 云平台中的实例组对所有实例进行分组。
Ansible 文档给出了以下示例,根据标签对实例进行分组。当我使用此示例时,它可以正常工作并显示按标签分组的实例。
keyed_groups:
- prefix: gcp
key: labels
但我想按实例组对它们进行分组。我尝试了以下的很多变体,但其中 none 有效。
keyed_groups:
- prefix: gcp
key: instance-groups
keyed_groups:
- prefix: gcp
key: compute_instance_groups
知道我的问题的语法是什么吗?
主机列表由 gcp_compute ansible inventory 插件构建。该插件检查一组 Compute Engine 实例并构建一个列表。我们可以用作键的项目集可在此处找到:
如果我们查看此数据,我们会不会发现计算引擎知道它属于哪个(如果有的话)实例组。
回过头来看,我们发现要创建实例组,我们首先要创建一个计算引擎模板来描述实例的外观。接下来我们创建一个引用该模板的实例组。 GCP 的实例组子系统似乎与计算引擎实例分开管理组。
如果您希望能够了解计算引擎属于哪个实例组,一种解决方案是在用于创建计算引擎的模板中创建一个标签。例如:
- instance_group:我的实例组
完成后,由实例组创建并与该模板关联的计算引擎实例将有一个名为 instance_group
的标签。届时,您可以使用 Ansible 库存插件按标签分组。
参考文献:
看起来,您可以在元数据中找到该实例组,尽管不是那么整齐。它在数据中 ansible 可以像这样访问:
"metadata": {
"created-by": "projects/XXXX/regions/europe-west4/instanceGroupManagers/my-instance-group",
您可以基于此创建一个群组:
groups:
my-instance-group: "'instanceGroupManagers/my-instance-group' in metadata['created-by']"
请注意,当您 运行 ansible-inventory --list -i inventory/nonprod_gcp.yml
时,您可以看到所有元数据,因此您还可以在其他属性上创建 groups
或 keyed_groups
。