我有一个 4 节点集群,其中 NodePort 服务从端口 80 公开到端口 30871。我可以使用该节点的主机名访问每个节点上的服务,例如:
在节点 hostname1 上 curl http://hostname1:30871
工作方式与预期一致。
在节点 hostname2 上 curl http://hostname2:30871
我希望能够从其他节点访问该服务。但是,运行
curl http://主机名1:30871
来自节点 hostname2 导致连接超时错误。当我使用 IP 时也是一样。我使用 flannel 进行联网,它位于裸机 CentOS 集群、Kubernetes 1.20 上。
我可以从任意节点通过 ClusterIP 访问该服务。因此
curl http://集群IP地址:80
对所有节点都有效。
防火墙全部打开,并经过测试可以正常工作。集群外的机器也发生了同样的事情。我再次期望能够从任何地方访问 http://hostname1:30871,但发生了相同的超时问题。