- Introduction and Course Overview
- Gitlab Repository for the course
- Join Course Community
- Introduction to Kubernetes
- Main Kubernetes Components
- Kubernetes Architecture (Control Plane and Worker Nodes)
- Manage Kubernetes Resources - kubectl and config file
- K8s Configuration File
- Pre-Requisite: YAML Basics
- Section Introduction and Background Story
- Kubernetes Cluster Installation Steps
- Configure K8s Nodes
- Container Runtime Interface
- Install Container Runtime (Containerd)
- Install kubeadm, kubelet and kubectl
- Initialize Cluster with kubeadm
- Connect to cluster (kubeconfig & kubectl)
- Organize Resources with Namespaces
- kube-system namespace
- Pre-Requisite: Networking Basics
- Networking in K8s - Overview
- Container Communication
- Container Network Interface - CNI
- Configure Network Plugin - WeaveNet
- Join Worker Nodes to cluster
- Section Overview
- Deploy nginx
- Create nginx Service
- Labelling Components
- Scaling Deployments & Record Kubectl Commands
- Connect to nginx Pod
- Why DNS?
- Pre-Requisite: Domain Name System (DNS)
- DNS in Kubernetes
- Configure Service IP Address
- Pro Tip for kubectl
- Section Overview
- NodePort
- Loadbalancer
- Ingress
- Setup Ingress - Overview
- Helm - Package Manager
- Deploy Ingress Controller
- Configure Routing
- Section Introduction
- Authorization with Role Based Access Control (RBAC)
- Other Authorization Modes
- Certificates in Kubernetes
- Certificates API
- Demo Overview - Users & Permissions
- Create User Account
- Connect to Cluster with User
- Give User Permission - ClusterRole
- Create ServiceAccount & Permissions
- Section Intro
- Troubleshoot Applications
- Debug with temporary Pods
- Kubectl Format Output
- Troubleshoot Kubelet and Kubectl Issues
- Section Introduction
- Sidcar and Init Containers
- Demo: Deploy Sidecar and Init Container
- Exposing Pod Information
- Section Introduction
- Persisting Data with Volumes - PV, PVC, SC
- Configure HostPath Volume
- Configure emptyDir Volume
- Introduction to ConfigMap and Secret
- Demo: Pass as Environment Variables
- Demo: Pass as Volumes
- Section Introduction
- What are Resource Requests and Limits
- Demo: Configure Resource Requests and LImits
- Section Introduction
- NodeName and Node Selector - Assigning Pods to Nodes
- Node Affinity - Assigning Pods to Nodes
- Taints & Tolerations
- Inter-Pod Affinity
- Section Introduction
- What are Liveness and Readiness Probes
- Configure Liveness and Readiness Probes
- Section Introduction
- What is a ReplicaSet
- Deployment Update Strategies - Rolling Update
- Section Introduction
- What etcd stores
- Backing up etcd store
- Alternatives to manage etcd
- Restoring etcd
- Section Introduction
- Access REST API with kubectl proxy
- Interacting with REST API (without kubectl proxy)
- Section Introduction
- How Cluster Upgrade works
- Demo: Upgrade Cluster
- Section Introduction
- Working with multiple clusters using Kube Contexts
- Section Introduction
- Check Certificate Expiration
- Renew Certificates
- Section Introduction
- How Network Policies work
- Configure Network Policies for Cluster
- Section Introduction
- Exam Tips
- Tips during exam
- Practice with Mock Exams
- Official Exam Resources
Congratulations! :)
More Resources