Google Cloud Professional Cloud Architect · 15% practice allocation

Google Cloud Professional Cloud Architect: Manage and provision a solution infrastructure Practice Questions

5 free sample questions from the Manage and provision a solution infrastructure domain, with answers and explanations. The full Professional Cloud Architect bank has 251 questions across 6 domains. Questions are scenario-based and written from the official Google Cloud exam guide.

1.

A DevOps team stores multiple build artifacts in Artifact Registry, including Maven packages and container images. They want to ensure that developers in a specific team can pull images and download packages but cannot push new versions or delete existing artifacts. Which IAM role should be granted to those developers at the Artifact Registry repository level?

  • A. roles/storage.objectViewer
  • B. roles/artifactregistry.writer
  • C. roles/artifactregistry.reader✓ Correct
  • D. roles/artifactregistry.repoAdmin
Explanation

Option C is correct. The roles/artifactregistry.reader role grants permissions to read (pull/download) artifacts from Artifact Registry repositories without the ability to push, tag, or delete—exactly matching the requirement. Option B is wrong because roles/artifactregistry.writer also grants write (push) permissions, which the team explicitly should not have. Option D is wrong because roles/artifactregistry.repoAdmin grants full administrative control over the repository, including deletion and permission management, which far exceeds the read-only requirement. Option A is wrong because roles/storage.objectViewer is a Cloud Storage IAM role; Artifact Registry stores metadata and blobs in its own managed storage that is not directly accessible via Cloud Storage IAM, so this role does not grant Artifact Registry pull/download permissions.

2.

A GKE cluster's node pool is running nodes with an outdated Kubernetes version. The cluster control plane has already been upgraded to the latest version. The team wants to upgrade the node pool with zero downtime for running workloads. Which node pool upgrade strategy should they configure?

  • A. In-place upgrade: configure the node pool to upgrade nodes in-place without draining, using the --no-drain flag to avoid pod disruption.
  • B. Manual upgrade: SSH into each node, run apt-get upgrade kubelet kubectl, and restart the kubelet service.
  • C. Surge upgrade: configure maxSurge greater than 0 so new nodes at the target version are added before old nodes are drained and removed.✓ Correct
  • D. Blue/Green node pool upgrade: create a new node pool at the target version, cordon the old pool, and allow workloads to be rescheduled naturally.
Explanation

Option C is correct because surge upgrades (configuring maxSurge in the node pool upgrade settings) cause GKE to add new nodes at the target version before draining old ones, ensuring capacity is maintained and workloads are rescheduled with zero downtime. This is GKE's built-in, recommended mechanism for zero-downtime node pool upgrades. Option D (blue/green with a new node pool) is a valid alternative but is more operationally complex and is not the standard GKE upgrade mechanism — it also requires workload selectors or taints to manage scheduling. Option A is wrong because GKE does not support in-place kubelet upgrades without node replacement; the --no-drain flag is not a supported upgrade option and upgrading nodes without draining could cause pod disruption. Option B is wrong because manually upgrading kubelet on nodes is unsupported in GKE — nodes are managed by the control plane and manual changes are overwritten or cause nodes to become NotReady.

3.

Your company runs a stateless web application on a managed instance group (MIG) behind an HTTP load balancer. During a rolling update, some instances crash and fail their health checks. You need the MIG to automatically replace unhealthy instances without manual intervention, while still completing the rolling update. Which two MIG features should you enable to meet this requirement? (Select TWO.)

  • A. Autohealing with an HTTP health check configured on the MIG✓ Correct
  • B. Canary deployment targeting a separate instance group
  • C. Rolling update policy with a maximum surge and maximum unavailable setting✓ Correct
  • D. Preemptible VMs for all instances in the group
  • E. Instance scheduling with maintenance windows
  • F. Regional MIG with instances spread across all zones
Explanation

