Ansible动态库存键控组gcp

时间:2019-10-29 12:23:31

标签: google-cloud-platform ansible ansible-inventory

我正在尝试在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

任何想法,我的问题的语法是什么?

1 个答案:

答案 0 :(得分:0)

主机列表由gcp_compute ansible清单插件构建。该插件检查Compute Engine实例集并构建一个列表。我们可以在其中用作键的项目集:

如果我们查看这些数据,我们会发现Compute Engine知道其所属的实例组(如果有)。

退一步,我们发现要创建一个实例组,我们首先创建一个描述实例外观的计算引擎模板。接下来,我们创建一个引用该模板的实例组。 GCP的实例组子系统似乎与计算引擎实例分开管理组。

如果您希望能够了解计算引擎所属的实例组,一种解决方案是在用于创建计算引擎的模板中创建标签。例如:

  • instance_group:MyInstanceGroup

完成此操作后,由实例组创建并与该模板相关联的计算引擎的实例将具有一个名为instance_group的标签。届时,您可以使用Ansible广告资源插件对标签进行分组。

参考文献: