【问题标题】:List all offered machine types on Google Cloud列出 Google Cloud 上提供的所有机器类型
【发布时间】:2021-06-03 05:08:03
【问题描述】:

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

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

【问题讨论】:

    标签: google-cloud-platform gcloud


    【解决方案1】:

    是的。

    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
    

    注意 ZONE 始终是 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
    

    注意 CPUS 始终是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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2021-03-13
      相关资源
      最近更新 更多