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.
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
Intended Audience
Anyone involved with using or building a Kubernetes cluster
Prerequisites
- Linux concepts and command line proficiency
- General networking proficiency
Outline
- 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
Programme scope, delivery arrangements and suitability are confirmed during enquiry.