
Join a hands-on, project-driven course that blends Docker, Swarm, and Kubernetes concepts, supported by community Q&A, with practical exercises and typed command-line practice.
Explore how Kubernetes functions as a container orchestrator, enabling rolling, blue/green, and canary deployments, auto-scaling, stateful data with persistent volumes, RBAC, service catalogs, and Operators.
Explore container runtimes for Kubernetes, why Docker remains common, and how containerd and cri-o offer minimal backends with different trade-offs.
Interact with the Kubernetes API to manage resources like pods, nodes, and deployments. Pods represent the lowest deployable units, encapsulating one or more containers and sharing an IP.
Explore four practical Kubernetes installation options for Windows, Mac, Linux, and browser backups to set up a local or remote learning environment, and start learning in the command line.
Install microk8s on a Linux desktop using snap, set up the three levels—snap, microk8s, and Kubernetes—and alias kubectl to microk8s.kubectl for a local non-production lab.
Explore running Kubernetes from a tablet or browser and compare free playgrounds like Katacoda, play-with-k8s, OpenShift, and Instrucqt. Note reliability gaps; use microk8s on a DigitalOcean ssh server for stability.
learn how kubectl describe gives an overview of a node and its resources, including pods and CoreDNS, using the resource type and resource name format with slash or space.
Understand namespace filtering in kubectl and why default shows only some pods. Use --all-namespaces or -A to view all namespaces, and -n to target a specific one, like kube-system.
Explore kube-public and kube-node-lease alongside default, docker, and kube-system, and learn to inspect cluster-info configmaps with kubectl, view yaml, and understand bootstrapping context for connecting to clusters.
Learn how kubectl run creates a Deployment, which then creates a ReplicaSet and finally a Pod, illustrating Kubernetes abstraction layers from Deployment to Pod to container.
Master kubectl logs to inspect pod activity, learn to target deployments or specific pods, and scale replicas with kubectl scale, understanding declarative deployment management of ReplicaSets.
Observe how deleting a pod triggers replica set replacement under a deployment, using kubectl logs and watch. Understand the importance of proper container shutdown and the default 30-second grace period.
Learn to replace the built-in logs command with stern for multi-pod production logs. Install stern via brew or manual binaries, use timestamps and namespace selectors.
Visualize how kubectl run leads to deployment, replica sets, and pods. See how the API server, etcd, controller manager, scheduler, and kubelet coordinate to start containers.
Explore layer 4 services and how to assign a specific ip address, a protocol like tcp or udp, and a port for controlled access.
Explore headless services in Kubernetes by omitting clusterIP with the expose command, returning a list of A records for the same name across multiple IPs, bypassing kube-proxy for backend databases.
Explore how services point to pods via endpoints, inspect httpenv endpoints with kubectl describe and -o yaml, and review service types like clusterIP, load balancer, NodePort, external IP, and ingress.
Explore the Kubernetes network model, a flat, no-nat network where every node and pod can reach each other. Compare default out-of-the-box networking with third-party options like Flannel, Calico, or Kubenet.
This course recommends downloading Docker Desktop and other free virtual machine and container tools. If you are a Udemy Business user, please check with your employer before downloading software.
2022 Update: Ready for Apple Silicon (M1 arm64) and Raspberry Pi's!
Taught by an award-winning Docker Captain and Kubernetes expert, this Course is the result of a collaboration between Bret Fisher, creator of the #1 Docker & Kubernetes course on Udemy, and Jérôme Petazzoni who is a full-time Kubernetes instructor, as well as one of the original Docker Inc DevOps Engineers! We designed the course to take your Kubernetes skills from first-time user to using K8s in production.
Updates are a thing! You can count on it. Kubernetes is a huge topic and constantly evolving. As a result, this course will get updated and evolve with it.
Just starting out with Kubernetes? Perfect. This course starts out assuming you're new to container orchestration.
[five stars] "Because Bret knows, lives, breaths and loves his technology stack. The passion and belief always comes through in all of his courses which is why I will always recommend his work." -- Steven Hunt, Udemy Student
Already a Docker Mastery student and want to know what's different between the two courses? This course assumes you know Docker and dives deeper into Kubernetes and the community of tools around it. Unlike Docker Mastery, which starts with container 101 and takes you through a lot of tools like local development setups, docker-compose, registry, Docker Hub, Swarm basics, Kubernetes basics, and general Docker best practices... this course starts with Kubernetes 101 and has you learning and practicing each feature and workflow you'll need for running your own Kubernetes clusters, and like all my courses, it focuses on how to use those features with a DevOps mindset and workflow.
BONUS: This course comes with Slack Chat, Discord Chat and monthly YouTube Live Q&As with me!
"...Bret is amazing. You can tell he knows exactly what he is talking about and enjoys helping others. I have never seen someone so involved with his user base as Bret. ...I would seriously buy any course the Bret puts out because I have no doubts that it will be excellent." -- David Olson, Udemy Course Student
Why should you learn from me? Why trust me to teach you the best ways to use Kubernetes? (Hi, I'm Bret, please allow me to talk about myself for a sec):
I'm A Practitioner. Welcome to the real world: I've got 20 years of sysadmin and developer experience, over 30 certifications, and have been exclusively focused on DevOps and the container ecosystem for my consulting clients and my own companies since Docker's early days. Learn from someone who's helped run thousands of containers across dozens of projects and organizations.
I'm An Educator. Learn from someone who knows how to make a syllabus: I want to help you. People say I'm good at it. For the last few years, I've trained thousands of people on using Docker & Kubernetes in workshops, conferences, and meetups. See me teach at events like DockerCon, O'Reilly Velocity, GOTO Conf, and Linux Open Source Summit.
I Lead Communities. Also, I'm a Docker Captain, meaning that Docker Inc. thinks I know a thing or two about containers and that I do well in sharing it with others. In the real-world: I help run two local meetups in our fabulous tech community in Norfolk/Virginia Beach USA. I help online: usually in Slack, Discord, and Twitter, where I learn from and help others.
"This guy is out of this world. I love his patience and carefulness he puts in all of his lessons." -- Evan Baird, Udemy Student
Giving Back: a portion of my profit on this course will be donated to supporting open source and protecting our freedoms online! This course is only made possible by the amazing people creating open source. I'm standing on the shoulders of (open source) giants! Donations will be split between my favorite charities like Electronic Frontier Foundation and Free Software Foundation. Look them up. They're awesome!
This is a living course and will be updated as Kubernetes features change.
This course is designed to be fast at getting you started but also to get you deep into the "why" of things. Simply the fastest and best way to learn the latest container skills. Look at the scope of topics in the Session and see the breadth of skills you will learn.
Also included is a private Slack Chat group with 40,000+ students and a Discord server with 12,000+ members for getting help with this course and continuing your Docker and DevOps learning with help from myself and other students.
"I am really loving your approach to training so far. Concepts are really simplified and easy to understand. Thank you." -- Yemisi Omoijo, Udemy Student
Some of the many cool things you'll do in this course:
Deploy a microservice app using both CLI and YAML
Investigate running apps using CLI, logs, and events
Test out different local Kubernetes installs like Docker Desktop, microK8s, and minikube
Use Stern to view multiple container logs at once
Try different load balancer types with Kubernetes Services
Troubleshoot container and network performance
Create custom labels for controlling load balancer connections
Use the new Server Dry Run to test changes with the API
Recover from a failed update, and rollback updates to previous versions
Test different healthcheck probe types
Use various app config options with built-in Kubernetes features
Quickly patch YAML with a single command
Split up and deploy YAML from git repos using DevOps practices
Deploy the Kubernetes Dashboard web GUI securely
And so much more...
After taking this course, you'll be able to:
Know when to use Kubernetes for solving real-world problems
Step through the proper decisions to make when creating healthchecks
Understand how to test healthchecks to ensure they don't create problems
Know when to use different types of app configuration like args, envs, ConfigMaps, and more
Design a ConfigMap with the Downward API for more flexible deployments
Make Kubernetes YAML manifests and deploy using infrastructure-as-code DevOps methods
Protect your keys, TLS certificates, and passwords with encrypted secrets
Lead your team into the future with the latest Kubernetes container skills!
Extra things that come with this course:
Access to the course Slack team, for getting help/advice from me and other students.
Bonus videos I put elsewhere like YouTube, linked to from this course's resources.
Live Q&A with me on YouTube.
Tons of reference links to supplement this content.
Updates to content as Kubernetes changes the features on these topics.