Course Description
Learn or consolidate Kubernetes concepts. These modules cover the architecture, concepts, and design choices of Kubernetes; as well as hands-on knowledge to interact with the container platform, deploy microservices and do basic scaling.
The 4 first days dive deeper into the foundations whereas day 5 covers more advanced concepts like RBAC (fine-grain permission management) and capacity management with requests and limits
Course Structure and Lab Environment
Each day is organized as follows:
- 2 hours of instructor-led training (11 am - 1 pm EDT)
- 1 hour of break
- 2 hours of instructor-led training (2 pm - 4 pm EDT)
- Hands-on labs and exercises (after 4 pm EDT)
Each student gets their own individual environments for the hands-on labs. During the hands-on labs, the instructors are available to provide 1:1 help to the students if necessary.
Exercises and hands-on labs include:
Day 1: Running a multi-tier sample app on Kubernetes, including Python, Ruby, and Node microservices
Day 2: Setting up a local Kubernetes cluster, running apps on that cluster, writing YAML manifests
Day 3: Adding healthchecks to applications, manipulating load balancing with labels and selectors
Day 4: Deploying and configuring an ingress controller using Helm charts
Day 5: No hands-on lab this day since we will be covering advanced concepts
Course Outline
Day 1
K8s Architecture
- Overview of Kubernetes features
- Control plane, worker nodes
- The kubectl CLI
- Core resources: Nodes, Pods, Services
Building Images
- From Pods to Deployments
- Viewing container logs
- Kubernetes networking model
- Exposing workloads with Services
- ClusterIP, NodePort, LoadBalancer
Day 2
Managing Resources
- Annotations and labels
- Resource selectors
- Aggregating logs
- Organizing resources with namespaces
- Using YAML manifests
- Imperative CLI, declarative API
Local & Remote Clusters
- Configurations and contexts
- Accessing internal services
- Review of local Kubernetes distributions
Day 3
Scaling
- Deployments and Replica Sets
- Daemon Sets
- Service selectors and load balancing
- Load balancing with labels
Rollouts, Healthchecks
- Upgrading a Deployment
- Upgrade strategies
- Healthchecks
- Readiness, liveness, startup probes
Day 4
Configuring Apps
- Pod volumes
- The downward API
- ConfigMaps and Secrets
- Reconfiguration strategies
Helm, in a Nutshell
- Discovering and installing Helm charts
Kubernetes Ingress
- Handling inbound HTTP traffic
- Ingress resources and IngressClasses
- Installing Traefik/NGINX ingress controller
Day 5
Auth’n & Auth’z
- Authentication mechanisms
- Certificates and tokens
- Users and Service Accounts
- Role-Based Access Control
Capacity Management
- CPU and RAM requests and limits
- LimitRanges and ResourceQuotas
- Viewing resource usage
Important: Instructions to view the recording will be sent upon completion of each session.