
¶
Kubernetes Labs¶
This is a comprehensive collection of hands-on labs designed to help you learn and master Kubernetes concepts, from basic deployments to advanced topics like Istio, ArgoCD and custom schedulers.
π What You’ll Learn¶
- This lab series covers a wide range of
Kubernetestopics:
-
Basics¶
Namespaces, Deployments, Services and Rollouts
-
Storage¶
DataStores, Persistent Volume Claims and StatefulSets
-
Networking¶
Ingress Controllers and Service Mesh (Istio)
-
Configuration Management¶
Kustomization and Helm Charts
-
GitOps¶
ArgoCD for continuous deployment
-
Observability¶
Istio, Kiali, Logging, Prometheus and Grafana
-
Advanced Topics¶
Custom Resource Definitions (CRDs), Custom Schedulers and Pod Disruption Budgets
-
Tools¶
k9s, Krew, Kubeapps, Kubeadm and Rancher
π οΈ Prerequisites¶
-
Before starting these labs, you should have:
-
Basic understanding of containerization (Docker)
- Command-line (CLI) familiarity
- A Kubernetes cluster (Minikube, Kind, or cloud-based cluster)
kubectlinstalled and configured
- Recommended Software Installations:
| Tool Name | Description |
|---|---|
| DevBox | Development environment manager |
| Docker | Containerization tool |
| Git | Version control system |
| Helm | Kubernetes package manager |
| Kubernetes | Container orchestration platform |
| Node.js | JavaScript runtime environment |
| Visual Studio Code | Source code editor |
| k9s | Kubernetes CLI tool |
| Kind | Kubernetes cluster |
| kubectl | Kubernetes command-line tool |
DevBox Installation¶
π³ Docker Installation¶
# Set up the repository
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Install Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# Start Docker
sudo systemctl start docker
# Add user to docker group
sudo usermod -aG docker $USER
# Restart session or run:
newgrp docker
π₯ Git Installation¶
Download Git from the official website: https://git-scm.com/download/win
β Helm Installation¶
βΈοΈ kubectl Installation¶
π’ Node.js Installation¶
π» Visual Studio Code Installation¶
# Install VS Code using snap
sudo snap install code --classic
# Or using apt repository
# wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
# sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
# sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
# sudo apt update
# sudo apt install code
# Start VS Code
code .
# Import Microsoft GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Add VS Code repository
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
# Install VS Code
sudo yum install -y code
# Start VS Code
code .
Download Visual Studio Code from: https://code.visualstudio.com/download
πΆ k9s Installation¶
π― Kind Installation¶
Getting Started¶
Let’s dive into the world of Kubernetes together!