Bird
Raised Fist0
GCPcloud~10 mins

Deploying workloads in GCP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to deploy a container image to Cloud Run.

GCP
gcloud run deploy my-service --image [1] --region us-central1
Drag options to blanks, or click blank then click option'
Acloudrun deploy
Bgcr.io/my-project/my-image:latest
Cdocker run my-image
Dmy-image
Attempts:
3 left
💡 Hint
Common Mistakes
Using just the image name without registry and project
Trying to run docker commands instead of specifying image
Using incorrect flags for deployment
2fill in blank
medium

Complete the command to create a Kubernetes deployment with 3 replicas.

GCP
kubectl create deployment my-app --image=my-app-image --replicas=[1]
Drag options to blanks, or click blank then click option'
A1
B0
C5
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Setting replicas to 0 which means no pods run
Using default 1 when multiple pods are needed
3fill in blank
hard

Fix the error in the YAML snippet to expose a Kubernetes deployment as a LoadBalancer service.

GCP
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: [1]
  selector:
    app: my-app
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080
Drag options to blanks, or click blank then click option'
AExternalName
BNodePort
CLoadBalancer
DClusterIP
Attempts:
3 left
💡 Hint
Common Mistakes
Using ClusterIP which is internal only
Using NodePort which exposes on node ports but not a cloud load balancer
4fill in blank
hard

Fill both blanks to define a Cloud Build trigger that runs on pushes to the main branch.

GCP
trigger:
  name: my-trigger
  github:
    owner: my-org
    name: my-repo
  triggerTemplate:
    branchName: [1]
    projectId: [2]
Drag options to blanks, or click blank then click option'
Amain
Bdevelop
Cmy-gcp-project
Dtest-project
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong branch name like 'develop'
Using an incorrect or placeholder project ID
5fill in blank
hard

Fill all three blanks to create a Terraform resource for a Google Compute Engine VM instance.

GCP
resource "google_compute_instance" "vm_instance" {
  name         = [1]
  machine_type = [2]
  zone         = [3]

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    network = "default"
    access_config {}
  }
}
Drag options to blanks, or click blank then click option'
A"my-vm-instance"
B"e2-medium"
C"us-central1-a"
D"n1-standard-1"
Attempts:
3 left
💡 Hint
Common Mistakes
Omitting quotes around strings
Using invalid machine types or zones

Practice

(1/5)
1. What does deploying a workload on Google Cloud Run primarily do?
easy
A. Stores your application code without running it
B. Creates a virtual machine that you must manage manually
C. Runs your application in a managed environment that scales automatically
D. Only backs up your application data

Solution

  1. Step 1: Understand Cloud Run's purpose

    Cloud Run runs your app in a managed environment that automatically scales based on traffic.
  2. Step 2: Compare options

    Options B, C, and D describe other services or actions, not workload deployment on Cloud Run.
  3. Final Answer:

    Runs your application in a managed environment that scales automatically -> Option C
  4. Quick Check:

    Cloud Run = managed auto-scaling app hosting [OK]
Hint: Cloud Run runs and scales apps automatically [OK]
Common Mistakes:
  • Confusing Cloud Run with virtual machines
  • Thinking Cloud Run only stores code
  • Assuming manual scaling is needed
2. Which of the following is the correct gcloud command to deploy a container image to Cloud Run in region us-central1 with service name my-service?
easy
A. gcloud run deploy my-service --image=gcr.io/my-project/my-image --region=us-central1
B. gcloud deploy run --service=my-service --image=my-image --region=us-central1
C. gcloud run create --name my-service --image gcr.io/my-project/my-image --zone us-central1
D. gcloud container deploy my-service --image=gcr.io/my-project/my-image --region=us-central1

Solution

  1. Step 1: Recall correct gcloud run deploy syntax

    The correct command uses 'gcloud run deploy SERVICE_NAME --image=IMAGE --region=REGION'.
  2. Step 2: Match options to syntax

    gcloud run deploy my-service --image=gcr.io/my-project/my-image --region=us-central1 matches the correct syntax exactly. Others have wrong commands or flags.
  3. Final Answer:

    gcloud run deploy my-service --image=gcr.io/my-project/my-image --region=us-central1 -> Option A
  4. Quick Check:

    Correct gcloud run deploy syntax = gcloud run deploy my-service --image=gcr.io/my-project/my-image --region=us-central1 [OK]
Hint: Use 'gcloud run deploy SERVICE --image=IMAGE --region=REGION' [OK]
Common Mistakes:
  • Using 'gcloud deploy run' instead of 'gcloud run deploy'
  • Confusing --zone with --region
  • Using 'gcloud container deploy' which is invalid
3. Given this command: gcloud run deploy my-app --image=gcr.io/project/app:v1 --region=us-east1, what happens after deployment?
medium
A. The app is uploaded but does not run until manually started
B. The app runs on Cloud Run and scales automatically with traffic
C. A virtual machine is created but the app is not deployed
D. The app runs only on your local machine

Solution

  1. Step 1: Understand Cloud Run deployment behavior

    Deploying with gcloud run deploy starts the app on Cloud Run immediately with auto-scaling.
  2. Step 2: Eliminate incorrect options

    Options B, C, and D describe behaviors not matching Cloud Run's managed service.
  3. Final Answer:

    The app runs on Cloud Run and scales automatically with traffic -> Option B
  4. Quick Check:

    Cloud Run deploy = app runs and scales automatically [OK]
Hint: Deploy starts app running with auto-scaling on Cloud Run [OK]
Common Mistakes:
  • Thinking deployment only uploads code
  • Assuming manual start is needed
  • Confusing Cloud Run with VM creation
4. You run gcloud run deploy my-service --image=gcr.io/my-project/my-image but get an error about missing region. What is the fix?
medium
A. Remove the --image flag and try again
B. Deploy to Cloud Storage instead
C. Use --zone instead of --region
D. Add the flag --region=REGION with a valid region like us-central1

Solution

  1. Step 1: Identify missing required flag

    The error indicates the region flag is missing, which is required for Cloud Run deployment.
  2. Step 2: Correct the command by adding --region

    Adding --region=us-central1 (or another valid region) fixes the error.
  3. Final Answer:

    Add the flag --region=REGION with a valid region like us-central1 -> Option D
  4. Quick Check:

    Missing region error = add --region flag [OK]
Hint: Always specify --region when deploying to Cloud Run [OK]
Common Mistakes:
  • Using --zone instead of --region
  • Removing --image flag which is required
  • Trying to deploy to wrong service like Cloud Storage
5. You want to deploy a new version of your app to Cloud Run but keep the old version running for testing. How can you achieve this?
hard
A. Deploy the new version with the same service name and region
B. Deploy to a different Google Cloud project
C. Use gcloud run update to replace the old version
D. Deploy the new version with a different service name

Solution

  1. Step 1: Understand Cloud Run revisions

    Cloud Run automatically creates a new revision when deploying to an existing service, keeping previous revisions available for testing via revision-specific invocations or traffic splitting.
  2. Step 2: Deploy new version with the same service name and region

    This leverages Cloud Run's built-in revision management to keep both versions accessible.
  3. Final Answer:

    Deploy the new version with the same service name and region -> Option A
  4. Quick Check:

    Same service = new revision, old available for testing [OK]
Hint: Deploy to same service name to use revisions for multi-version testing [OK]
Common Mistakes:
  • Deploying to a different Google Cloud project unnecessarily
  • Using 'gcloud run update' incorrectly for image changes
  • Deploying with a different service name when revisions suffice
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard