
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Develop a solid foundation in containers and Kubernetes with beginner-friendly, hands-on labs, in-browser challenges, demos, and a supportive community.
Access and navigate the hands-on labs in your browser by using Code Cloud, sign up and sync your Udemy course credentials, and mark labs complete as you progress.
Explore Kubernetes (K8s), the open-source container orchestration technology built by Google. Learn how containers and Docker create portable, scalable applications with images and Docker run.
Kubernetes orchestrates hundreds of containers in a clustered environment with automated scaling, load balancing, and declarative configuration.
Explore Kubernetes architecture by mapping nodes, clusters, master and worker roles, etcd data store, API server, scheduler, and Docker as the container runtime, with cube ctl commands.
Discover how Docker and containerd relate to Kubernetes, the CRI interface and OCI standards, and tools like nerd control tool and CRI control for debugging and managing runtimes.
Docker was the original Kubernetes runtime, but Kubernetes now uses the container runtime interface and containerd as its runtime, while Docker remains popular for development.
Stay focused on the labs and videos to gain the most from the course; resist early local setup and await the provided resources for your own setup.
Explore options to set up a Kubernetes cluster—from local runs with Docker Desktop, minikube, or kubeadm to cloud hosted services—and access it with kubectl.
Install a local Kubernetes cluster with minikube and kubectl via VirtualBox, then deploy a hello minikube deployment, expose it, and test access.
Explore how pods host containers in Kubernetes, learn the 1-to-1 pod–container relationship, and scale by creating pods on nodes; deploy pods with run command and pull images from Docker Hub.
Deploy a pod in a minikube cluster using kubectl, pulling the nginx image from Docker Hub, and inspect pod status with get pods and describe pod.
Learn how YAML represents data as key-value pairs, lists, and dictionaries, with proper indentation, colons, and spaces, using car and nutrition examples.
Explore how coding exercises work in this course, including using ansible inventory and playbook files (.txt and .yml), updating a vegetable entry, checking solutions, and continuing through exercises.
Learn to create a Kubernetes pod with a yaml definition, detailing api version, kind, metadata, and spec, including containers and nginx image, and manage with kubectl.
Create a pod using a yaml definition with apiVersion v1, kind Pod, and metadata and spec, including an nginx container, then apply with kubectl and verify it runs.
Use Visual Studio Code with the Red Hat yaml extension to validate Kubernetes yaml, configure Kubernetes schemas, and craft pod definitions with autocomplete and error hints.
Learn hands-on pod management in Kubernetes basics by creating and inspecting pods with yaml manifests, debugging image pull errors, and using kubectl to describe, delete, and apply resources.
Discover how replication controllers and replica sets maintain high availability by keeping the desired number of pod replicas, using templates, replicas, and selectors, and scale with kubectl.
Create and manage a Kubernetes replica set from a pod yaml, using labels and a selector, then scale and observe automatic pod replacement with kubectl.
Explore a hands-on Kubernetes replica sets lab, debugging image pull errors and fix mismatches, then scale replica sets from five to two while watching automatic pod recreation.
Learn how Kubernetes deployments enable rolling updates, undo changes, and pause and resume changes, by creating deployment definitions and managing replicas and pods.
Create and deploy a Kubernetes deployment from a deployment.yaml, using a replica set reference, set three replicas with labels, and verify with kubectl get and describe commands for nginx pods.
Explore deploying in Kubernetes by creating deployments, replica sets, and pods; troubleshoot errors, inspect images, and validate readiness using get and describe commands.
Understand rollouts and versioning in deployments, compare recreate versus rolling update strategies, and roll back using kube control rollout undo.
Learn to manage deployments with updates and rollbacks using rollout status, history, and undo commands. See how revisions and image upgrades drive safe rolling updates and error handling in Kubernetes.
Explore rolling updates and rollbacks in Kubernetes by upgrading a frontend deployment from v1 to v3, observing blue, green, and red states across pods and comparing rolling update with recreate.
Explore how Kubernetes assigns each pod a unique ip from the 10.244.0.0 internal network, enabling pod-to-pod communication in single- and multi-node clusters.
Discover how kubernetes services enable pod communication and external connectivity using node port, cluster IP, and load balancer, with selectors and labels linking pods.
Create and expose a Kubernetes application by defining a node port service for a six-pod deployment. Access the nginx application in a browser using the node port or minikube URL.
Explore how Kubernetes cluster IP services group frontend, backend, Redis, and databases, providing a stable interface and random backend selection via selectors and ports.
Use a load balancer service to expose voting and result apps with a single URL, routing traffic to node ports across the cluster.
This solution walkthrough covers Kubernetes services, including the default ClusterIP, ports and endpoints, and explains labels and selectors while demonstrating creating a web service to expose a simple web app.
Explore microservices architecture by deploying a simple voting app stack on Docker, with a Python voting UI, a .NET worker, a Node.js results UI, Redis and PostgreSQL, and container links.
Deploy voting, result, and worker as pods on a Kubernetes cluster, connect them with internal services for Redis and PostgreSQL, and expose voting and result apps externally via node port.
Deploy a voting application on a Kubernetes cluster by creating pod definitions and services for voting, result, reader, worker, and Postgres, then apply manifests and verify with kubectl.
Learn how deployments replace pods to enable easy scaling, self-healing with replica sets, and rolling updates for voting and result apps exposed on a nodeport in a Kubernetes cluster.
Explore cloud deployment options for Kubernetes, from self-hosted to managed solutions, and deploy a voting app on Google Kubernetes Engine, Azure Kubernetes Service, and AWS EKS.
Deploy your app on Google Cloud Platform using GKE, create a cluster, configure kubectl, apply deployments and services, and expose a load balancer to verify the voting app.
Provision and configure an Amazon EKS cluster on AWS, set up kubectl access, add a worker node group, and deploy the voting app using Kubernetes manifests.
Provision an Azure Kubernetes Service (AKS) cluster and create a voting app resource group. Set up a service principal and deploy voting, Redis, Postgres, and results services with Cloud Shell.
Explore containers and Docker basics, and master Kubernetes concepts like pods, replica sets, deployments, and services, with hands-on kubectl and file definitions and a microservices deployment on Google Cloud Platform.
“This is by far the best Kubernetes course”—Student Testimonial
Why You Need To Learn Kubernetes
Learning Kubernetes is essential for any DevOps professional. DevOps engineers are always in demand. The average Silicon Valley salary for a DevOps engineer is 20% higher than that of a software engineer.
DevOps engineers make an average of $140,000 to $200,000 annually. And one of the most in-demand skills is Kubernetes Deployment.
Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation.
Kubernetes is at the cutting edge of application deployment. The best way to kick-start your DevOps career is by learning how to effectively deploy Kubernetes by taking our Kubernetes for beginner course.
How Our Beginner’s Course Will Help You Learn Kubernetes
This course is for absolute Kubernetes beginners. With zero knowledge about Kubernetes, once you take this course and complete all of the hands-on coding exercises, you will be ready to deploy your own applications on a Kubernetes platform.
You will start your journey as a beginner and go through 10 simple, step-by-step lectures. Each lecture and demo is designed to give you the time to fully grasp all of the concepts. The most important part of the course is the series of hands-on coding exercises that accompany each major concept.
Practice, Practice, Practice, Kubernetes!!!
But lectures alone won’t give you the skills you need to make it as a DevOps engineer. In this course, you will learn by doing. Each exercise will help you make sure you have truly mastered the concepts and will help you have the confidence to apply your Kubernetes knowledge in real-world situations.
You will be developing your own services using Kubernetes configuration files for different use cases right in your browser. The coding exercises will validate your commands to make sure you have written them correctly.
Start Mastering Kubernetes Today
Don’t waste any more time wondering what course is best for you. You’ve already found it. Get started right now by developing the Kubernetes skills you need to be successful as a DevOps engineer with our Kubernetes for Beginner course.
Legal Notice:
Kubernetes and the Kubernetes logo are trademarks or registered trademarks of The Linux Foundation. in the United States and/or other countries. The Linux Foundation and other parties may also have trademark rights in other terms used herein. This course is not certified, accredited, affiliated with, nor endorsed by Kubernetes or The Linux Foundation.
Course Update History
July 02, 2025 – Course updated with the latest content
May 26, 2025 – Lab environment upgrade to 1.33v (in progress)
Jan 22, 2025 – Lab environment upgrade to 1.32v
Feb 17, 2024 – Lab environment upgrade to 1.29v
June 15, 2023 – Lab environment upgrade to 1.27v
Feb 2, 2023 – Lab environment upgrade to 1.26v
Oct 10, 2022 – Lab environment upgrade to 1.24v
May 10, 2022 – Lab solutions added
May 1, 2022 – Lab environment upgrade to v1.23
Oct 20, 2021 – Lab environment upgrade to v1.22
May 10, 2021 – Lab environment upgrade to v1.20
Aug 24, 2020 – Lab environment upgrade to v1.19
Jun 16, 2020 – Lab environment upgrade to v1.18