Intrigued by the art of cloud architecture? Discover how to design, develop, and manage robust, secure, scalable, and dynamic solutions on Google Cloud as you prepare for the Professional Cloud Architect exam!
Prepare and test your skills
Prepare and test your skills
Worked example. The correct answer is already marked and every option is explained below, so there is nothing to select here. To answer questions yourself, start the free trial.
Keep the momentum going with these hand-picked practice scenarios
Want more questions like this?
Get a free certification question every week.
Last updated
Your company uses Google Cloud Deploy to orchestrate continuous delivery pipelines for microservices deployed onto Google Kubernetes Engine (GKE) clusters across staging and production targets.
During recent release cycles, rollouts were marked as successful immediately after the deployment manifests were applied, before application pods fully initialized and passed readiness probes. Consequently, releases with configuration defects were marked successful, allowing flawed versions to be promoted without verifying workload stability.
You need to ensure that Google Cloud Deploy performs automated health checks and waits for workloads to reach a stable, running state before marking a rollout as successful.
What should you do?
Grant the roles/clouddeploy.approver IAM role with a CEL condition on clouddeploy.googleapis.com/rolloutTarget to the automated pipeline service account.
Set the delivery pipeline state to SUSPENDED and increase the Cloud Build execution timeout in the execution environment configuration.
Migrate your release orchestration to Cloud Deployment Manager and configure explicit dependsOn properties between Kubernetes manifests.
Ensure that deploy.statusCheck is enabled (true) in the Skaffold configuration and set an appropriate deadline timeout.
Grant the roles/clouddeploy.approver IAM role with a CEL condition on clouddeploy.googleapis.com/rolloutTarget to the automated pipeline service account.
Set the delivery pipeline state to SUSPENDED and increase the Cloud Build execution timeout in the execution environment configuration.
Migrate your release orchestration to Cloud Deployment Manager and configure explicit dependsOn properties between Kubernetes manifests.
Ensure that deploy.statusCheck is enabled (true) in the Skaffold configuration and set an appropriate deadline timeout.
Google Cloud Deploy leverages Skaffold under the hood to render and apply Kubernetes manifests to target GKE clusters. Skaffold includes a built-in status checking mechanism (deploy.statusCheck) that monitors the rollout status of deployed Kubernetes resources (such as Deployments, StatefulSets, and DaemonSets) until they report as fully healthy and stable.
deploy.statusCheck is set to true (or left enabled by default), Skaffold monitors the status of the rollout after executing kubectl apply. It verifies that container readiness probes pass and pods achieve a ready state.deploy.statusCheckDeadlineSeconds or Kubernetes Deployment.spec.progressDeadlineSeconds). The rollout will only be marked as successful once workloads stabilize within the deadline.FAILED in Cloud Deploy. This halts automated promotion policies and alerts operators to initiate rollback procedures.statusCheckDeadlineSeconds) to accommodate various initialization requirements.Enabling and configuring Skaffold status checks directly addresses the root cause of premature rollout completions without introducing custom post-deployment scripting or unnecessary operational overhead.