← Back to all products
$79
Kubernetes CKA Lab Workbook
Hands-on lab exercises for Certified Kubernetes Administrator: cluster setup, networking, storage, security, and troubleshooting.
YAMLJSONMarkdownDockerKubernetesRedis
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 File Structure 29 files
kubernetes-cka-labs/
├── LICENSE
├── README.md
├── config.example.yaml
├── free-sample.zip
├── guide/
│ ├── 01-cluster-architecture.md
│ ├── 02-workloads-scheduling.md
│ ├── 03-services-networking.md
│ ├── 04-storage.md
│ ├── 05-troubleshooting.md
│ ├── 06-security-rbac.md
│ └── 07-etcd-backup-restore.md
├── index.html
├── labs/
│ ├── 00-environment-setup.md
│ ├── 01-cluster-architecture.md
│ ├── 02-workloads-scheduling.md
│ ├── 03-services-networking.md
│ ├── 04-storage.md
│ ├── 05-troubleshooting.md
│ ├── 06-security-rbac.md
│ └── 07-etcd-backup-restore.md
├── manifests/
│ ├── cluster-setup/
│ │ ├── cluster-role-binding.yaml
│ │ └── kubeadm-config.yaml
│ ├── networking/
│ │ └── networking.yaml
│ ├── security/
│ │ └── security.yaml
│ ├── storage/
│ │ └── storage.yaml
│ └── workloads/
│ ├── cronjob.yaml
│ └── deployment.yaml
└── quick-reference/
└── cka-cheatsheet.md
📖 Documentation Preview README excerpt
Kubernetes CKA Lab Workbook
Hands-on lab exercises for the Certified Kubernetes Administrator (CKA) exam. Practice every exam domain with realistic tasks, step-by-step solutions, verification commands, and ready-to-apply YAML manifests.
Exam Facts
| Detail | Value |
|---|---|
| Exam code | CKA |
| Provider | The Linux Foundation / CNCF |
| Format | Performance-based (hands-on tasks in a real cluster) |
| Questions | 15–20 performance tasks |
| Duration | 2 hours |
| Passing score | 66% |
| Cost | $395 USD (includes one free retake) |
| Kubernetes version | 1.30 (as of 2026; verify at training.linuxfoundation.org) |
| Allowed resources | kubernetes.io/docs, kubernetes.io/blog, github.com/kubernetes |
| Validity | 2 years from pass date |
Exam Domain Weights
| Domain | Weight | Lab File |
|---|---|---|
| Cluster Architecture, Installation & Configuration | 25% | labs/01-cluster-architecture.md |
| Workloads & Scheduling | 15% | labs/02-workloads-scheduling.md |
| Services & Networking | 20% | labs/03-services-networking.md |
| Storage | 10% | labs/04-storage.md |
| Troubleshooting | 30% | labs/05-troubleshooting.md |
| (Cross-cutting) Security & RBAC | — | labs/06-security-rbac.md |
| (Cross-cutting) etcd Backup & Restore | — | labs/07-etcd-backup-restore.md |
Security/RBAC and etcd tasks appear across multiple exam domains. They have dedicated labs here because they are consistently tested and commonly failed.
Who This Is For
- Engineers with 6+ months of Kubernetes experience preparing for the CKA exam
- SREs and platform engineers who want to validate their cluster administration skills
- Team leads building internal Kubernetes training programs
- Anyone who passed CKAD and wants to level up to administrator-level knowledge
Prerequisites
You should already be comfortable with:
- Linux command line (bash, systemctl, journalctl, file editing)
- Basic networking concepts (TCP/IP, DNS, ports, firewalls)
- Container fundamentals (docker/podman run, images, volumes)
- YAML syntax
What's Inside
Lab Exercises (`labs/`)
| File | Topics | Tasks |
|---|---|---|
00-environment-setup.md | Lab environment options, tool installation, kubectl setup | 3 |
01-cluster-architecture.md | kubeadm init/join, control plane components, upgrades, backup | 8 |
02-workloads-scheduling.md | Deployments, DaemonSets, StatefulSets, taints/tolerations, affinity | 8 |
03-services-networking.md | Services, Ingress, DNS, NetworkPolicy, CNI | 8 |
04-storage.md | PV, PVC, StorageClass, volume types, dynamic provisioning | 6 |
05-troubleshooting.md | Node failures, pod crashes, networking issues, control plane debug | 10 |
... continues with setup instructions, usage examples, and more.
📄 Code Sample .yaml preview
manifests/cluster-setup/cluster-role-binding.yaml
# cluster-role-binding.yaml
# Common RBAC configurations for cluster administration
---
# ClusterRole: Full admin access (built-in, shown for reference)
# kubectl get clusterrole cluster-admin -o yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-admin
rules:
- apiGroups: ["", "apps", "batch", "networking.k8s.io"]
resources: ["*"]
verbs: ["*"]
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get", "list"] # Can see namespaces but not create/delete them
---
# ClusterRole: Read-only access to all resources (useful for monitoring/dashboards)
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: cluster-reader
rules:
- apiGroups: ["", "apps", "batch", "networking.k8s.io", "storage.k8s.io"]
resources: ["*"]
verbs: ["get", "list", "watch"]
---
# RoleBinding: Grant namespace-admin to a team in a specific namespace
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: dev-team-admin
namespace: development
subjects:
- kind: Group
name: dev-team # Maps to certificate O= field or OIDC group
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole # Can reference a ClusterRole in a RoleBinding
name: namespace-admin # (limits scope to this namespace)
apiGroup: rbac.authorization.k8s.io
---
# ClusterRoleBinding: Grant read access cluster-wide to SRE team
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: sre-cluster-reader
subjects:
- kind: Group
name: sre-team
# ... 40 more lines ...