amazon-web-services - 集群 IP 服务的 nginix-ingress 是否直接进入正确的节点而没有中间节点?
问题描述
我们的 kubernetes 集群中有一个 nignx 入口,它将流量转发到 cluster-ip 服务。
我们认为流量会直接从运行入口的节点流向运行目标服务 pod 的节点。不过,我们看到的行为与此相矛盾(避免细节,因为它很复杂并且会导致分心)。
我们的假设是 aws-node/kube-proxy 守护程序将在每个节点上设置 ip-tables 以直接转到正确的节点以获取 cluster-ip 服务。这是真的还是假的,为什么?cluster-ip 服务是否有可能在途中由于某种原因通过集群中的其他节点路由?
解决方案
在这上面花了很多时间之后,我找到了一些很好的资源:
- https://ronaknathani.com/blog/2020/07/kubernetes-nodeport-and-iptables-rules/
- https://docs.google.com/drawings/d/1MtWL8qRTs6PlnJrW4dh8135_S9e2SaawT410bJuoBPk/preview
第一个链接中的信息帮助我们跟踪 IP 表,从 nginx-ingress-controllers 到目标 cluster-ip 服务的目标 pod。
在这种情况下,我可以确认流量直接在两者之间流动,并且不通过任何其他节点。
我们仍然遇到问题,但显然它们与通过额外节点路由的流量无关。
推荐阅读
- node.js - IBM Watson 的 WebSocket 问题
- python - 在 Maya 中为自定义 runTimeCommand 设置热键
- sql - 使用连接的静态和动态表的 sql 查询
- here-api - 在 tce here api 中获取道路费用
- javascript - 使用集合中包含的索引值将项目推送到数组
- javascript - React Hooks useEffect 不会使用正确的状态
- swift - 从 firebase 获取数据到 struct
- django - 发布表单时将当前用户设置为模型
- php - 为什么 true != 'none' 等于 false?
- python - pybind11 运行测试用例