Options A and C are correct. Autohealing (A) monitors instance health using a configured health check and automatically recreates any instance that fails, addressing the crash-replacement requirement. A rolling update policy with max surge and max unavailable settings (C) controls how the update is applied—limiting disruption while progressively replacing instances, meeting the rolling-update completion requirement. Option B (canary deployment to a separate group) is a traffic-splitting strategy for testing a new version, not a mechanism for autohealing or structured rolling updates within a single MIG. Option D (preemptible VMs) reduces cost but actually increases the likelihood of instance loss and is inappropriate for a stable rolling update. Option E (instance scheduling/maintenance windows) controls when instances start and stop on a schedule, not rolling updates. Option F (regional MIG) improves availability across zones but does not by itself enable autohealing or manage rolling update behavior.

4.

A junior engineer runs gcloud builds submit to build a container image but receives a permission denied error. The Cloud Build service account is [PROJECT_NUMBER]@cloudbuild.gserviceaccount.com. The image must be pushed to an Artifact Registry repository in the same project. Which single IAM change resolves this error?

  • A. Enable the Artifact Registry API and grant the Cloud Build service account the roles/storage.objectAdmin role on the GCS bucket backing Artifact Registry.
  • B. Grant the Cloud Build service account the roles/artifactregistry.writer role on the Artifact Registry repository or project.✓ Correct
  • C. Grant the developer's user account the roles/artifactregistry.writer role, since gcloud builds submit runs as the user.
  • D. Grant the Cloud Build service account the roles/artifactregistry.admin role on the Artifact Registry repository.
Explanation

Option B is correct because Cloud Build executes build steps as the Cloud Build service account, and roles/artifactregistry.writer grants the minimum permissions required to push images to Artifact Registry. Option D is overly permissive — roles/artifactregistry.admin includes delete and administrative permissions not needed for a push operation. Option C is wrong because Cloud Build runs as its own service account, not the submitting user's account; granting the user account permissions does not help. Option A is wrong because Artifact Registry does not use a GCS bucket as a backend for container images — it is a separate service — and roles/storage.objectAdmin on GCS does not grant Artifact Registry push access.

5.

A managed instance group (MIG) runs a web application across 10 instances. The team wants to configure auto-healing so that any instance that fails its health check is automatically replaced. They create an HTTP health check and attach it to the MIG. During a deployment, they notice that new instances are being replaced almost immediately after creation, before the application has time to start. What is the most appropriate fix?

  • A. Increase the initialDelaySec parameter in the MIG's autohealing policy to allow sufficient time for the application to start before health checks begin.✓ Correct
  • B. Disable autohealing during deployments by temporarily removing the health check from the MIG, then re-attach it after all instances have started successfully.
  • C. Reduce the health check checkIntervalSec and timeoutSec values so the health checker cycles faster and detects healthy instances sooner.
  • D. Change the health check protocol from HTTP to TCP so that the health check passes as soon as the instance's network stack is ready, regardless of application state.
Explanation

Option A is correct. The initialDelaySec parameter in a MIG's autohealing policy specifies how long to wait after an instance is created before the health check is evaluated for autohealing purposes. Setting a value long enough for the application to fully start (e.g., 120–300 seconds) prevents the MIG from incorrectly replacing healthy instances that are still in their startup phase. Option D is wrong because switching to a TCP health check only verifies that a port is open, not that the application is actually ready to serve traffic; it would mask real application failures and defeats the purpose of autohealing. Option C is wrong because reducing check interval and timeout makes the health checker more aggressive, not less—this would cause instances to be marked unhealthy even faster during startup, worsening the problem. Option B is wrong because manually disabling and re-enabling autohealing introduces operational risk, is not scalable, and is precisely the problem that initialDelaySec is designed to solve without manual intervention.

Test yourself across every Professional Cloud Architect domain

The free Professional Cloud Architect practice test mixes about 20 questions weighted like the exam. The full 251-question bank adds instant grading, flashcards and a timed mock exam.

Study this domain

Manage and provision a solution infrastructure study guide (Professional Cloud Architect) →

Other Professional Cloud Architect domains

← All Google Cloud Professional Cloud Architect study resources