GCP CLI#
The gcloud CLI manages authentication, local configuration,
developer workflow, and Google Cloud API interaction.
Basics#
$ gcloud version # version, info, components
$ gcloud info
$ gcloud components list
$ gcloud init # init profile (opens OpenID URL)
$ gcloud compute zones list # list all zones
$ gcloud components update # upgrade local SDK
$ gcloud components update --version 219.0.1
Buckets#
$ gsutil ls # list all buckets and files
$ gsutil ls -lh gs://<bucket-name>
$ gsutil cp gs://<bucket-name>/<dir>/package-1.1.tgz . # download file
$ gsutil cp <filename> gs://<bucket-name>/<directory>/ # upload file
$ gsutil cat gs://<bucket-name>/<filepath> # cat file
$ gsutil rm gs://<bucket-name>/<filepath> # delete file
$ gsutil mv <src> gs://<bucket-name>/<dir>/<dest> # move file
$ gsutil cp -r ./conf gs://<bucket-name>/ # copy folder
$ gsutil du -h gs://<bucket-name>/<directory> # disk usage
$ gsutil mb gs://<bucket-name> # create bucket
$ gsha1sum <file> # calculate file sha1sum
$ gsutil help, gsutil help cp, gsutil help options
Project#
$ gcloud config list # list projects
$ gcloud config list project
$ gcloud compute project-info describe # project info
$ gcloud config set project <project-id> # switch project
GKE#
$ gcloud auth list # credentialed accounts
$ gcloud config set account <ACCOUNT> # set active account
$ gcloud container clusters get-credentials <cluster-name> # set kubectl context
$ gcloud config set compute/region us-west # change region
$ gcloud config set compute/zone us-west1-b # change zone
$ gcloud container clusters list # list clusters
IAM#
$ gcloud auth activate-service-account --key-file <key-file> # authenticate
$ gcloud auth list # credentialed accounts
$ gcloud config set account <ACCOUNT>
$ gcloud auth configure-docker # auth to GCR
$ gcloud auth print-access-token # print access token
$ gcloud auth print-refresh-token
$ gcloud auth <application-default> revoke # revoke credential
Bucket security#
$ gsutil -m acl set -R -a public-read gs://<bucket-name>/ # make readable
$ gsutil config -a # config auth
$ gsutil iam ch user:denny@gmail.com:objectCreator,objectViewer gs://<bucket-name>
$ gsutil iam ch -d user:denny@gmail.com:objectCreator,objectViewer gs://<bucket-name>
Instance#
$ gcloud compute instances list
$ gcloud compute instance-templates list
$ gcloud compute instances describe "<name>" --project "<project>" --zone "us-west2-a"
$ gcloud compute instances stop instance-2
$ gcloud compute instances start instance-2
$ gcloud compute instances create vm1 --image image-1 --tags test --zone "<zone>" --machine-type f1-micro
$ gcloud compute ssh --project "<project>" --zone "<zone>" "<name>"
$ gcloud compute copy-files example-instance:~/REMOTE-DIR ~/LOCAL-DIR --zone us-central1-a
$ gcloud compute copy-files ~/LOCAL-FILE-1 example-instance:~/REMOTE-DIR --zone us-central1-a
Disks and volumes#
$ gcloud compute disks list
$ gcloud compute disk-types list
$ gcloud compute snapshots list
$ gcloud compute disks snapshot <disk> --snapshot-names <n1> --zone $zone
Network#
$ gcloud compute networks list
$ gcloud compute networks describe <network-name> --format json
$ gcloud compute networks create <network-name>
$ gcloud compute networks subnets create subnet1 --network net1 --range 10.5.4.0/24
$ gcloud compute addresses create --region us-west2-a vpn-1-static-ip
$ gcloud compute addresses list
$ gcloud compute addresses describe <ip-name> --region us-central1
$ gcloud compute routes list
DNS#
$ gcloud dns record-sets list --zone my_zone
$ gcloud dns record-sets list --zone my_zone --limit=10
Firewall#
$ gcloud compute firewall-rules list
$ gcloud compute forwarding-rules list
$ gcloud compute firewall-rules describe <rule>
$ gcloud compute firewall-rules create my-rule --network default --allow tcp:9200 tcp:3306
$ gcloud compute firewall-rules update default --network default --allow tcp:9200 tcp:9300
Images and containers#
$ gcloud compute images list
$ gcloud container clusters list
$ gcloud container clusters get-credentials <cluster-name>
RDS#
$ gcloud sql instances list
Services#
$ gcloud compute backend-services list
$ gcloud compute http-health-checks list
$ gcloud compute url-maps list