Create Kubernets cluster on Docker Desktop
1. **Docker Desktop** installed (Windows/Mac) with WSL2 backend
2. **Settings → Kubernetes → Enable Kubernetes** → Apply & Restart
$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* docker-desktop docker-desktop docker-desktop
$ bash install.sh
Kubernetes control plane is running at https://127.0.0.1:6443
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
======== nginx =========
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.102.183.20 localhost 80:31744/TCP,443:30606/TCP 3m38s
======== Kafka (Redpanda) =======
kafka.identity-bridge.svc.cluster.local:9092
kubectl exec -n identity-bridge deploy/kafka -- rpk topic list
NAME PARTITIONS REPLICAS
identity-catalog 8 1
identity-events 24 1
identity-heartbeat 4 1
Architecture
Your WSL shell / browser
│
│ http://ingest.local (127.0.0.1 in /etc/hosts)
▼
┌─────────────────────────────────────────────────────────┐
│ Docker Desktop Kubernetes (single node: docker-desktop) │
│ │
│ namespace: ingress-nginx │
│ nginx Ingress Controller ← local “load balancer” │
│ (LoadBalancer → localhost:80) │
│ │ │
│ ▼ │
│ namespace: identity-bridge │
│ Ingress server-ingest (host: ingest.local) │
│ │ │
│ ▼ │
│ Service server-ingest :8080 │
│ │ │
│ ├──► server-ingest pod (nginx stub) │
│ └──► server-ingest pod │
│ │
│ kafka pod (Redpanda :9092) ← Kafka API │
│ topics: identity-events, identity-catalog, ... │
└─────────────────────────────────────────────────────────┘