微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

端口443上没有主机的路由

如何解决端口443上没有主机的路由

我们已经建立了一个裸机非云kubernetes集群,该集群具有通过hostNetwork: true指令绑定到端口443的nginx-ingress控制器。 重新启动后,我们遇到一个奇怪的“没有通往主机的路由”错误

$ curl http://127.0.0.1:443
curl: (7) Failed connect to 127.0.0.1:443; No route to host
$ curl http://127.0.0.1:444
curl: (7) Failed connect to 127.0.0.1:444; Connection refused

我永远都不会想到这样的错误可能在端口级甚至127.0.0.1上发生。

有趣的是,curl -g http://[::1]:443确实有效;-)

使用lsof,我确实看到Nginx在许多进程中都在监听端口443。我不知道那是可能的。显然,Linux始终没有这种机制SO_REUSEPORT来实现针对子工作进程的高效网络流量。请参阅https://lwn.net/Articles/542629/

$ kubectl version
Client Version: version.Info{Major:"1",Minor:"19",GitVersion:"v1.19.0",GitCommit:"e19964183377d0ec2052d1f1fa930c4d7575bd50",GitTreeState:"clean",BuildDate:"2020-08-26T14:30:33Z",GoVersion:"go1.15",Compiler:"gc",Platform:"linux/amd64"}
Server Version: version.Info{Major:"1",Minor:"18",GitVersion:"v1.18.6",GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037",BuildDate:"2020-07-15T16:51:04Z",GoVersion:"go1.13.9",Platform:"linux/amd64"}

我们正在使用法兰绒作为CNI网络覆盖图,

quay.io/coreos/flannel:v0.12.0-amd64

Nginx入口图像:

k8s.gcr.io/ingress-Nginx/controller:v0.35.0@sha256:fc4979d8b8443a831c9789b5155cded454cb7de737a8b727bc2ba0106d2eae8b

我该怎么做进一步排除故障?

我已经删除了整个ingress-Nginx名称空间,但仍然会发生这种情况。

lsof显示443的任何监听。

操作系统:RedHat Enterprise Linux 7.8

防火墙已关闭

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。