列出 Google Cloud 上所有提供的机器类型
List all offered machine types on Google Cloud
AWS CLI 提供命令 describe-instance-types
来列出所有提供的 EC2 实例类型。它还允许按不同的属性过滤它们。是否可以使用 Google Cloud CLI 执行类似的操作?
我想列出所有提供的机器类型及其属性。此外,我想通过它们的属性(内存大小、cpus 等)过滤它们。
是的。
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}
产量:
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
NOTE ZONE
is always us-west1-c
并且:
gcloud compute machine-types list \
--project=${PROJECT} \
--filter=guestCpus=8
产量:
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
NOTE CPUS
is always 8
您可以将 --format=json
或 --format=yaml
附加到任何 gcloud
命令以使用这些格式显示结果。
但要获得更多详细信息(和更多过滤),您需要 gcloud compute machine-types describe
(而不是 list
):
TYPE="n1-standard-1"
gcloud compute machine-types describe ${TYPE} \
--project=${PROJECT} \
--zone=${ZONE}
产量:
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
了解 Google 服务的另一种方式是通过 APIs Explorer
例如,Compute Engine 的 API 是 here
这在这种情况下很有用,因为它可以帮助您理解(每个 Google API 方法)返回的类型,包括 machineTypes.List.
由此,您可以确定要使用的过滤条件。
APIs Explorer 还提供了一种直接与底层 REST API 交互的方法,它将生成例如curl
给你的命令。
因此,您可以:
而不是 gcloud compute machine-types list ...
PROJECT=...
ZONE=...
TOKEN=$(gcloud auth print-access-token)
# Compute Engine machineTypes.List()
URL="https://compute.googleapis.com/compute/v1/projects/${PROJECT}/zones/${ZONE}/machineTypes"
curl \
--silent
--header "Authorization: Bearer ${TOKEN}" \
--header "Accept: application/json" \
--compressed \
"${URL}?filter=guestCpus%3D8"
AWS CLI 提供命令 describe-instance-types
来列出所有提供的 EC2 实例类型。它还允许按不同的属性过滤它们。是否可以使用 Google Cloud CLI 执行类似的操作?
我想列出所有提供的机器类型及其属性。此外,我想通过它们的属性(内存大小、cpus 等)过滤它们。
是的。
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}
产量:
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
NOTE
ZONE
is alwaysus-west1-c
并且:
gcloud compute machine-types list \
--project=${PROJECT} \
--filter=guestCpus=8
产量:
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
NOTE
CPUS
is always8
您可以将 --format=json
或 --format=yaml
附加到任何 gcloud
命令以使用这些格式显示结果。
但要获得更多详细信息(和更多过滤),您需要 gcloud compute machine-types describe
(而不是 list
):
TYPE="n1-standard-1"
gcloud compute machine-types describe ${TYPE} \
--project=${PROJECT} \
--zone=${ZONE}
产量:
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
了解 Google 服务的另一种方式是通过 APIs Explorer
例如,Compute Engine 的 API 是 here
这在这种情况下很有用,因为它可以帮助您理解(每个 Google API 方法)返回的类型,包括 machineTypes.List.
由此,您可以确定要使用的过滤条件。
APIs Explorer 还提供了一种直接与底层 REST API 交互的方法,它将生成例如curl
给你的命令。
因此,您可以:
而不是gcloud compute machine-types list ...
PROJECT=...
ZONE=...
TOKEN=$(gcloud auth print-access-token)
# Compute Engine machineTypes.List()
URL="https://compute.googleapis.com/compute/v1/projects/${PROJECT}/zones/${ZONE}/machineTypes"
curl \
--silent
--header "Authorization: Bearer ${TOKEN}" \
--header "Accept: application/json" \
--compressed \
"${URL}?filter=guestCpus%3D8"