使用 ansible gcp 模块创建 Cloud NAT

使用 ansible gcp 模块创建 Cloud NAT

我目前正在努力通过进行Cloud NAT配置。gcpansible

我可以按照文档中所述设置 Cloud NAT:https://cloud.google.com/nat/docs/gke-example使用gcloud命令,基本上执行三个步骤,,,,create bastion按预期工作。create routerconfigure NAT of created router

因此我手动执行了以下命令:

  • gcloud compute instances create bastion-1...
  • gcloud compute routers create nat-router...
  • gcloud compute routers nats create nat-config...

其余...带有区域等的命令可能对于该问题来说不是必需的。

现在我想创建一个 ansible 角色来执行相同操作。目前,我能够通过模块创建堡垒主机:

  • gcp_compute_disk
  • gcp_compute_network
  • gcp_compute_instance

以及路由器本身

  • gcp_compute_router

这样步骤 1 和 2 就完成了。但是,我不知道是否可以通过 ansible 配置路由器的 NAT。我在 google cloud 模块列表中找不到相应的模块https://docs.ansible.com/ansible/latest/modules/list_of_cloud_modules.html#google或相关字段来设置gcp_compute_router或在模块https://docs.ansible.com/ansible/latest/modules/gcp_compute_router_module.html#gcp-compute-router-module

现在我的问题是:是否可以通过 ansible 配置 gcp Cloud NAT,如果可以,我是否必须在剧本中执行 shell 命令,或者是否有可以使用的模块?我是否忽略了什么?

如果任何信息缺失或不相关,或者我应该扩展示例代码部分,请告诉我,以便我可以编辑我的问题。

答案1

似乎 Ansible 尚未在 GCP 的现有模块中实现该功能。您可以通过运行显式 gcp 命令来完成缺少的步骤来解决此问题,在将 Ansible 作为剧本上的命令运行的机器上,检查这些例子

相关内容