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.

22 of 37 scenarios match · Clear filters

CKACluster Architecture, Installation & ConfigurationMedium

Namespaced RBAC: Role and RoleBinding for a ServiceAccount

Grant a ServiceAccount read access to pods in one namespace using a Role and a RoleBinding.

Single node · ~6 min · 6 points

  • rbac
  • role
  • rolebinding
  • serviceaccount
  • namespace

goldenkube start cka-arc-001

CKACluster Architecture, Installation & ConfigurationMedium

Cluster-scoped RBAC: ClusterRole for listing nodes

Grant a namespaced ServiceAccount cluster-wide read access to nodes using a ClusterRole and ClusterRoleBinding.

Single node · ~6 min · 6 points

  • rbac
  • clusterrole
  • clusterrolebinding
  • serviceaccount
  • nodes

goldenkube start cka-arc-002

CKACluster Architecture, Installation & ConfigurationMedium

etcd snapshot backup

Take a snapshot of the cluster's etcd datastore and store it as a file on the control plane node.

Single node · ~8 min · 6 points

  • etcd
  • backup
  • etcdctl
  • control-plane

goldenkube start cka-arc-003

CKACluster Architecture, Installation & ConfigurationMedium

Static Pod on the control plane

Run a Pod directly through the kubelet by placing a manifest in the static pod directory.

Single node · ~7 min · 6 points

  • static-pod
  • kubelet
  • control-plane
  • manifests

goldenkube start cka-arc-005

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

CKACluster Architecture, Installation & ConfigurationMedium

Install an application with Helm

Add a chart repository and install a chart as a named release into a namespace using Helm.

Single node · ~10 min · 7 points

  • helm
  • package-management
  • release

goldenkube start cka-arc-007

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

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

CKAWorkloads & SchedulingMedium

Spread replicas across nodes

Create a Deployment whose replicas are guaranteed to land on different nodes.

Three nodes · ~8 min · 6 points

  • scheduling
  • topology-spread
  • pod-anti-affinity
  • deployment

goldenkube start cka-sch-002

CKAStorageMedium

Manual PersistentVolume and matching claim

Create a hostPath PersistentVolume and a PersistentVolumeClaim that binds to it.

Single node · ~7 min · 6 points

  • storage
  • pv
  • pvc
  • hostpath

goldenkube start cka-sto-002

CKAStorageMedium

Default StorageClass

Make an existing StorageClass the cluster default and provision a PVC without naming a class.

Single node · ~8 min · 6 points · Storage

  • storage
  • storageclass
  • default
  • pvc

goldenkube start cka-sto-003

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

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

CKATroubleshootingMedium

CrashLoopBackOff: container command exits

A Deployment's containers keep exiting; find out why and make them stay running.

Single node · ~6 min · 6 points

  • troubleshooting
  • crashloopbackoff
  • deployment
  • logs

goldenkube start cka-trb-008

CKAWorkloads & SchedulingMedium

ConfigMap env var and Secret volume

Create a ConfigMap and a Secret and consume them from a Pod as an environment variable and a mounted volume.

Single node · ~8 min · 6 points

  • configmap
  • secret
  • pod
  • env
  • volume
  • workloads

goldenkube start cka-wkl-003

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.