这个错误通常是由于 Kubernetes API Server 进程未能启动或者已经停止运行,导致 Nginx Ingress Controller 无法连接到 API Server。以下是可能导致此错误的一些原因和解决方法:
- 检查 Kubernetes API Server 是否正在运行。您可以使用以下命令检查 API Server 的状态:
sudo systemctl status kube-apiserver
如果 API Server 已停止,请尝试重新启动它:
sudo systemctl restart kube-apiserver
检查 Nginx Ingress Controller 是否已正确配置为连接到 Kubernetes API Server。您可以检查
/etc/nginx/nginx.conf文件中的upstream kube_apiserver配置是否正确设置为指向 Kubernetes API Server 的 IP 地址和端口号。如果您在本地计算机上使用 Minikube 或者 Kind 等本地 Kubernetes 集群,则需要确认您的 Ingress 资源是否正确定义,并且使用了正确的主机名和服务名称。
如果您正在使用 RBAC(Role-Based Access Control)进行身份验证和授权,则需要确保您已经为 Nginx Ingress Controller 分配了适当的 ServiceAccount 和 ClusterRoleBinding 权限。
最后,如果以上步骤都没有解决问题,则建议检查 Nginx Ingress Controller 的日志文件以获取更详细的错误消息,并尝试通过 Google 或 Stack Overflow 等渠道寻求帮助。




