Cloud Shell is a Debian-base virtual machine with a persistent 5GB home directory, which makes it easy to manage GCP projects and resources.
The gcloud command is a part of Google Cloud SDK. You need to download and install it on your own system and initialize it. It’s pre-installed in Google Cloud Shell to access to computing resources hosted on the GCP.
For more in-depth resources, check here
Google Cloud Shell docs
gcloud tool docs
Understanding Regions and Zones
Certain Compute Engine resources live in regions or zones.
A region is a specific geographical location where you can run your resources. Each region has one or more zones. For example, the us-central1 region is a region in the Central United States that contains the zones us-central1-a, us-central1-b, us-central1-c and us-central1-f
Resources that live in a zone are called zonal resources. VM Instances and persistent disks live in a zone. To attach a persistent disk to a virtual machine instance, both resources must be in the same zone. Similarly, if you want to assign a static IP address to an instance, the instance must be in the same region as the static IP.
For more information, check here
To see regions and zone settings for a project from Cloud Shell
gcloud compute project-info describe --project <your-project-id>
gcloud commands
gcloud must be initialized with gcloud init, if used outside of Cloud Shell, before you can use its tools.
Setting environment variables
Define them to save time when writing scripts or APIs
export PROJECT_ID=<your-project-id> # how to create
echo $PROJECT_ID # how to consult
Create a VM with gcloud
This would be the same as creating it through the web browser
gcloud compute instances create gcelab2 --machine-type n1-standard-2 --zone $ZONE
Breaking it into parts:
gcloud compute - enables you to easily manage your Google Compute Engine resources
instances create - creates a new instance
gcelab2 - this is the name for your VM
--machine-type n1-standard-2 - sets the machine type to use
--zone $ZONE - sets the zone to the one in your sys vars
Help and config
You may see help for any command with
gcloud -h # short help
gcloud config --help # verbose help
gcloud help config # equivalent to --help
View configurations and components
gcloud config list # view list of configurations for your environment
gcloud config list --all # to check how other properties are set
gcloud components list # lists your components
Interactive mode
gcloud interactive mode has auto-prompting and auto-complete for commands and flags, and displays inline help snippets in the lower section as the command is typed.
gcloud components install beta # install pre-requisites
gcloud beta interactive # enter interactive mode
SSH’ing into a VM
gcloud compute ssh <vm-name> --zone <zone>
Reference(s)
Qwiklabs Getting Started with Cloud Shell & gcloud course