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
An enterprise is standardizing its deployment process across multiple Google Kubernetes Engine (GKE) environments (development, staging, and production) to align with the Operational Excellence pillar of the Google Cloud Well-Architected Framework.
Currently, developers manually run kubectl commands from their local workstations, leading to configuration drift, deployment inconsistencies, and elevated credential sprawl.
The team wants to implement an automated CI/CD pipeline using Cloud Build that satisfies the following requirements:
container.deployments.create and container.deployments.update) without broad administrative control over the clusterWhich strategy should the cloud architect recommend?
Configure Cloud Build to deploy workloads using the Project Viewer role (roles/viewer) along with container.ingresses.get permissions
Store Kubernetes resource manifests in a centralized Git repository, automate deployments via a Cloud Build CI/CD pipeline, and assign the pipeline service account the Kubernetes Engine Developer role (roles/container.developer) scoped to the cluster
Execute imperative kubectl rollout commands directly from developer machines using shared service account keys that possess roles/container.developer
Store deployment configurations in Cloud Storage and grant the Cloud Build service account the Kubernetes Engine Admin role (roles/container.admin) at the project level
Configure Cloud Build to deploy workloads using the Project Viewer role (roles/viewer) along with container.ingresses.get permissions
Store Kubernetes resource manifests in a centralized Git repository, automate deployments via a Cloud Build CI/CD pipeline, and assign the pipeline service account the Kubernetes Engine Developer role (roles/container.developer) scoped to the cluster
This strategy combines Infrastructure as Code (IaC), GitOps/declarative delivery pipelines, and role-based access management to automate workload lifecycles reliably within Google Kubernetes Engine (GKE).
kubectl execution removes operator error and prevents environment drift.roles/container.developer role provides granular permissions to manage workloads—including container.deployments.create, container.deployments.update, container.deployments.rollback, and container.ingresses.create—without granting cluster administration rights.Using declarative manifests combined with a least-privilege CI/CD service account aligns directly with the Operational Excellence pillar by replacing error-prone manual interactions with standardized, secure automation.
Execute imperative kubectl rollout commands directly from developer machines using shared service account keys that possess roles/container.developer
Store deployment configurations in Cloud Storage and grant the Cloud Build service account the Kubernetes Engine Admin role (roles/container.admin) at the project level