Skip to content

CKA hands-on labs

Labs: Preview

Certified Kubernetes Administrator: exam-style tasks on a real kubeadm cluster on your own Mac, built and graded by the GoldenKube CLI. Each card shows the domain, the cluster topology it needs, the recommended time and its points; the scenario page has the full task text. Scenarios are verified on Kubernetes 1.37.

Domain coverage

Published scenarios per official CKA domain, next to the domain's exam weight (checked 2026-10-23 on the official page). 37 published scenarios today.

DomainExam weightPublished scenarios
Storage10%
4
Troubleshooting30%
9
Workloads & Scheduling15%
9
Cluster Architecture, Installation & Configuration25%
8
Services & Networking20%
7

Mock exam mode

goldenkube exam cka draws a curriculum-weighted set: 15 tasks in 120 minutes, pass at 66%. Solutions and hints are hidden in exam mode.

Scenarios

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

How a run works

  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; the CLI provisions a fresh cluster and prints the task.
  4. Solve it on the cluster, run goldenkube submit; the result appears on your dashboard.

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

Frequently asked questions

Can I run these CKA labs today?

The scenarios are published and the CLI runs them end to end, but the first signed public build is not on the Homebrew tap yet, so the catalog is in preview. The task text of every scenario is public now; running one needs the CLI release.

Are the tasks the real CKA exam tasks?

No. They are GoldenKube scenarios written to cover the published CKA domains in the same style: a live cluster, a situation, a task. GoldenKube does not have or claim exam content.

How is a scenario graded?

On your machine. Each scenario has a fixed set of state checks; on submit the grader reads your live cluster and the scenario passes when every check passes. Hints, the reference solution and the check definitions stay inside the CLI.