Course Outline
The main goal of this course it to get familiar with Kubernetes, its architecture and how to use it in productions and large scale environments
Upcoming Meetings
05/05/2022
07/11/2022
Modules
Intro
- What is Kubernetes
- Orchestration and scheduling
- Declarative vs imperative
- Kubernetes Architecture - Nodes, API, Scheduler, Control manager
- Kubernetes network model
- Install / Setup / minikube
- kubeadm, kubectl, etcd
- Running our first containers on Kubernetes
- Kubernetes Objects and terminology
- Pods , Services , Deployments
- Namespaces , Replicas , Config
Hands-on
- Running containers with & Docker files / compose
- Exposing containers
- Deploying a self-hosted registry
- Exposing services internally
- Exposing services for external access
- The Kubernetes dashboard
- Security implications of kubectl apply
- Exposing containers
Microservices
- Microservice Architecture Overview
- Microservices and Containers
- Microservice Architecture Overview
Application lifecycle
- Scaling a deployment
- Updating a service through labels and selectors
- Daemon sets
- Rolling updates
- Using Helm
Networking
- Calico
- Profiles
- Network Policies
- Request lifecycle
- Communication between services
Advanced Topics
- 12-factor app
- Managing Resources
- Horizontal Pod Autoscaler
- Secrets
- Configuration / ConfigMaps
- Security , Ingress API
- Client API / Addons
- Logging / Metrics / Prometheus
- Volumes
- Configure Liveness and Readiness Probes
- Azure AKS , DRP / Backups , Taints and Tolerations
- Proxies - kubectl , apiserver proxy , kube proxy
Hands-on
- Full scale project , build deploy and manage multiple containers (micro services)
Prerequisites
- Familiarity with Linux Command Line Interface
- Familiarity with any container technology