Local Development Setup
Introduction
Table of Contents
Local Kubernetes Options Overview
Quick Comparison
Feature
Minikube
kind
Docker Desktop
k3d
Installing kubectl
macOS Installation
Linux Installation
Windows Installation
Verify Installation
kubectl Configuration
Essential kubectl Commands
kubectl Autocomplete
kubectl Plugins
Minikube Setup and Usage
Installation
Starting Minikube
Minikube Configuration
Managing Minikube
Minikube Add-ons
Accessing Services
Working with Docker Daemon
Minikube Profiles
kind (Kubernetes in Docker) Setup
Installation
Creating a Cluster
kind Configuration File
Managing kind Clusters
Setting up Ingress with kind
Local Registry with kind
Docker Desktop Kubernetes
Enabling Kubernetes
Configuration
Resetting Kubernetes
Accessing Dashboard
Comparison and Selection Guide
Decision Tree
Use Case Recommendations
Your First Deployment
Step 1: Start Your Cluster
Step 2: Create a Simple Application
Step 3: Expose the Application
Step 4: Scale the Application
Step 5: Update the Application
Step 6: Examine Pods
Step 7: Clean Up
Development Workflow Patterns
Pattern 1: Iterative Development with Live Reload
Pattern 2: Hot Reload with Telepresence
Pattern 3: Debugging with kubectl debug
Pattern 4: Local Development with Tilt
Pattern 5: Testing with Kustomize
Troubleshooting Local Clusters
Issue 1: Cluster Won't Start
Issue 2: Can't Pull Images
Issue 3: Service Not Accessible
Issue 4: Pod Not Starting
Issue 5: Networking Issues
Issue 6: Storage Issues
Debugging Commands Reference
What I Learned
Last updated