Skip to content

Quiz — GKE, Kubernetes & Workload Identity

Quiz results are saved to your browser's local storage and will persist between sessions.

Node service accounts, the two-identities-linked-by-annotation model of Workload Identity, and the node-sizing arithmetic that decides whether a pod can actually be scheduled. Most of these came from real failures, not from reading docs.

10 questions. Back to all topics

#

GKE node pools implicitly use the default Compute Engine service account unless one is explicitly specified. What are the two independent reasons NOT to rely on it, beyond just "it might not exist yet"?

#

You set remove_default_node_pool = true on a google_container_cluster resource and give the SEPARATE google_container_node_pool resource a proper node_config with a dedicated service account. Cluster creation still fails on a missing-service-account error. Why?

#

A Kubernetes ServiceAccount named my-app-sa and a GCP IAM service account named sa-backend-dev@project.iam.gserviceaccount.com both exist. Are these the same identity?

#

You have roles/owner on a GCP project, confirmed via gcloud projects get-iam-policy, but kubectl get pods still returns "Forbidden" on a freshly created GKE cluster. What's the most likely explanation?

#

kubectl get pods fails with a Forbidden error, but IAM policy checks confirm the active account has roles/owner with no conditions attached. What's a likely cause worth checking before assuming the IAM policy itself is wrong?

#

You change a GKE node pool's machine_type in Terraform (e.g. e2-small to e2-standard-2) and run apply. What should you expect?

#

A GKE node shows Capacity: cpu: 2 but Allocatable: cpu: 940m in kubectl describe node. Why is allocatable so much lower than capacity?

#

A pod's FailedScheduling event says "Insufficient memory" on an e2-small node. You resize the node pool to e2-medium and the memory error disappears — but scheduling still fails, now with "Insufficient cpu" alone. Why didn't the resize fix the CPU side too?

#

A GKE cluster has workload_identity_config set correctly. Pods still can't use Workload Identity to authenticate as their intended GCP service account. What's a likely missing piece?

#

Why create a GKE cluster with remove_default_node_pool = true plus a separate, explicit google_container_node_pool resource, instead of just letting the cluster's inline default node pool exist?

Quiz Progress

0 / 0 questions answered (0%)

0 correct