📚 Part 1:
Architecture overview: master node, worker nodes, etcd, kubelet, controllers
Anatomy of a pod: the main container, init containers, sidecars, labels, probes
Basic commands and debugging tricks
- ❓ Quiz 1: Kubernetes terminology
-
🛠 Exercise 1:
Deploy an application as a Pod with the primary process
Implement initialization logic executed in init containers
Add watchdog containers and probes.
-
📚 Part 2:
Anatomy of a deployment: types of deployments, replica set, replica count
Introduction to Kubernetes networking
Anatomy of a service: traffic routing, labels, port mapping
Service types: node port, cluster IP, load balancer
Anatomy of kubeproxy
Introduction to service meshes
🛠 Exercise 2:
Configure application traffic routing
Implement different service types
Implement canary release procedure
- ❓ Quiz 2: Kubernetes networking
-
📚 Part 3:
Persistent volumes: volumes types, volume resizing, volume snapshots
Working with complex deployments: namespaces, stateful sets
Job and Cron-jobs
🛠 Exercise 3:
Configure stateful deployment for an HA database (PostgreSQL or MariaDB)
Configure an HA caching layer (Redis) for your application
Implement a scheduled backup procedure for an HA database
- ❓ Quiz 3: Kubernetes persistence
-
📚 Part 4:
Configuration management: config maps, reloadable configurations
Deployment time configuration injection with Kustomize
Secrets management and integration with service discovery service (Consul and Vault)
Kubernetes admission webhooks and cluster events
🛠 Exercise 4:
Implement two environments (applications + data storage) running in different namespaces with different settings
Implement automatic configuration propagation at run time using different mechanisms
- ❓ Quiz 4: Kubernetes configuration management
- ❓ Quiz 5: Day-1 concluding quiz