1. Core Concepts
- Overview of Container Orchestration
- Introduction to Kubernetes
- Installation Options for Kubernetes
- Using Managed Kubernetes Service from CSP
- Installing & Configuring kubectl for Linux
- Configuring Kubernetes in Minikube in Windows
- Configuring Kubernetes in Minikube in Linux
- Introduction to API
- Kubernetes API Primitives
- What is PODS
- Kubernetes Objects
- Creating First POD Configuration in YAML
- Understanding Commands and Arguments in Kubernetes
- Exposing Ports for PODS
- Generating Pod Manifests via CLI
3. Configuration
- Environment Variables
- ConfigMaps
- Node Selectors
- Taints & Tolerations vs Node Affinity
- Kubernetes Secrets
- Mounting Secrets Inside Pods
- Resource Limits
5. Observability
- Understanding Liveness Probe
- Understanding Readiness Probe
- Understanding Docker Logging Drivers
- Monitor and Debug Applications
- Monitoring Nodes and Pods
- Kubernetes Events
- Overview of Field Selectors
2. POD Design
- Introduction to Labels, Selectors and Annotations
- Implementing Labels and Selectors
- Overview of ReplicaSets
- Creating our first ReplicaSet
- Introduction to Deployments
- Creating our first deployment
- Rolling Back Deployments
- Deployment Configuration
- Overview of Batch Jobs
- Creating first Job in Kubernetes
- CronJobs
- Generate Deployment Manifest via CLI
4. Services and Networking
- What is Service
- Creating our first Service and Endpoint
- Port vs TargetPort
- Service Type: NodePort
- Deploying Network Security Policies
- Namespace
- Service Accounts
- Generating Service Manifests via CLI
6. State Persistence
- Overview of Docker Volumes
- Creating Volumes in Kubernetes
- PersistentVolume and PersistentVolumeClaim
- Storage Classes
- Understanding ConfigMaps
- Security Contexts
7. Multi-Container PODS
- Working with Multi-Container Pods
- Multi-Container POD Design Patterns
- Ambassador Pattern
- Adapter Pattern