列出 Google Cloud 上提供的所有机器类型

joz*_*ozo 2 google-cloud-platform gcloud

AWS CLI 提供命令describe-instance-types来列出所有提供的 EC2 实例类型。它还允许按不同的属性过滤它们。是否可以使用 Google Cloud CLI 执行类似的操作?

我想列出所有提供的机器类型及其属性。此外,我想按属性(内存大小、CPU 等)过滤它们。

Daz*_*kin 5

是的。

https://cloud.google.com/sdk/gcloud/reference/compute/machine-types/list

ZONE="us-west1-c" # For example
gcloud compute machine-types list \
--project=${PROJECT} \
--filter=zone=${ZONE}
Run Code Online (Sandbox Code Playgroud)

产量:

NAME              ZONE        CPUS  MEMORY_GB  DEPRECATED
c2-standard-16    us-west1-c  16    64.00
c2-standard-30    us-west1-c  30    120.00
c2-standard-4     us-west1-c  4     16.00
c2-standard-60    us-west1-c  60    240.00
c2-standard-8     us-west1-c  8     32.00
Run Code Online (Sandbox Code Playgroud)

注意 ZONE总是us-west1-c

和:

NAME              ZONE        CPUS  MEMORY_GB  DEPRECATED
c2-standard-16    us-west1-c  16    64.00
c2-standard-30    us-west1-c  30    120.00
c2-standard-4     us-west1-c  4     16.00
c2-standard-60    us-west1-c  60    240.00
c2-standard-8     us-west1-c  8     32.00
Run Code Online (Sandbox Code Playgroud)

产量:

NAME            ZONE                       CPUS  MEMORY_GB  DEPRECATED
c2-standard-8   us-central1-a              8     32.00
e2-highcpu-8    us-central1-a              8     8.00
e2-highmem-8    us-central1-a              8     64.00
e2-standard-8   us-central1-a              8     32.00
n1-highcpu-8    us-central1-a              8     7.20
Run Code Online (Sandbox Code Playgroud)

注意 CPUS总是8

您可以将--format=json或附加--format=yaml到任何gcloud命令以使用这些格式显示结果。

但要了解更多详细信息(以及更多过滤),您需要gcloud compute machine-types describe(而不是list):

gcloud compute machine-types list \
--project=${PROJECT} \
--filter=guestCpus=8
Run Code Online (Sandbox Code Playgroud)

产量:

creationTimestamp: '1969-12-31T16:00:00.000-08:00'
description: 1 vCPU, 3.75 GB RAM
guestCpus: 1
id: '3001'
imageSpaceGb: 10
isSharedCpu: false
kind: compute#machineType
maximumPersistentDisks: 128
maximumPersistentDisksSizeGb: '263168'
memoryMb: 3840
name: n1-standard-1
selfLink: https://www.googleapis.com/compute/v1/projects/${PROJECT}/zones/${ZONE}/machineTypes/n1-standard-1
zone: us-west1-c
Run Code Online (Sandbox Code Playgroud)

了解 Google 服务的另一种方法是通过API Explorer

例如,Compute Engine 的 API 在这里

这在这种情况下很有用,因为它可以帮助您了解(每个 Google API 方法)返回的类型,包括machineTypes.List

由此,您可以确定您希望使用哪种过滤。

APIs Explorer 还提供了一种直接与底层 REST API 交互的方法,它将curl为您生成例如命令。

因此,gcloud compute machine-types list ...您可以:

NAME            ZONE                       CPUS  MEMORY_GB  DEPRECATED
c2-standard-8   us-central1-a              8     32.00
e2-highcpu-8    us-central1-a              8     8.00
e2-highmem-8    us-central1-a              8     64.00
e2-standard-8   us-central1-a              8     32.00
n1-highcpu-8    us-central1-a              8     7.20
Run Code Online (Sandbox Code Playgroud)