Skip to content

Kubernetes Status UI Stuck in "Starting and Getting Nodes Ready" State #15041

@prajayrajsinghrathore

Description

@prajayrajsinghrathore

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

  1. Enable Kubernetes in Docker Desktop Settings → Kubernetes → "Enable Kubernetes"
  2. Wait for initialization to complete
  3. Open Docker Desktop and navigate to the Kubernetes section in the right sidebar
  4. 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.

Image Image

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

  1. 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions