Bird
Raised Fist0
GCPcloud~10 mins

Compute commands (instances, disks) in GCP - Step-by-Step Execution

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Process Flow - Compute commands (instances, disks)
Start: User wants to manage VM
Choose command type
Instance
Create/Delete/Start/Stop/List
Command executes
Check result: VM or Disk state updated
End
User picks to manage either VM instances or disks, runs commands like create or delete, then checks the updated state.
Execution Sample
GCP
gcloud compute instances create my-vm --zone=us-central1-a

gcloud compute disks create my-disk --size=10GB --zone=us-central1-a

gcloud compute instances list

gcloud compute disks list
Create a VM instance and a disk, then list all instances and disks to see their current state.
Process Table
StepCommandActionResultState Change
1gcloud compute instances create my-vm --zone=us-central1-aCreate VM instance named 'my-vm'Instance 'my-vm' created successfullyInstances: ['my-vm']
2gcloud compute disks create my-disk --size=10GB --zone=us-central1-aCreate disk named 'my-disk' with 10GBDisk 'my-disk' created successfullyDisks: ['my-disk']
3gcloud compute instances listList all VM instancesShows: 'my-vm' in zone us-central1-aNo state change
4gcloud compute disks listList all disksShows: 'my-disk' with size 10GB in zone us-central1-aNo state change
5gcloud compute instances delete my-vm --zone=us-central1-aDelete VM instance 'my-vm'Instance 'my-vm' deletedInstances: []
6gcloud compute disks delete my-disk --zone=us-central1-aDelete disk 'my-disk'Disk 'my-disk' deletedDisks: []
7gcloud compute instances listList all VM instancesNo instances foundNo state change
8gcloud compute disks listList all disksNo disks foundNo state change
💡 All created resources deleted; no instances or disks remain.
Status Tracker
ResourceStartAfter Step 1After Step 2After Step 5After Step 6Final
Instances[]['my-vm']['my-vm'][][][]
Disks[][]['my-disk']['my-disk'][][]
Key Moments - 3 Insights
Why does the list command not change the state of instances or disks?
Listing commands only show current resources without modifying them, as seen in steps 3, 4, 7, and 8 where the state remains unchanged.
What happens if you try to delete a resource that does not exist?
The command will fail with an error because the resource is not found; this is implied after step 6 when resources are deleted and listing shows none.
Why do we specify the zone in create and delete commands?
Because instances and disks are regional resources, specifying the zone tells GCP exactly where to create or delete them, ensuring correct targeting as shown in all create/delete steps.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the state of instances after step 2?
A['my-vm']
B[]
C['my-disk']
D['my-vm', 'my-disk']
💡 Hint
Check the 'State Change' column for step 2 in the execution table.
At which step does the disk 'my-disk' get deleted?
AStep 5
BStep 6
CStep 7
DStep 8
💡 Hint
Look for the command deleting 'my-disk' in the execution table.
If you omit the --zone flag when creating an instance, what would happen?
AThe instance is created in a default zone
BThe command fails asking for zone specification
CThe instance is created globally
DThe instance is created in all zones
💡 Hint
GCP requires zone for regional resources; see how zone is specified in all create commands.
Concept Snapshot
Compute commands manage VM instances and disks in GCP.
Use 'gcloud compute instances' or 'gcloud compute disks' commands.
Common actions: create, delete, list, start, stop.
Always specify zone for regional resources.
Listing shows current state without changes.
Full Transcript
This visual execution shows how to manage Google Cloud VM instances and disks using gcloud compute commands. First, a VM instance named 'my-vm' is created in a specific zone. Then, a disk named 'my-disk' is created with a size of 10GB in the same zone. Listing commands display the current instances and disks without changing their state. Later, the VM and disk are deleted, and listing confirms no resources remain. The zone flag is important to target the correct location. Listing commands do not modify resources. Deleting non-existent resources would cause errors. This step-by-step trace helps beginners understand how commands affect cloud resources.

Practice

(1/5)
1. What does the command gcloud compute instances list do?
easy
A. It shows all virtual machines in your project.
B. It creates a new virtual machine.
C. It deletes a virtual machine.
D. It attaches a disk to a virtual machine.

Solution

  1. Step 1: Understand the command purpose

    The command gcloud compute instances list is used to display existing virtual machines in your project.
  2. Step 2: Compare with other options

    Creating, deleting, or attaching disks require different commands, not this one.
  3. Final Answer:

    It shows all virtual machines in your project. -> Option A
  4. Quick Check:

    List instances = show VMs [OK]
Hint: List commands show current resources, not create or delete [OK]
Common Mistakes:
  • Confusing list with create or delete commands
  • Not specifying resource type
  • Assuming it modifies resources
2. Which of the following is the correct syntax to create a new VM instance named web-server in zone us-central1-a?
easy
A. gcloud instances create web-server --zone=us-central1-a
B. gcloud create instance web-server zone us-central1-a
C. gcloud compute instances create web-server --zone=us-central1-a
D. gcloud compute create instance web-server --zone us-central1-a

Solution

  1. Step 1: Identify correct command structure

    The correct command starts with gcloud compute instances create followed by the instance name and zone flag.
  2. Step 2: Check option syntax

    gcloud compute instances create web-server --zone=us-central1-a matches the correct syntax exactly with proper flags and order.
  3. Final Answer:

    gcloud compute instances create web-server --zone=us-central1-a -> Option C
  4. Quick Check:

    Create instance syntax = gcloud compute instances create web-server --zone=us-central1-a [OK]
Hint: Remember: 'gcloud compute instances create' + name + --zone [OK]
Common Mistakes:
  • Mixing order of words in command
  • Omitting 'compute' or 'instances'
  • Using wrong flag format
3. What will be the output of the command gcloud compute disks list --filter="zone:(us-central1-a)" if there are two disks named disk1 and disk2 in zone us-central1-a and one disk named disk3 in zone us-east1-b?
medium
A. Lists disk1, disk2, and disk3
B. Shows an error due to filter syntax
C. Lists only disk3
D. Lists only disk1 and disk2

Solution

  1. Step 1: Understand the filter usage

    The filter limits results to disks in zone us-central1-a only.
  2. Step 2: Apply filter to disk list

    Disks disk1 and disk2 are in us-central1-a, so they appear; disk3 is in a different zone and is excluded.
  3. Final Answer:

    Lists only disk1 and disk2 -> Option D
  4. Quick Check:

    Filter by zone shows matching disks only [OK]
Hint: Filter narrows results to matching zone disks only [OK]
Common Mistakes:
  • Assuming filter includes all disks
  • Misreading filter syntax
  • Expecting syntax error incorrectly
4. You run gcloud compute instances delete my-vm but get an error saying the zone is missing. What is the best fix?
medium
A. Add --project=PROJECT_ID flag instead.
B. Add the flag --zone=ZONE_NAME with the correct zone.
C. Run the command without any flags again.
D. Use gcloud delete instances my-vm instead.

Solution

  1. Step 1: Identify missing required parameter

    The error indicates the zone is not specified, which is required to delete an instance.
  2. Step 2: Correct the command by adding zone

    Adding --zone=ZONE_NAME specifies the location of the instance to delete.
  3. Final Answer:

    Add the flag --zone=ZONE_NAME with the correct zone. -> Option B
  4. Quick Check:

    Zone flag required for instance delete [OK]
Hint: Always specify zone when deleting or managing instances [OK]
Common Mistakes:
  • Ignoring zone requirement
  • Using wrong command syntax
  • Assuming project flag fixes zone error
5. You want to create a new persistent disk named data-disk of size 100GB in zone europe-west1-b and attach it to an existing instance app-server. Which sequence of commands is correct?
hard
A. 1) gcloud compute disks create data-disk --size=100GB --zone=europe-west1-b
2) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b
B. 1) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b
2) gcloud compute disks create data-disk --size=100GB --zone=europe-west1-b
C. 1) gcloud compute disks create data-disk --zone=europe-west1-b
2) gcloud compute instances attach-disk app-server --disk=data-disk
D. 1) gcloud compute disks create data-disk --size=100 --zone=europe-west1-b
2) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b

Solution

  1. Step 1: Create the disk first with correct size and zone

    The disk must be created before attaching. 1) gcloud compute disks create data-disk --size=100GB --zone=europe-west1-b
    2) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b uses correct size format '100GB' and specifies zone.
  2. Step 2: Attach the created disk to the instance with zone specified

    Attaching requires the disk and instance zone flags; 1) gcloud compute disks create data-disk --size=100GB --zone=europe-west1-b
    2) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b includes these correctly.
  3. Final Answer:

    First create disk with size and zone, then attach with disk and zone flags. -> Option A
  4. Quick Check:

    Create disk before attach, specify size with GB [OK]
Hint: Create disk before attach; size needs units like GB [OK]
Common Mistakes:
  • Attaching disk before creating it
  • Omitting size units (GB)
  • Missing zone flags on commands