google-compute-engine - 如何在 GCE - Google Compute Engine 上获取特定实例组的外部 IP?
问题描述
$ gcloud --format="value(networkInterfaces[0].accessConfigs[0].natIP)" compute instances list
此命令当前可用于获取所有处于活动状态的 ip,但如果我有多个实例组,可以说一个称为:Office,另一个称为 Home
如何仅获取实例组“Office”中的实例 IP
解决方案
不幸的是,没有简单的方法可以做到这一点。理想情况下,它应该是 gcloud instance-groups list-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}')
- 获取外部 IP
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)
将排除响应的第一行,即 NAMEprint $1
只会得到第一列,它们是实例名称instances=$(<Entire Gcloud Command with awk)
将捕获变量中的响应
第二个命令应该是不言自明的。
如果有人可以将这两个命令组合成一个命令,那就太好了。
推荐阅读
- java - 确认用户登录后调用 ParseUser.getCurrentUser().getUsername() 返回 null
- python - Flask Python 登录验证失败
- java - 二叉搜索树中节点的路径作为二叉搜索树
- sql - 具有多个空格的批量加载(BULK 插入)
- glsl - 具有透明背景的 Chromakey glsl 着色器
- python - 如何在没有内置函数的情况下计算列表中字符串的长度?
- r-package - partykit 中的 mob 函数能否使用正则化线性模型(例如岭回归)构建模型树?
- angular - Angular 9 Ivy entryComponents 转换
- python - “LinAlgError:给定的 0 维数组。数组必须至少是二维的”但我知道我正在传递一个 2D 参数
- jquery - 引导导航栏不起作用我的代码有问题吗?