问题描述
我需要建议在运行时向 sensu-go
提供主机 IP 和端口。目前,我们正在为在 google cloud
中创建的 VM 使用静态清单,这会导致在删除这些实例和创建新实例时出现问题。
因此,我正在寻找一种向 sensu-go
提供动态库存的解决方案。但是,我找不到在 sensu-go 中查询谷歌云并通过提供标签和项目名称获取主机 IP 的方法。
我正在寻找建议,以便从 Google Cloud 获取给定标签的主机 IP,而无需在每个主机中使用 sensu-go
客户端。
非常感谢。
解决方法
要获取标记为“sensu”的实例使用的 IP 列表,您可以使用 gcloud 命令。
获取内部IP:
gcloud compute instances list --project=PROJECT_NAME --filter="tags.items=(SENSU)" --format="get(networkInterfaces[0].networkIP)"
对于外部 IP:
gcloud compute instances list --project=PROJECT_NAME --filter="tags.items=(SENSU)" --format="get(networkInterfaces[0].accessConfigs[0].natIP)"