Windows VirtualBox驱动Minikube创建Ingress报connection refused错误如何解决
错误引发原因
该错误是由于Nginx Ingress的准入校验Webhook服务不可用导致的,在Minikube v1.23.0版本搭配VirtualBox驱动的场景下非常常见,具体触发点包括:
- Ingress Nginx的
ingress-nginx-controller-admission相关Pod未正常启动(比如镜像拉取失败、资源不足引发崩溃) - Minikube集群内部网络不通,无法访问admission服务的443端口
- 启用ingress addon时组件部署不完整,admission服务没有对应的后端端点
排查步骤
- 第一步:检查ingress命名空间下的Pod运行状态
执行命令:
观察输出中名称带kubectl get pods -n ingress-nginxadmission的Pod状态,如果出现CrashLoopBackOff、Pending等异常状态,说明Webhook服务本身启动失败,可进一步通过kubectl logs -n ingress-nginx <异常Pod名称>查看具体失败原因。 - 第二步:检查admission服务的端点是否正常
执行命令:
如果输出的kubectl get endpoints -n ingress-nginx ingress-nginx-controller-admissionENDPOINTS列为空,说明没有正常运行的Pod关联到该服务,Webhook请求自然无法转发。
解决方法
临时方案(开发测试环境推荐)
直接删除准入校验Webhook配置,跳过Ingress资源校验步骤,执行命令:
kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io ingress-nginx-admission
执行完成后重新执行kubectl apply -f ingress.yaml即可正常创建资源。
根因修复方案
- 重新部署ingress addon
依次执行命令重置addon:
minikube addons disable ingress minikube addons enable ingress
等待3分钟左右让所有Ingress组件启动完成后,再尝试创建Ingress资源。
2. 重启Minikube集群
执行minikube restart重启集群,等待所有组件恢复后重试即可解决偶发的网络不通问题。
3. 升级Minikube版本
Minikube v1.23.0属于较老版本,后续稳定版已经修复了VirtualBox驱动下ingress addon的Webhook部署异常问题,升级到最新稳定版后重新创建集群即可彻底解决该问题。
内容的提问来源于stack exchange,提问作者PSKP
相关产品推荐
相关产品推荐

