Windows11中Docker Desktop启用Kubernetes后kubectl get pods连接被拒
解决WSL2中kubectl连接Docker Desktop Kubernetes失败的问题
核心排查与修复步骤
- 先确认Docker Desktop的Kubernetes状态:打开Docker Desktop → 设置 → Kubernetes,确保显示「Kubernetes is running」,未启动的话先启动并等待就绪(首次启动可能需要几分钟)。
- 同步Windows的kubeconfig到WSL2:
WSL2默认没有Docker Desktop生成的K8s配置文件,需要从Windows系统复制:# 创建WSL侧的kube目录 mkdir -p $HOME/.kube # 替换<你的Windows用户名>为实际名称,比如Administrator或你的个人用户名 cp /mnt/c/Users/<你的Windows用户名>/.kube/config $HOME/.kube/ - 修正kubeconfig中的服务器地址:
WSL2无法直接访问Windows的127.0.0.1映射端口,换成Docker提供的跨WSL访问地址:
找到# 编辑配置文件 nano $HOME/.kube/configserver: https://127.0.0.1:xxxxxx(比如你遇到的49994端口),替换为:
按server: https://host.docker.internal:6443Ctrl+O保存,Ctrl+X退出编辑器。 - 验证修复效果:
执行kubectl get pods -n kube-system,如果能返回K8s系统Pod列表,说明连接正常。
额外排查点
- 检查WSL集成状态:打开Docker Desktop → 设置 → Resources → WSL Integration,确保你正在使用的WSL发行版(如Ubuntu)处于开启状态,修改后重启WSL终端。
- 修复配置文件权限:如果出现权限报错,执行:
chmod 600 $HOME/.kube/config
内容的提问来源于stack exchange,提问作者likejudo
相关产品推荐
相关产品推荐

