$ gcloud --format="value(networkInterfaces[0].accessConfigs[0].natIP)" compute instances list
此命令当前有效地获取所有活动的IP
如何仅在实例组" Office"中获得实例IP
不幸的是,没有简单的方法可以做到。理想情况下,它应该是gcloud 实例组列表instances api的一部分,但它不返回IP地址,只有实例名称。
到目前为止,我设法通过执行2个不同的命令来获得所需的响应。
- 获取所有实例的名称
instances=$(gcloud beta compute instance-groups list-instances <Enter Your Instance Group Name Here> | awk -v ORS=, '{if(NR>1)print $1}')
- 获得外部IPS
gcloud --format="value(networkInterfaces[0].accessConfigs[0].natIP)" compute instances list --filter="name=( $instances )"
第一个命令的故障/说明:
-
gcloud beta compute instance-groups list-instances <Enter Your Instance Group Name Here>
将返回该实例组中的所有实例 -
awk -v ORS=,
将用一个逗号分隔的字符串替换所有行 -
'if(NR>1)
将排除第一行响应,即名称 -
print $1
只会获得第一列是实例名称 -
instances=$(<Entire Gcloud Command with awk)
将捕获变量中的响应
第二个命令应该是自我解释的。
如果有人可以将这两个命令组合到一个命令中,那将是很棒的。