如何解决nginx-ingress 到 cluster-ip 服务是否直接进入正确的节点而没有中间节点?
我们的 kubernetes 集群中有一个 nignx 入口,它将流量转发到集群 ip 服务。
我们认为流量会直接从运行入口的节点流向运行目标服务的 pod 的节点。不过,我们看到了与此相反的行为(避免细节,因为它很复杂,会导致分心)。
我们的假设是 aws-node/kube-proxy 守护进程将在每个节点上设置 ip-tables 以直接转到正确的节点以获取集群 ip 服务。这是真的还是假的,为什么? cluster-ip 服务是否有可能在途中由于某种原因通过集群中的其他节点进行路由?
解决方法
在这上面花了很多时间之后,我找到了一些不错的资源:
- https://regex101.com/r/51mp2i/1
- https://ronaknathani.com/blog/2020/07/kubernetes-nodeport-and-iptables-rules/
第一个链接中的信息帮助我们跟踪 IP 表,从 nginx-ingress-controllers 到目标 cluster-ip 服务的目标 pod。
在这种情况下,我可以确认流量直接在两者之间流动,不经过任何其他节点。
我们仍然遇到问题,但显然它们与通过额外节点路由的流量无关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。