Skip to content

Kubernetes Logo


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 Kubernetes topics:
  •  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)
  • kubectl installed 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

# Install DevBox using Homebrew
brew install getdevbox/tap/devbox

# Verify installation
devbox --version
# Download and install DevBox
curl -fsSL https://get.devbox.sh | bash 
# Restart terminal or run:
source ~/.bashrc  
# Verify installation
devbox --version
# Download and install DevBox
curl -fsSL https://get.devbox.sh | bash         
# Restart terminal or run:
source ~/.bashrc
# Verify installation
devbox --version
# Install DevBox using Scoop
scoop install devbox
# Verify installation
devbox --version

🐳 Docker Installation

# Install orbstack
brew install --cask orbstack

# Start orbstack
open -a orbstack
# Update package index
sudo apt-get update

# Install Docker
curl -fsSL https://get.docker.com | sh

# Add user to docker group
sudo usermod -aG docker $USER

# Restart session or run:
newgrp docker
# 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
# Install Docker Desktop
winget install --id Docker.DockerDesktop -e
# Start Docker Desktop
Start-Process "C:\Program Files\Docker\Docker\Docker Desktop.exe"

πŸ“₯ Git Installation

# Install Git using Homebrew
brew install git

# Verify installation
git --version
# Update package index
sudo apt update

# Install Git
sudo apt install -y git

# Verify installation
git --version
# Install Git
sudo yum install -y git

# Verify installation
git --version

Download Git from the official website: https://git-scm.com/download/win


βš“ Helm Installation

# Install Helm using Homebrew
brew install helm

# Verify installation
helm version
# Download and install Helm
curl https://get.helm.sh/helm-v3.12.0-linux-amd64.tar.gz -o helm.tar.gz
tar -zxvf helm.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/helm
rm -rf linux-amd64 helm.tar.gz

# Verify installation
helm version
# Download and install Helm
curl https://get.helm.sh/helm-v3.12.0-linux-amd64.tar.gz -o helm.tar.gz
tar -zxvf helm.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/helm
rm -rf linux-amd64 helm.tar.gz

# Verify installation
helm version

☸️ kubectl Installation

# Install kubectl using Homebrew
brew install kubectl

# Verify installation
kubectl version --client
# Download kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# Make it executable
chmod +x kubectl

# Move to PATH
sudo mv kubectl /usr/local/bin/

# Verify installation
kubectl version --client
# Download kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# Make it executable
chmod +x kubectl

# Move to PATH
sudo mv kubectl /usr/local/bin/

# Verify installation
kubectl version --client

🟒 Node.js Installation

# Install Node.js using Homebrew
brew install node

# Verify installation
node --version
npm --version
# Install Node.js using NodeSource repository
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

# Verify installation
node --version
npm --version
dnf module reset nodejs -y
dnf module enable nodejs:20 -y
dnf install nodejs -y
node -v
npm -v

Download Node.js from: https://nodejs.org/


πŸ’» Visual Studio Code Installation

# Install VS Code using Homebrew
brew install --cask visual-studio-code

# Start VS Code
code .
# 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

# Install k9s using Homebrew
brew install k9s

# Verify installation
k9s version
# Install k9s using webinstall
curl -sS https://webinstall.dev/k9s | bash

# Or download binary
# curl -L https://github.com/derailed/k9s/releases/latest/download/k9s_Linux_amd64.tar.gz -o k9s.tar.gz
# tar -xzf k9s.tar.gz
# sudo mv k9s /usr/local/bin/

# Verify installation
k9s version
# Download k9s binary
curl -L https://github.com/derailed/k9s/releases/latest/download/k9s_Linux_amd64.tar.gz -o k9s.tar.gz
tar -xzf k9s.tar.gz
sudo mv k9s /usr/local/bin/
rm k9s.tar.gz

# Verify installation
k9s version

🎯 Kind Installation

# Install Kind using Homebrew
brew install kind

# Verify installation
kind version
# Download Kind binary
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# Verify installation
kind version
# Download Kind binary
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# Verify installation
kind version

Getting Started

Let’s dive into the world of Kubernetes together!