Kubernetes Roadmap: When to Start and What to Learn
By Branko Petric - Updated - About 6 weeks at 10 hours a week
The short answer
For a first DevOps job, you need enough Kubernetes to deploy your own app, update it safely, and debug common failures with kubectl. You can skip building clusters by hand, service meshes and operators. Learn it after Docker, CI/CD and cloud basics. Plan on about 6 weeks at 10 hours a week.
Why Kubernetes comes this late
This is the most contested choice on the roadmap, so here is the case against it. Employers ask for Kubernetes a lot. InterviewStack counted it in 56% of 7,523 DevOps postings (June 2026). JobsPipe counted 69.4% (September 2026). Both are job sites with their own samples, so treat the numbers as a rough signal.
Other roadmaps disagree on when to learn it. KodeKloud puts it before CI/CD and cloud. The milanm roadmap puts it right after containers. roadmap.sh's beginner path leaves it out.
We put it late because of how it fails. A pod (one or more containers running together) can fail because of the image, the config, the network, a memory limit or a health check. If you have already handled each of those by hand, the error tells you where to look. If you have not, you may, as one Reddit commenter put it, "just end up memorizing yaml".
This choice has a cost: you will see job posts asking for Kubernetes long before you reach this page. It is still required before you apply for DevOps-titled jobs. If you are in a hurry and can already pass the tests for Docker and networking, you could start here sooner.
What to learn, in order
- Run a local cluster. Use kind (Kubernetes inside Docker containers) or k3s (a small Kubernetes). A cluster is a group of machines that Kubernetes manages. Local ones cost nothing and are easy to delete.
- Pods and Deployments. You rarely create pods by hand. A Deployment keeps the number of pods you asked for running, and it replaces them during an update.
- Services. Pods come and go, and their IP addresses change. A Service gives them one stable name. This is where your networking work pays off.
- Outside traffic. Ingress and the newer Gateway API both send outside web traffic to a Service. Both need a controller (the program that does the routing). The Kubernetes docs now recommend Gateway and have frozen Ingress, but they have no plans to remove it, so you may still meet it. Learn one, and know that the other exists. Avoid tutorials built on Ingress NGINX, whose maintenance was set to end in March 2026.
- ConfigMaps and Secrets. These keep settings out of your image. Secrets are only base64 encoded by default, not encrypted. Keep the habits from the security step here too.
- Requests and limits. These set how much CPU and memory a container is promised and allowed. A container that goes over its memory limit gets killed, which shows up as OOMKilled.
- Probes. A probe is a health check that Kubernetes runs on your container. It tells Kubernetes when to send traffic and when to restart it.
- Rolling updates and rollback. Ship a new version one pod at a time, then go back to the old one.
- Debugging with kubectl. kubectl is the command-line tool for Kubernetes. Start with the official debugging guide and the pod lifecycle page, which explains states such as CrashLoopBackOff.
- Basic Helm. Helm packages your Kubernetes files so they can be installed with one command. The quickstart is enough. You will use it in CI in the project below.
What to skip for now
- Kubernetes the Hard Way, which builds a cluster piece by piece. It is a good course, but it is about running clusters, not about running apps on them.
- Service meshes, operators and multi-cluster setups. They solve problems your one small app does not have.
- Argo CD beyond a quick look. The idea of deploying from Git is worth knowing, but your CI pipeline already deploys.
- Managed clusters such as EKS, until a job or a project needs one.
- The CKA, until you can pass the test on this page.
Common mistakes
- Using the
latesttag on a local cluster. Withlatest, Kubernetes tries to pull the image from a registry. An image built only on your laptop then gives ImagePullBackOff. Use a version tag, and load the image withkind load docker-imageif you use kind. - Raising memory limits to stop every OOMKilled error. A bigger limit may only delay a memory leak. Check whether memory keeps growing before you pick a number.
- Pointing a liveness probe at the database. The liveness probe decides when to restart a container. If the database has a slow moment, every pod restarts, and a small problem becomes an outage.
- Skipping
kubectl logs --previous. In a crash loop, the current container may have no useful logs yet. The reason is usually in the one that just died. - Copying YAML you cannot explain. If you cannot say what each block does, you cannot debug it. Delete the block and see what breaks.
Your project
Move your app onto a local kind or k3s cluster. Do not rewrite it, because the app is the same one you have used since step 5. Add the database config, probes, and requests and limits. Package it with basic Helm. GitHub's runners cannot reach a cluster on your laptop. So have your CI pipeline start a throwaway kind cluster on each merge and install your chart there. Then break it each way listed in the test on this page, and add the fixes to your runbook.
You are done when
You can do all of this with no notes. If you already can, skip this step.
- On a local kind or k3s cluster, you deploy your app with a Deployment, Service, ConfigMap, Secret, resource requests and limits, and probes.
- You reach the app from outside the cluster through an Ingress or a Gateway API route.
- You ship a new version, then undo it with
kubectl rollout undo deployment/<name>. - You cause and fix CrashLoopBackOff, ImagePullBackOff and OOMKilled. You use
kubectl describe pod,kubectl logs --previousandkubectl get events, and you make no guesses about the cause. - You break a Service's label selector, see that it has no endpoints with
kubectl get endpointslices, and explain why traffic stopped.
Learn it and test it
Free guides
- Kubernetes Fundamentals for DevOps
- Kubernetes Deployments and Rollout Strategies
- Kubernetes ConfigMaps and Secrets: Managing Configuration
- Kubernetes Networking: Services, Ingress, and DNS
- Debugging Kubernetes: Diagnose Pods and Fix Failures
- Helm: Packaging Kubernetes Applications
Practice scenarios
- Pod Stuck in CrashLoopBackOff After a Deploy
A new deploy leaves a pod in CrashLoopBackOff. A teammate wants to bump CPU and memory. Defend how you actually diagnose it.
- Pods Keep OOMKilling: Scale Up or Fix the Leak?
A service OOMKills every few hours. Adding replicas or raising memory limits buys time. Defend whether to scale around it or fix the root cause.
- Under Load, Healthy Pods Keep Restarting. Add Replicas?
During traffic peaks, Kubernetes keeps killing pods that are not actually broken. A teammate wants to scale up replicas. Defend the real fix.
Common questions
Is Kubernetes hard to learn, and when should I start it?
It is hard when you learn it first, because one error can come from your image, your network, your config or the cluster. It is much easier once you know containers, networking and health checks. On this roadmap, you start after your app already runs in Docker and on AWS.
Is the CKA worth it?
Not as a first step. The CKA (Certified Kubernetes Administrator) is a Linux Foundation exam, and its page listed $445 for the exam alone on 2026-10-31. We found no hiring data on its value. One Reddit thread has both "30% higher" and "zilch" as answers, and those are only anecdotes. Consider it after you pass the test on this page, and only if you are aiming at jobs that use Kubernetes daily.
Can I skip Kubernetes if I am learning DevOps?
Not if you plan to apply for jobs with DevOps in the title, because many of those postings name it. You can apply for stepping-stone jobs before you learn it, and some will never need it.
Do I have to pay for a cloud cluster to learn Kubernetes?
No. A local cluster on your own computer covers everything on this page. Managed clusters from cloud providers cost money, so leave them until you need one. Use a local cluster first and spend your time on the debugging.
Practice defending your decisions
DevOps Ledger is a scenario-based DevOps and SRE interview practice platform: you pick a real production incident, defend your decision in a chat against a senior-engineer AI that pushes back, and get scored against an answer key written before you started.
One payment. 12 months of access. No subscription, nothing renews.
Get full access - $19