Kubernetes Mastery: Hands-On Lessons From A Docker Captain
Learn the key Kubernetes features and plugins while practicing DevOps workflows, from a container expert
What you will learn?
- Learn Kubernetes and cluster tools from an award-winning Docker Captain!
- Lead your team into the future with the latest Kubernetes & container skills!
- Know the right ways to use Kubernetes for proper DevOps workflows
- Understand production K8s topics like rolling updates, healthchecks, and failure recovery
- Know when to use different types of app configuration like args, envs, and ConfigMaps
- Make Kubernetes YAML manifests and deploy using infrastructure-as-code methods
Your trainer
Bret Fisher
Hey I'm Bret. Thanks for learning about me. I'm a freelance DevOps and Docker consultant, trainer, speaker, and Open Source volunteer working from Virginia Beach, USA. I've helped over 150,000 people learn Docker and DevOps tools and techniques.
I've been a cloud and datacenter ops/sysadmin for more than 20 years. For years I've been exclusive to containers and I help teams Dockerize their apps and systems, and improve their speed of deployment, resiliency, metrics, and awareness. All that DevOps-y stuff.
I'm also a Docker Captain and Code for America Brigade Captain. I run monthly meetups, speak at conferences, and love helping others. I'm obsessed with containerizing any app I see, and I'll likely talk your ear off about it next time we meet.
111 lessons
Easy to follow lectures and videos covering subject details.
8 hours
This course includes hours of video material. Watch on-demand, anytime, anywhere.
Certificate of Completion
You will earn a Certificate of Completion at the end of this course.
Course curriculum
- How To Take This Course02:22
- Course Chat with Students Learning Containers00:46
- YouTube Live Q&A with Bret00:16
- What and Why of Kubernetes04:56
- Kubernetes Distributions04:13
- Kubernetes Use Cases05:41
- Kubernetes Architecture06:09
- Kubernetes Physical Architecture06:26
- Container Runtimes for Kubernetes04:14
- The API and The Pod04:03
- Quiz 16 questions
- Installing Kubernetes for Learning02:14
- Installing Kubernetes: The Fast Way03:00
- Kubernetes with Docker Desktop03:13
- Kubernetes with MicroK8s (Linux)06:44
- Kubernetes in Your Browser02:56
- "Shpod" Course Container02:33
- Shpod Tips and Tricks01:17
- First Contact with Kubectl07:05
- Kubectl Describe03:13
- Exploring Resource Types06:01
- Kubectl Get02:03
- Kubectl Namespace Basics05:28
- Kubernetes Newer Namespaces02:59
- Quiz 23 questions
- Your First Deployment with Kubectl06:45
- 1.18 Changes to Kubectl Run01:04
- Kubectl Logs04:57
- Deleting Pods and Watching The Effects04:10
- Kubectl Run CronJob05:56
- Resource Creation and Run Changes03:14
- Streaming Logs of Multiple Pods05:34
- Better CLI Logs with Stern03:25
- Cleanup Pingpong and CronJob00:30
- Quiz 35 questions
- First Steps8 questions
- A Deployment Visual Walkthrough06:27
- Basic Service Types06:38
- Exposing Pods with ClusterIP05:32
- Layer 4 Services00:50
- Remember CoreDNS for Service DNS Resolution00:33
- Testing Your ClusterIP Service07:42
- Visualizing ClusterIP Traffic01:26
- Headless Services02:45
- Service Endpoints03:13
- Kubernetes Network Model04:46
- Container Network Interface: CNI Basics04:52
- Deployments with Services8 questions
- Our Sample Microservice App: DockerCoins06:28
- DockerCoins Quick Compose04:45
- Kubernetes Image Registries06:31
- DockerCoins on Kubernetes01:07
- Creating DockerCoins04:44
- Exposing DockerCoins02:16
- Scaling DockerCoins Deployments05:31
- Httping Testing of DockerCoins05:19
- Deploying a Distributed App3 questions
- Kubernetes Deployment YAML04:49
- Kubernetes Dashboard06:53
- Security Implications of Applying YAML02:24
- DaemonSets for Per-Node Containers03:51
- Forcing Deployments07:25
- Labels and Selectors06:19
- Resource Selectors04:32
- Editing Pod Labels05:36
- Editing Service Selectors07:05
- More Label Uses03:54
- Load Balancing Across Two Deployments3 questions
- YAML Creation Basics09:04
- YAML From Scratch on Kubernetes10:54
- YAML Tips and Validation03:30
- Server Dry Run05:45
- Kubectl Diff02:21
- Rolling Update Basics06:36
- Rolling Update Walkthroughs07:38
- Failed Update Details04:15
- Recovering From Failed Updates05:48
- Rollout History07:09
- Creating A YAML Patch02:51
- Health Check Basics06:27
- Probe Types and Examples06:22
- Proper Health Check Usage03:54
- Steps to Create Health Checks03:30
- Example Steps for DockerCoins02:14
- Updating DockerCoins with Probes04:05
- Testing Liveness Probes08:07
- Making Better Health Checks03:53
- Exec Liveness Probes06:34
- Cleanup After Health Checks00:22
- Managing App Configuration03:30
- App Config Options03:23
- Kubernetes Downward API06:29
- Env Vars and ConfigMaps04:28
- Creating a ConfigMap04:16
- Using a ConfigMap03:51
- ConfigMaps + Downward API04:22
- Kubernetes Secrets01:35
- Cleanup After ConfigMaps00:13
- Why Do We Need Ingress?05:56
- What Makes Up Kubernetes Ingress06:07
- Planning for Ingress Controller07:45
- Ingress Controller Port Config04:30
- Command Change In Next Lecture00:11
- Deploying NGINX Ingress06:26
- Ingress DNS and Test Apps03:15
- Ingress Resource Versions00:26
- Creating Ingress Resources04:31
- Drawing Ingress Traffic03:03
- Ingress Resource Annotations05:20
- Inspecting Ingress Resources02:43
- Replacing NGINX with Traefik06:01
- Deploying Traefik Ingress Controller03:25
- Traefik Web UI and CRD07:03
- Ingress Resource Good and Bad04:37
- Alternatives and the Future of Ingress06:06
- Ingress Cleanup00:17
- More Slides in Kubernetes Mastery00:19
- Bonus01:14
Online Courses
Learning Kubernetes doesn't have to be hard. Here is our curated list of recommended online courses that will guide you step-by-step in the learning process.
Learn moreBooks
Are you an avid book reader? Do you prefer paperback, or maybe Kindle version? Take a look at our curated list of Kubernetes related books and take your
YouTube videos
The number of high-quality and free Kubernetes video tutorials is growing fast. Check this curated list of recommended videos - there is no excuse to stop learning.
Learn more