我的问题是创建5k实例并在那里检索公共IP地址。
特别是对于us-west1-a区域,我可以通过以下操作创建一个由50个实例组成的组:
gcloud compute instance-groups managed create test --base-instance-name morning --size 50 --template benchmark-template-micro --zone us-west1-a
问题:
答案 0 :(得分:0)
可以将startup-script
分配给所用instance
的模板;参见here。
一个人可以通过gcloud compute instance-groups managed
describe获取信息。
没有public
IP地址,除非您分配了external
IP地址。
答案 1 :(得分:0)
如Martin所述,启动脚本是在实例模板中配置的。
不幸的是,没有API列出该组中实例的IP地址。但是,有一些API(和gcloud命令)可以获取实例列表和实例的ip地址。这是一个从命令行获取此信息的示例:
gcloud compute instance-groups list-instances $INSTANCE_GROUP --uri \
| xargs -I '{}' gcloud compute instances describe '{}' \
--flatten networkInterfaces[].accessConfigs[] \
--format 'csv[no-heading](name,networkInterfaces.accessConfigs.natIP)'
为加快速度,您可能需要使用xarg的-P
标志来并行化实例描述请求。
由于该组中的所有实例都具有相同的前缀。您也可以只按前缀进行列表搜索。虽然,这可能会拉入另一个使用相同前缀的示例,即使它不属于实例组:
gcloud compute instances list --filter='name ~ ${PREFIX}*' \
--flatten networkInterfaces[].accessConfigs[] \
--format 'csv[no-heading](name,networkInterfaces.accessConfigs.natIP)'