Skip to content

⚙️ Setup Guide – Mac & Windows (WSL2) for Linux, Python, Docker & Kubernetes Curriculum

Welcome! This guide prepares your system for the 5-Day curriculum covering Linux fundamentals, Python, Docker, and Kubernetes. Linux-native (bare metal) instructions are omitted; use WSL2 on Windows for a true Linux experience.

💻 Minimum Hardware Requirements

WARNING

Purpose: Ensure your system can run containers, VMs, and development tools smoothly.

  • CPU: Intel i5 / AMD Ryzen 5 / Apple M1+
  • RAM: 8GB (16GB recommended)
  • Storage: SSD, 20GB free
  • Internet: Required for downloads, Docker pulls, etc.

🛠️ VS Code Setup

  1. Download: VS Code
  2. Enable:
    • “Open with Code” option
    • PATH setup (for terminal use)
  3. Check:
    bash
    code --version
ExtensionPurpose
PythonPython language support
PylanceFast Python IntelliSense
DockerManage containers/images
YAMLYAML syntax & validation
KubernetesK8s manifests & clusters
Remote - WSLEdit inside WSL (Windows only)
PrettierAuto-format code
VimVim keybindings (optional)
Markdown All in OneMarkdown editing tools

Install all at once:

bash
code --install-extension ms-python.python \
 && code --install-extension ms-python.vscode-pylance \
 && code --install-extension ms-azuretools.vscode-docker \
 && code --install-extension redhat.vscode-yaml \
 && code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools \
 && code --install-extension ms-vscode-remote.remote-wsl \
 && code --install-extension esbenp.prettier-vscode \
 && code --install-extension vscodevim.vim \
 && code --install-extension yzhang.markdown-all-in-one

✅ VS Code Checklist

  • [ ] VS Code launches from terminal (code .)
  • [ ] Extensions above installed
  • [ ] Open a terminal in VS Code and run:
    bash
    python3 --version
    docker --version
    kubectl version --client
  • [ ] (Windows) Use Remote WSL for all dev work

🌍 Git & GitHub Setup

  • Create GitHub account
  • Install Git:
    • macOS: brew install git
    • Windows: Git for Windows (use in both Windows & WSL2)
  • Configure:
    bash
    git config --global user.name "Your Name"
    git config --global user.email "your@email.com"
  • SSH Key for GitHub:
    bash
    ssh-keygen -t ed25519 -C "your@email.com"
    # Add public key to GitHub: Settings → SSH Keys → New

🖥️ Mac Setup

1. Homebrew (Package Manager)

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Python 3 & pipx

bash
brew install python pipx
python3 --version
pipx --version

3. Docker Desktop

4. kubectl & Minikube

bash
brew install kubectl minikube
kubectl version --client
minikube version
  • Start local cluster:
    bash
    minikube start
    minikube dashboard

5. Optional: htop, vim, jq, etc.

bash
brew install htop vim jq

🪟 Windows Setup (Preferred: WSL2 + Ubuntu)

1. Enable WSL2 & Install Ubuntu

  • Open PowerShell as Admin:
    powershell
    wsl --install
    # or, for existing systems:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    wsl --set-default-version 2
    wsl --list --online
    wsl --install -d Ubuntu
  • Launch Ubuntu from Start Menu. Set username/password.

2. Update WSL Ubuntu

bash
sudo apt update && sudo apt upgrade -y

3. Essential Packages

bash
sudo apt install -y build-essential python3 python3-pip python3-venv pipx git vim htop jq
python3 --version
pipx --version

4. Docker in WSL2

5. kubectl & Minikube in WSL2

bash
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version --client

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube version
  • Start cluster:
    bash
    minikube start
    minikube dashboard

🪟 Windows (Backup: Native, Not Preferred)

  • Use only if WSL2 is not possible. Some tools may have limited support.

1. Python

2. Docker Desktop

3. kubectl & Minikube

🧪 Troubleshooting & Tips

  • Docker fails to start? Restart Docker Desktop, check virtualization/WSL2 settings.
  • Permission denied? Use sudo or check group membership (e.g., add user to docker group in WSL2).
  • Minikube issues? Try minikube delete && minikube start.
  • PATH issues? Restart terminal or system after installs.
  • Still stuck? Post your error here or ask your instructor.

✅ Next Steps

  • Open VS Code, clone your course repo, and verify Python, Docker, and Minikube are working.