如何拆分GCP gcloud Bash脚本为多行独立gcloud命令
问题与解决方案
需求
将单行的gcloud compute instances create命令拆分为多行,要求每行以gcloud开头。
待拆分的原始命令
gcloud compute instances create myinstance-1 --project=[PROJECT_ID] --zone=us-central1-c --machine-type=n1-standard-1 --network-interface=subnet=default,no-address --metadata=enable-oslogin=true --maintenance-policy=MIGRATE --provisioning-model=STANDARD --service-account=[SERVICE_ACCOUNT]-compute@developer.gserviceaccount.com --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append --create-disk=auto-delete=yes,boot=yes,device-name=myinstance-1,image=projects/debian-cloud/global/images/debian-10-buster-v20221102,mode=rw,size=10,type=projects/[PROJECT_ID]/zones/us-central1-c/diskTypes/pd-balanced --no-shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring --reservation-affinity=an
已完成的部分拆分
gcloud compute instances create myinstance-1 --project=[PROJECT_ID] --zone=us-central1-c --machine-type=n1-standard-1 --network-interface=subnet=default
最终解决方案
自行解决后,得到包含三类虚拟机配置的拆分后脚本:
#!/bin/bash # 实用型虚拟机 gcloud compute disks create disk-1 --size=10GB --zone=us-west1-a gcloud compute instances create myinstance-1 \ --zone=us-west1-a --machine-type=n1-standard-1 gcloud compute instances attach-disk myinstance-1 --disk=disk-1 --zone=us-west1-a gcloud compute networks create myinstance-1-network gcloud compute firewall-rules create myinstance-1-firewall --network myinstance-1-network --allow tcp,udp,icmp --source-ranges 0.0.0.0/0 # Windows虚拟机 gcloud compute disks create disk-2 --size=10GB --type=pd-ssd --zone=us-west1-a gcloud compute instances create windows-instance --zone=us-west1-a \ --machine-type=n1-standard-2 --image=windows-server-2016-dc-core-v20221109 --image-project=windows-cloud --boot-disk-size=100GB gcloud compute instances attach-disk windows-instance --disk=disk-2 --zone=us-west1-a gcloud compute networks create windows-instance-network gcloud compute firewall-rules create windows-instance-firewall --network windows-instance-network --allow tcp,udp,icmp --source-ranges 0.0.0.0/0 # 自定义配置虚拟机 gcloud compute disks create disk-3 --size=10GB --zone=us-west1-a gcloud compute instances create myinstance-3 --zone=us-west1-a \ --machine-type=e2-medium --image=debian-10-buster-v20220118 \ --image-project=debian-cloud --boot-disk-size=10GB gcloud compute instances attach-disk myinstance-3 --disk=disk-3 --zone=us-west1-a gcloud compute networks create myinstance-3-network gcloud compute firewall-rules create myinstance-3-firewall --network myinstance-3-network --allow tcp,udp,icmp --source-ranges 0.0.0.0/0
内容的提问来源于stack exchange,提问作者Lidhiwa
相关产品推荐
相关产品推荐

