Skip to content

Hands-on Kubernetes labs

Exam-style tasks for the performance-based certifications, run on a real kubeadm cluster on your own Mac with the GoldenKube CLI and graded locally. Each card shows the task's domain, the cluster topology it needs, the recommended time and its points; the detail page has the full task text.

18 of 37 scenarios match · Clear filters

CKACluster Architecture, Installation & ConfigurationMedium

Drain a node for maintenance

Safely take a worker node out of service by cordoning it and evicting its workload pods without deleting the node.

Two nodes · ~7 min · 7 points

  • drain
  • cordon
  • maintenance
  • eviction
  • daemonset

goldenkube start cka-arc-006

CKAServices & NetworkingEasy

ClusterIP Service for a Deployment

Expose an existing Deployment inside the cluster with a ClusterIP Service that selects all its pods.

Two nodes · ~6 min · 5 points

  • service
  • clusterip
  • endpoints
  • networking

goldenkube start cka-net-001

CKAServices & NetworkingEasy

NodePort Service with a fixed port

Expose a Deployment outside the cluster with a NodePort Service on a specific node port.

Two nodes · ~6 min · 5 points

  • service
  • nodeport
  • networking

goldenkube start cka-net-002

CKAServices & NetworkingMedium

NetworkPolicy: allow ingress from one app only

Restrict ingress to database pods so only client pods may reach them on a single TCP port.

Two nodes · ~9 min · 7 points

  • networkpolicy
  • ingress
  • cilium
  • networking
  • security

goldenkube start cka-net-003

CKAServices & NetworkingMedium

Ingress routing to a Service

Create an Ingress that routes a hostname and path prefix to an existing Service through the nginx IngressClass.

Two nodes · ~8 min · 7 points · Ingress

  • ingress
  • ingressclass
  • nginx
  • networking

goldenkube start cka-net-004

CKAServices & NetworkingMedium

Gateway API HTTPRoute

Attach an HTTPRoute to an existing Gateway so a path prefix is routed to a Service.

Two nodes · ~9 min · 7 points · Gateway API

  • gateway-api
  • httproute
  • gateway
  • networking

goldenkube start cka-net-005

CKAServices & NetworkingEasy

Headless Service

Create a headless Service (clusterIP None) that selects an existing Deployment's pods.

Two nodes · ~6 min · 5 points

  • service
  • headless
  • dns
  • networking

goldenkube start cka-net-006

CKAServices & NetworkingEasy

Service port vs targetPort

Expose a Deployment on a Service port that differs from the container port.

Two nodes · ~6 min · 5 points

  • service
  • clusterip
  • targetport
  • networking

goldenkube start cka-net-007

CKAWorkloads & SchedulingMedium

Taint, toleration and placement

Taint a worker node and run a Pod that tolerates the taint and is placed on that node.

Two nodes · ~7 min · 6 points

  • taint
  • toleration
  • scheduling
  • nodename

goldenkube start cka-sch-001

CKAStorageMedium

StatefulSet with volumeClaimTemplates

Create a headless Service and a StatefulSet whose pod gets its own dynamically provisioned PVC.

Two nodes · ~10 min · 7 points · Storage

  • storage
  • statefulset
  • headless
  • volumeclaimtemplate
  • pvc

goldenkube start cka-sto-004

CKATroubleshootingMedium

Worker NotReady: kubelet stopped

A worker node reports NotReady; diagnose and restore it without recreating the node.

Two nodes · ~7 min · 7 points

  • troubleshooting
  • node
  • kubelet
  • notready

goldenkube start cka-trb-001

CKATroubleshootingMedium

Worker NotReady: kubelet fails to start

The kubelet on a worker refuses to start; find the misconfiguration and fix it on the node.

Two nodes · ~8 min · 7 points

  • troubleshooting
  • node
  • kubelet
  • systemd
  • configuration

goldenkube start cka-trb-002

CKATroubleshootingMedium

Worker NotReady: container runtime down

A worker is NotReady although its kubelet runs; find the underlying runtime problem and fix it.

Two nodes · ~6 min · 6 points

  • troubleshooting
  • node
  • containerd
  • cri
  • kubelet

goldenkube start cka-trb-004

CKATroubleshootingEasy

Cluster DNS down

Service name resolution has stopped working; investigate and restore the cluster DNS component.

Two nodes · ~5 min · 5 points

  • troubleshooting
  • coredns
  • dns
  • kube-system

goldenkube start cka-trb-005

CKATroubleshootingMedium

Service with no endpoints

A Service forwards nowhere; find the mismatch and fix the Service only.

Two nodes · ~6 min · 6 points

  • troubleshooting
  • service
  • selector
  • endpoints

goldenkube start cka-trb-006

CKATroubleshootingMedium

Pods Pending on a cordoned node

A Deployment pinned to one node cannot schedule; find the node-level cause and fix it.

Two nodes · ~5 min · 6 points

  • troubleshooting
  • scheduling
  • cordon
  • pending
  • nodeselector

goldenkube start cka-trb-007

CKAWorkloads & SchedulingEasy

DaemonSet on every node

Run one Pod per node, including the control plane, with a DaemonSet.

Two nodes · ~6 min · 5 points

  • daemonset
  • toleration
  • control-plane
  • workloads

goldenkube start cka-wkl-004

CKAWorkloads & SchedulingEasy

Required node affinity

Pin a Pod to nodes with a given label using required node affinity rather than a nodeSelector.

Two nodes · ~6 min · 5 points

  • node-affinity
  • scheduling
  • labels
  • workloads

goldenkube start cka-wkl-005

Exams covered

  • CKA · Certified Kubernetes Administrator · scenarios verified on Kubernetes 1.37 · 37 published scenarios · mock exam: 15 tasks in 120 minutes, pass at 66%

How to run a lab

  1. Install the CLI and Multipass, then run goldenkube doctor.
  2. Sign in with goldenkube login (free account).
  3. Start a scenario with its id, solve the task on the cluster, run goldenkube submit.

Grading happens on your machine and is practice feedback, not an official score. Tasks are public; hints, reference solutions and grader internals are not.