gcloud 命令显示分配给实例的 vCPU 和内存
gcloud command to display vCPU's and Memory assigned to Instances
如何使用 glcoud compute instances list 命令列出分配给实例的 vCPU 和内存。我能够构建以下命令,但它没有显示任何值。我知道机器类型具有映射所需的所有信息,我正在寻找显示 vCPU 和内存的命令
gcloud compute instances list --format="value(name,machineType,items[].scheduling.minNodeCpus,zone,disks[].type,disks[].diskSizeGb.list())"
TestVM custom-4-32768-ext us-central1-a PERSISTENT 200
TestVM1 custom-4-32768-ext us-central1-a PERSISTENT 400
我在找类似
的东西
TestVM custom-4-32768-ext 8 32GB us-central1-a PERSISTENT 200
TestVM1 custom-4-32768-ext 4 16GB us-central1-a PERSISTENT 200
有几个挑战:
instances describe
最适合实例名称 and zone
需要 machine-types describe
(!?) 才能获得 CPU|非自定义 的 RAM
- 自定义机器类型是自我描述的
Linux|Bash,基本信息如下:
# Get instance name,zone for `${PROJECT}
for PAIR in $(\
gcloud compute instances list \
--project=${PROJECT} \
--format="csv[no-heading](name,zone.scope(zones))")
do
# Parse result from above into instance and zone vars
IFS=, read INSTANCE ZONE <<< ${PAIR}
# Get the machine type value only
MACHINE_TYPE=$(\
gcloud compute instances describe ${INSTANCE} \
--project=${PROJECT} \
--zone=${ZONE} \
--format="value(machineType.scope(machineTypes))")
# If it's custom-${vCPUs}-${RAM} we've sufficient info
if [[ ${MACHINE_TYPE}} == custom* ]]
then
IFS=- read CUSTOM CPU MEM <<< ${MACHINE_TYPE}
printf "%s: vCPUs: %s; Mem: %s\n" ${INSTANCE} ${CPU} ${MEM}
else
# Otherwise, we need to call `machine-types describe`
CPU_MEMORY=$(\
gcloud compute machine-types describe ${MACHINE_TYPE} \
--project=${PROJECT} \
--zone=${ZONE} \
--format="csv[no-heading](guestCpus,memoryMb)")
IFS=, read CPU MEM <<< ${CPU_MEMORY}
printf "%s: vCPUs: %s; Mem: %s\n" ${INSTANCE} ${CPU} ${MEM}
fi
done
我会留给你根据需要与 instances describe
数据结合。
毫无疑问,还有另一种(可能更好)的方法可以做到这一点。
如何使用 glcoud compute instances list 命令列出分配给实例的 vCPU 和内存。我能够构建以下命令,但它没有显示任何值。我知道机器类型具有映射所需的所有信息,我正在寻找显示 vCPU 和内存的命令
gcloud compute instances list --format="value(name,machineType,items[].scheduling.minNodeCpus,zone,disks[].type,disks[].diskSizeGb.list())"
TestVM custom-4-32768-ext us-central1-a PERSISTENT 200
TestVM1 custom-4-32768-ext us-central1-a PERSISTENT 400
我在找类似
的东西TestVM custom-4-32768-ext 8 32GB us-central1-a PERSISTENT 200
TestVM1 custom-4-32768-ext 4 16GB us-central1-a PERSISTENT 200
有几个挑战:
instances describe
最适合实例名称 and zone
需要 machine-types describe
(!?) 才能获得 CPU|非自定义 的 RAM
- 自定义机器类型是自我描述的
Linux|Bash,基本信息如下:
# Get instance name,zone for `${PROJECT}
for PAIR in $(\
gcloud compute instances list \
--project=${PROJECT} \
--format="csv[no-heading](name,zone.scope(zones))")
do
# Parse result from above into instance and zone vars
IFS=, read INSTANCE ZONE <<< ${PAIR}
# Get the machine type value only
MACHINE_TYPE=$(\
gcloud compute instances describe ${INSTANCE} \
--project=${PROJECT} \
--zone=${ZONE} \
--format="value(machineType.scope(machineTypes))")
# If it's custom-${vCPUs}-${RAM} we've sufficient info
if [[ ${MACHINE_TYPE}} == custom* ]]
then
IFS=- read CUSTOM CPU MEM <<< ${MACHINE_TYPE}
printf "%s: vCPUs: %s; Mem: %s\n" ${INSTANCE} ${CPU} ${MEM}
else
# Otherwise, we need to call `machine-types describe`
CPU_MEMORY=$(\
gcloud compute machine-types describe ${MACHINE_TYPE} \
--project=${PROJECT} \
--zone=${ZONE} \
--format="csv[no-heading](guestCpus,memoryMb)")
IFS=, read CPU MEM <<< ${CPU_MEMORY}
printf "%s: vCPUs: %s; Mem: %s\n" ${INSTANCE} ${CPU} ${MEM}
fi
done
我会留给你根据需要与 instances describe
数据结合。
毫无疑问,还有另一种(可能更好)的方法可以做到这一点。