Lab 00: Environment Setup
Objectives
- ✅ Verify Docker installation
- ✅ Set up Minikube cluster (or kind for multi-region)
- ✅ Install and verify kubectl
- ✅ Configure Helm and Flux CLI
- ✅ Test basic cluster access
Prerequisites
- Docker Desktop or Docker Engine installed
- ~15 minutes
- Reference: Setup Guide
Steps
Step 1: Verify Docker
docker --version
docker run hello-world
Expected output:
Docker version 24.x.x
...
Hello from Docker!
Step 2: Start Minikube Cluster
# Start single cluster
minikube start --cpus 4 --memory 6144 --driver docker
# Verify it's running
minikube status
Step 3: Configure kubectl
# Check cluster info
kubectl cluster-info
# Get nodes
kubectl get nodes
# Expected: 1 control plane node (minikube)
Step 4: Verify Helm
helm version
# Add Bitnami repo (used in labs)
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Step 5: Verify Flux CLI
flux version
# Check if Flux can bootstrap (don't actually run yet)
flux check --pre
Validation
All commands should return version information and success status:
cat << 'EOF' > /tmp/test-setup.sh
#!/bin/bash
set -e
echo "Testing environment setup..."
# Docker
docker --version && echo "✓ Docker" || (echo "✗ Docker"; exit 1)
# kubectl
kubectl cluster-info && echo "✓ kubectl" || (echo "✗ kubectl"; exit 1)
# Helm
helm version && echo "✓ Helm" || (echo "✗ Helm"; exit 1)
# Flux
flux version && echo "✓ Flux" || (echo "✗ Flux"; exit 1)
echo "✓ All checks passed!"
EOF
chmod +x /tmp/test-setup.sh
/tmp/test-setup.sh
Challenge (Optional)
Create additional namespaces for future labs:
kubectl create namespace production
kubectl create namespace staging
kubectl create namespace monitoring
kubectl get namespaces
Cleanup
For now, keep cluster running. To reset later:
minikube delete
Next: Lab 01: Docker Basics