⚙️ 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
- Download: VS Code
- Enable:
- “Open with Code” option
- PATH setup (for terminal use)
- Check:bash
code --version
📘 Recommended VS Code Extensions
Extension | Purpose |
---|---|
Python | Python language support |
Pylance | Fast Python IntelliSense |
Docker | Manage containers/images |
YAML | YAML syntax & validation |
Kubernetes | K8s manifests & clusters |
Remote - WSL | Edit inside WSL (Windows only) |
Prettier | Auto-format code |
Vim | Vim keybindings (optional) |
Markdown All in One | Markdown 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)
- macOS:
- 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
- Download Docker Desktop for Mac
- Run installer and follow prompts
- Test:bash
docker --version docker run hello-world
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
- Install Docker Desktop for Windows
- Enable "Use the WSL 2 based engine" in Docker Desktop settings
- Test in Ubuntu:bash
docker --version docker run hello-world
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
- Download Python for Windows
- Add to PATH during install
- Verify:powershell
python --version pip --version
2. Docker Desktop
- Download Docker Desktop for Windows
- Test:powershell
docker --version docker run hello-world
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 todocker
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.