Вы действительно можете фильтровать экземпляры GCE по подсети, используя gcloud
.
Вам необходимо отфильтровать на networkInterfaces.subnetwork
и буквальное значение для сравнения с полным URL-адресом подсети, а не только именем подсети.
"ресурсное URL" для подсети может быть получено:
gcloud compute networks subnets list <YOUR_SUBNET_NAME> --format=flattened
Пример:
$ gcloud compute networks subnets list sg-zk-1 --project my-gcp-project --format=flattened
---
creationTimestamp: 2017-04-20T02:22:17.853-07:00
gatewayAddress: 10.9.19.33
id: 6783412628763296550
ipCidrRange: 10.9.19.32/28
kind: compute#subnetwork
name: sg-zk-1
network: valkyrie
privateIpGoogleAccess: True
region: asia-southeast1
selfLink: https://www.googleapis.com/compute/v1/projects/my-gcp-project/regions/asia-southeast1/subnetworks/sg-zk-1
В приведенном выше примере, имя подсети sg-zk-1
.
Соответствующий URL-адрес ресурса для подсети - это значение selfLink
, которое равно https://www.googleapis.com/compute/v1/projects/my-gcp-project/regions/asia-southeast1/subnetworks/sg-zk-1
.
Теперь, когда у меня есть subnet_url
я могу фильтровать экземпляры, принадлежащие к нему:
$ subnet_url="https://www.googleapis.com/compute/v1/projects/my-gcp-project/regions/asia-southeast1/subnetworks/sg-zk-1"
$ gcloud compute instances list --filter="networkInterfaces.subnetwork=${subnet_url}"
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
sg-zookeeper-4 asia-southeast1-b n1-standard-2 10.9.19.37 RUNNING
sg-zookeeper-5 asia-southeast1-b n1-standard-2 10.9.19.38 RUNNING
sg-zookeeper-1 asia-southeast1-a n1-standard-2 10.9.19.34 RUNNING
sg-zookeeper-2 asia-southeast1-a n1-standard-2 10.9.19.35 RUNNING
sg-zookeeper-3 asia-southeast1-a n1-standard-2 10.9.19.36 RUNNING
Кажется, он не может быть отфильтрованы по сети, потому что, если вы не примените фильтр там нет столбца NETWORK. Например, вы можете использовать --filter = ZONE ~ us для фильтрации экземпляров в зонах США. – Dagang
как указано в @Dagang, - флаговый флаг принимает во внимание перечисленные столбцы. Тем не менее, я предлагаю подать запрос функции в этот общедоступный трекер сообщений [1], чтобы эта функция появилась в будущих выпусках. [1]: https://code.google.com/p/google-compute-engine/issues/list – George