Master Kubernetes step by step with this developer-focused course. Start with containers and Docker basics, then move on to Kubernetes architecture, Pods, namespaces, and manifest files. Gain hands-on experience with Minikube, kubectl, services, and Ingress. Learn deployments, rollouts, probes, ReplicaSets, batch workflows, secrets, and storage. Finally, deploy applications on AWS Elastic Kubernetes Service with load balancer access.
Who should take this Course?
The Kubernetes for Developers Online Course is ideal for software developers, DevOps engineers, and backend programmers who want to learn how to containerize, deploy, and manage applications using Kubernetes. It is also suitable for students, system architects, and IT professionals looking to gain hands-on experience in building scalable, resilient, and cloud-native applications with Kubernetes.
What you will learn
Understand and utilize Docker containers and images
Master Kubernetes architecture and core components
Deploy and manage applications within Kubernetes clusters
Implement Kubernetes services, Ingress, and deployments for efficient scaling
Manage configurations, secrets, and storage within Kubernetes
Deploy and manage applications on AWS Elastic Kubernetes Service
Course Outline
Introduction
Introduction (promo video)
How you should take this course to get the max out of it
A short recap about Containers
What is a container? What makes them so special?
Let's install Docker and play with some containers
What is a Docker image? How can we create one? (tips & tricks)
Let's make 2 containers to talk to each other
Exploring volumes and storages in containers world
Exploring Docker Compose to manage multiple containers
General Kubernetes Concepts
What actually is Kubernetes and why it was created?
The role of each component of the Kubernetes Control Plane
What is a Pod and how it relates to a Container?
Let's walk through the Pod lifecycle in Kubernetes
Kubernetes Namespaces and Manifest Files (intro)
Your first hands-on steps in Kubernetes
Installing a local Kubernetes cluster with Minikube
Exploring basic kubectl commands
Creating your first Pod with kubectl
Learning about the Pod Lifecycle Management
Deploying your own REST API in Kubernetes
Understanding Init containers
Exploring Pod Liveness Probe
Exploring Pod Startup Probe
Understanding Post-Start and Pre-Stop hooks
Getting access to Pods in Kubernetes through Services
Exploring Kubernetes Services
Exploring Cluster IP Services
Exploring NodePort Services
Exploring LoadBalancer Services
Exploring Headless Services
Getting access to Pods in Kubernetes through an Ingress
What is an Ingress and how it compares to a Service?
Let's install an Ingress Controller in our minikube setup
Creating a new Ingress that routes traffic to a service
Exploring traffic routing strategies of an Ingress
Managing multiple pods in Kubernetes with ReplicaSets and Deployments
Exploring ReplicaSets
Exploring the Deployment resource
Exploring the rollout process
Configuring rollout strategies
Running Batch workflows in Kubernetes
Exploring the Job resource
Exploring the CronJob resource
Configuration and Secret Management in Kubernetes
Exploring the ConfigMap resource
Exploring the Secret resource
Best practices for Secret management in Kubernetes
Managing Storage in Kubernetes
Ephemeral Volumes
Learning about PersistentVolumes, PersistentVolumeClaims, StorageClasses
Hands-on demo with PVs, PVCs, and SCs
Exploring the StatefulSet resource
Deploying your app in AWS Elastic Kubernetes Service
Step 1 - Creating the cluster & adding worker nodes
Step 2 - Getting kubectl access to the cluster
Step 3 - Deploying our app
Step 4 - Getting app access through a Network Load Balancer
Step 5 - Getting app access through an Application Load Balancer