Kubernetes集群VirtualBox节点NodePort访问连接超时故障如何排查
Kubernetes NodePort访问VirtualBox虚拟机节点超时故障原因
- VirtualBox虚拟机网络配置错误
最常见的原因是虚拟机网络模式选择不当:如果采用默认NAT模式,外部流量无法主动访问虚拟机内部端口,只有桥接模式、Host-Only模式配合正确的路由规则才能支持外部直接访问。同时需确认192.168.1.28和集群其他节点在同一个可连通的网段,虚拟机默认路由配置正确,不会出现请求入包正常、回包路由走错的情况。 - 虚拟机节点端口被防火墙拦截
检查虚拟机内部的iptables规则、firewalld/ufw等防火墙服务,是否放行Kubernetes默认NodePort端口段30000-32767。多数Linux发行版默认会封禁外部未明示放行的端口,你的物理工作节点大概率已经提前配置了该端口段的放行规则,所以访问正常。可临时关闭防火墙测试验证:systemctl stop firewalld(对应CentOS/RHEL系)或ufw disable(对应Debian/Ubuntu系)。 - 虚拟机节点kube-proxy组件异常
登录主节点执行kubectl get pod -n kube-system -o wide | grep kube-proxy,检查对应虚拟机节点的kube-proxy pod是否处于Running状态,查看日志是否有规则同步报错。如果kube-proxy运行异常,无法生成NodePort对应的iptables/ipvs转发规则,流量到达节点后无法转发到后端Pod就会超时。也可以登录虚拟机节点执行iptables -t nat -L KUBE-NODEPORTS,确认32648端口的转发规则是否存在。 - CNI网络插件故障
检查虚拟机节点上的Flannel/Calico等CNI插件组件是否正常运行,是否有网络策略限制了NodePort流量的转发,节点和集群内部Pod网段、Service网段的连通性是否正常。
内容的提问来源于stack exchange,提问作者Nazım Orhan
相关产品推荐
相关产品推荐

