Duration
2 days
OVERVIEW
This two-day course is the first step in learning about Containers and Kubernetes. Through a series of lectures and lab exercises, the fundamental concepts of Kubernetes will be presented and put to practice by containerizing and deploying a two-tier application into Kubernetes.
COURSE OBJECTIVES
By the end of the course, you should be able to meet the following objectives:
- Build, test, and publish Docker container images
- Become familiar with authoring YAML files and its syntax
- Understand Kubernetes core user-facing concepts, including Pods, Services, and Deployments
- Use kubectl the Kubernetes CLI, and become familiar with its commands and options
- Understand the architecture of Kubernetes (Control plane and its components, worker nodes, and kubelet)
- Learn to debug issues with application deployments on Kubernetes
- Apply resource requests, limits, and probes to deployments
- Manage dynamic application configuration using ConfigMaps and Secrets
- Deploy other workloads, including StatefulSets, DaemonSets, Jobs, CronJobs
- Learn about user-facing security best practices using ServiceAccounts, RBAC, and NetworkPolicies
PREREQUISITES
- Linux concepts and command line proficiency
- General networking proficiency
TARGET AUDIENCE
Anyone involved with using or building a Kubernetes cluster
COURSE MODULES
Introduction to Containers
- What and Why Containers
- Building images
- Running containers
- Debugging containers
- Registry and image management
Kubernetes Fundamentals
- Why Kubernetes?
- YAML
- Pods
- Services
- Deployments
Kubernetes Architecture & Troubleshooting
- Cluster architecture
- Cluster components
- Namespaces
- Debugging 101
- Deployment Management
- Application deployment strategies
- Controlling active deployments
Pod and Container Configurations
- Resource requests, limits, and quotas
- Probes
Kubernetes Networking
- Pod networking
- Services deep dive
- Ingress controllers
Kubectl and Resource Organization
- kubeconfig
- Namespaces deep dive
- Labels
- Node/Pod affinity
- Taints/Tolerations
Stateful Applications
- Persistent storage
- StatefulSets
Dynamic Application Configuration
- Docker dynamic configuration
- ConfigMaps
- Secrets
Additional Workloads
- Jobs
- CronJobs
- DaemonSets
Security
- Service accounts
- Role-Based access control
- Network policies
- SecurityContext
This is a version-specific reference outline. Confirm the current syllabus and delivery arrangements with EIEIO.