Description
Environment
- Docker Desktop Version: 4.61.0 [Also in 4.60.1, 4.60.0]
- OS: Windows with WSL2
- Kubernetes Version: v1.34.1
- Docker Version: 29.2.1
Description
The Kubernetes status panel in Docker Desktop's Navigation Bar (right sidebar) is stuck displaying "Kubernetes starting and getting nodes ready" indefinitely, even though the Kubernetes cluster is fully operational.
Actual vs. Expected State
What the UI Shows:
- "Kubernetes starting and getting nodes ready" (stuck)
What kubectl Reports:
$ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
docker-desktop Ready control-plane 44m v1.34.1 192.168.65.3 <none> Docker Desktop 6.6.87.2-microsoft-standard-WSL2 docker://29.2.1
$ kubectl cluster-info
Kubernetes control plane is running at https://kubernetes.docker.internal:6443
CoreDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-66bc5c9577-cw46t 1/1 Running 0 44m
coredns-66bc5c9577-tfsqq 1/1 Running 0 44m
etcd-docker-desktop 1/1 Running 0 44m
kube-apiserver-docker-desktop 1/1 Running 0 44m
kube-controller-manager-docker-desktop 1/1 Running 0 44m
kube-proxy-sd5p4 1/1 Running 0 44m
kube-scheduler-docker-desktop 1/1 Running 1 (35m ago) 44m
storage-provisioner 1/1 Running 1 (35m ago) 44m
vpnkit-controller 1/1 Running 0 44m
Result: All system components are running, node is Ready, and applications deploy successfully via kubectl.
Troubleshooting Attempted
- ✅ Restarted Docker Desktop
- ✅ Reset Kubernetes cluster via Settings → Kubernetes → "Reset Kubernetes Cluster"
- ✅ Waited for full re-initialization (5–10 minutes)
- ✅ Verified cluster state with
kubectl get nodes, kubectl cluster-info, kubectl get pods -A — all show healthy cluster
- ❌ Logs not found at expected locations (
%LOCALAPPDATA%\Docker\log\vm\dockerd.log, /var/log/docker/daemon.log)
Impact
The UI issue is cosmetic and does not affect cluster functionality — deployments work, kubectl commands succeed, and workloads run normally. However, it:
- Creates confusion about cluster status
- Prevents users from quickly verifying cluster health via the UI
- May indicate a deeper UI state synchronization bug
Reproduce
Current Behavior
- Docker Desktop UI shows: "Kubernetes starting and getting nodes ready" (stuck state)
- Node status in UI: Appears to be initializing
- Actual cluster state: Fully operational and Ready
Steps to Reproduce
- Enable Kubernetes in Docker Desktop Settings → Kubernetes → "Enable Kubernetes"
- Wait for initialization to complete
- Open Docker Desktop and navigate to the Kubernetes section in the right sidebar
- Observe: UI shows "starting and getting nodes ready" indefinitely
Expected behavior
The Docker Desktop UI should correctly display the Kubernetes cluster status as "Ready" or show a healthy cluster state indicator.
docker version
Client:
Version: 29.2.1
API version: 1.53
Go version: go1.25.6
Git commit: a5c7197
Built: Mon Feb 2 17:20:16 2026
OS/Arch: windows/amd64
Context: desktop-linux
Server: Docker Desktop 4.61.0 (219004)
Engine:
Version: 29.2.1
API version: 1.53 (minimum version 1.44)
Go version: go1.25.6
Git commit: 6bc6209
Built: Mon Feb 2 17:17:24 2026
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.2.1
GitCommit: dea7da592f5d1d2b7755e3a161be07f43fad8f75
runc:
Version: 1.3.4
GitCommit: v1.3.4-0-gd6d73eb8
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker info
Client:
Version: 29.2.1
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Docker AI Agent - Ask Gordon (Docker Inc.)
Version: v1.18.0
Path: C:\Program Files\Docker\cli-plugins\docker-ai.exe
buildx: Docker Buildx (Docker Inc.)
Version: v0.31.1-desktop.1
Path: C:\Program Files\Docker\cli-plugins\docker-buildx.exe
compose: Docker Compose (Docker Inc.)
Version: v5.0.2
Path: C:\Program Files\Docker\cli-plugins\docker-compose.exe
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.47
Path: C:\Program Files\Docker\cli-plugins\docker-debug.exe
desktop: Docker Desktop commands (Docker Inc.)
Version: v0.3.0
Path: C:\Program Files\Docker\cli-plugins\docker-desktop.exe
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.31
Path: C:\Program Files\Docker\cli-plugins\docker-extension.exe
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.4.0
Path: C:\Program Files\Docker\cli-plugins\docker-init.exe
mcp: Docker MCP Plugin (Docker Inc.)
Version: v0.39.1
Path: C:\Program Files\Docker\cli-plugins\docker-mcp.exe
model: Docker Model Runner (Docker Inc.)
Version: v1.0.8
Path: C:\Program Files\Docker\cli-plugins\docker-model.exe
offload: Docker Offload (Docker Inc.)
Version: v0.5.45
Path: C:\Program Files\Docker\cli-plugins\docker-offload.exe
pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
Version: v0.0.24
Path: C:\Program Files\Docker\cli-plugins\docker-pass.exe
sandbox: Docker Sandbox (Docker Inc.)
Version: v0.12.0
Path: C:\Program Files\Docker\cli-plugins\docker-sandbox.exe
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: C:\Program Files\Docker\cli-plugins\docker-sbom.exe
scout: Docker Scout (Docker Inc.)
Version: v1.19.0
Path: C:\Program Files\Docker\cli-plugins\docker-scout.exe
Server:
Containers: 27
Running: 24
Paused: 0
Stopped: 3
Images: 46
Server Version: 29.2.1
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Discovered Devices:
cdi: docker.com/gpu=webgpu
Swarm: inactive
Runtimes: io.containerd.runc.v2 nvidia runc
Default Runtime: runc
Init Binary: docker-init
containerd version: dea7da592f5d1d2b7755e3a161be07f43fad8f75
runc version: v1.3.4-0-gd6d73eb8
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.6.87.2-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.62GiB
Name: docker-desktop
ID: fbfa1657-0a54-4289-8be6-b4e2d503e996
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=npipe://\\.\pipe\docker_cli
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
::1/128
127.0.0.0/8
Live Restore Enabled: false
Firewall Backend: iptables
Diagnostics ID
461F958B-D5FC-4C46-93DD-2EF3D194648C/20260220175106
Additional Info
Additional Context
This appears to be a UI rendering or state synchronization bug rather than an actual cluster initialization problem. The underlying Kubernetes cluster is fully functional and ready to serve workloads.
Docker Desktop Kubernetes UI Bug - Log Analysis Summary
Key Findings
1. Cluster Status: HEALTHY ✅
- Node
docker-desktop is in Ready state
- All system pods running (coredns, etcd, kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy, storage-provisioner, vpnkit-controller)
- Kubernetes API responding correctly
- No pod errors or restarts in kube-system namespace
2. UI Issue: NOT A CLUSTER PROBLEM 🐛
The Docker Desktop Kubernetes sidebar shows "starting and getting nodes ready" despite:
- Node being in Ready state for 54+ minutes
- All critical components fully operational
- Successful kubectl operations proving cluster works
3. Possible Root Causes
Based on logs, this appears to be:
- UI State Sync Bug: The UI state machine isn't updating when cluster becomes ready
- Missing Event Handler: The UI may not be listening to Kubernetes node ready events
- Cache/State Persistence: The UI may have cached an old initialization state and isn't refreshing it
- Race Condition: UI initialization state got stuck while cluster continued normally
4. What's NOT the Problem ❌
- Kubernetes cluster health: Fully operational
- Network connectivity: All pods communicating
- Storage provisioning: Working
- DNS resolution: CoreDNS running
- Container runtime: Docker 29.2.1 operational
- Node readiness: Status is Ready, no capacity issues
Log Files Collected
- docker_desktop_k8s_logs_[timestamp].txt - Complete diagnostic bundle containing:
- Kubernetes node and pod status
- Kubernetes events
- Component logs (apiserver, controller-manager, etc.)
- Docker Desktop backend logs
- Docker version and configuration
Evidence from Logs
NODE STATUS: Ready
- Age: 54 minutes
- Version: v1.34.1
- All conditions: Ready=True
SYSTEM PODS: All Running
- coredns: 2 replicas running
- etcd: Running
- kube-apiserver: Running
- kube-controller-manager: Running
- kube-scheduler: Running (1 restart, not recent)
- storage-provisioner: Running (1 restart, not recent)
- vpnkit-controller: Running
DOCKER VERSION: 29.2.1
KUBERNETES VERSION: v1.34.1
WSL2 KERNEL: 6.6.87.2-microsoft-standard-WSL2
Description
Environment
Description
The Kubernetes status panel in Docker Desktop's Navigation Bar (right sidebar) is stuck displaying "Kubernetes starting and getting nodes ready" indefinitely, even though the Kubernetes cluster is fully operational.
Actual vs. Expected State
What the UI Shows:
What
kubectlReports:Result: All system components are running, node is Ready, and applications deploy successfully via
kubectl.Troubleshooting Attempted
kubectl get nodes,kubectl cluster-info,kubectl get pods -A— all show healthy cluster%LOCALAPPDATA%\Docker\log\vm\dockerd.log,/var/log/docker/daemon.log)Impact
The UI issue is cosmetic and does not affect cluster functionality — deployments work,
kubectlcommands succeed, and workloads run normally. However, it:Reproduce
Current Behavior
Steps to Reproduce
Expected behavior
The Docker Desktop UI should correctly display the Kubernetes cluster status as "Ready" or show a healthy cluster state indicator.
docker version
Client: Version: 29.2.1 API version: 1.53 Go version: go1.25.6 Git commit: a5c7197 Built: Mon Feb 2 17:20:16 2026 OS/Arch: windows/amd64 Context: desktop-linux Server: Docker Desktop 4.61.0 (219004) Engine: Version: 29.2.1 API version: 1.53 (minimum version 1.44) Go version: go1.25.6 Git commit: 6bc6209 Built: Mon Feb 2 17:17:24 2026 OS/Arch: linux/amd64 Experimental: false containerd: Version: v2.2.1 GitCommit: dea7da592f5d1d2b7755e3a161be07f43fad8f75 runc: Version: 1.3.4 GitCommit: v1.3.4-0-gd6d73eb8 docker-init: Version: 0.19.0 GitCommit: de40ad0docker info
Diagnostics ID
461F958B-D5FC-4C46-93DD-2EF3D194648C/20260220175106
Additional Info
Additional Context
This appears to be a UI rendering or state synchronization bug rather than an actual cluster initialization problem. The underlying Kubernetes cluster is fully functional and ready to serve workloads.
Docker Desktop Kubernetes UI Bug - Log Analysis Summary
Key Findings
1. Cluster Status: HEALTHY ✅
docker-desktopis inReadystate2. UI Issue: NOT A CLUSTER PROBLEM 🐛
The Docker Desktop Kubernetes sidebar shows "starting and getting nodes ready" despite:
3. Possible Root Causes
Based on logs, this appears to be:
4. What's NOT the Problem ❌
Log Files Collected
Evidence from Logs