awk - 如何获取GCE实例的内部IP地址列表

标签 awk google-compute-engine gcloud

我有很多实例在 GCE 中运行。我想以编程方式获取它们的内部 IP 地址列表,而无需登录到实例(本地)。

我知道我可以跑:

gcloud compute instances list

但是我可以传递任何标志来获取我想要的信息吗? 例如

gcloud compute instances list --internal-ips

或者类似的?或者我是否必须重新整理我的 sed/awk 大脑并解析输出?

我还知道我可以使用 --format=json 获取 JSON 格式的输出,但我正在尝试在 bash 脚本中执行此操作。

最佳答案

以编程方式获取内部 IP(或外部 IP)列表而不依赖于 gcloud 以外的任何工具的最简单方法是:

$ gcloud --format="value(networkInterfaces[0].networkIP)" compute instances list
$ gcloud --format="value(networkInterfaces[0].accessConfigs[0].natIP)" compute instances list

这使用 --format=value这还需要 projection这是 resource keys 的列表选择资源数据值。对于任何命令,您可以使用 --format=flattened 来获取资源键/值对的列表:

$ gcloud --format=flattened compute instances list

关于awk - 如何获取GCE实例的内部IP地址列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27994033/

相关文章:

arrays - 如何从awk中的split函数访问数组的最后一个索引?

ssh - Google Compute Engine-调整实例大小后SSH连接失败

node.js - Google Cloud Functions 包括私有(private)图书馆

r - 没有详细选项的 bq 查询

google-app-engine - 需要 "appengine.applications.get"权限

go - Gcloud函数部署找不到Golang模板文件

python - 边列表中唯一的节点列表

json - 将 JSON 拆分为多个文件

linux - 列中出现整数 - 添加为新列

ubuntu - 是否有任何解决方案可以访问 Google Cloud Platform 中 VM 实例中的用户帐户密码