如何解决节点 A 上的 Traefik 在节点 B 上找不到 pod504 Gateway Timeout
我有一个在节点 B
上运行的 POD(它很小,所以我只需要运行它的一个实例)。我的 traefik
控制器正在节点 A
上运行,根据 treafik 的文档,我的入口配置正确。
我也在节点 A
上部署了一个 traefik 控制器,并对其进行了 port-forwarding
测试。它工作得很好,让我觉得在我的 pod 正确响应的同一节点上的 traefik 控制器。我还注意到我对此 POD 的部署、服务和入口都运行良好。但是对于节点 B
上的 traefik 控制器,pod 一直在回答 Gateway Timeout
。我遇到了几个文档和社区问题/答案,但我找不到这样的场景。
那么,我是否需要在我的所有节点上分布一个入口控制器并在 POD 更改其位置时更改我的裸机集群 DNS 重定向规则?是否有任何配置让 traefik 控制器相互通信并找到正确的 pod 在哪里?
这是请求流的一个例子,假设我有一个 Jenkins pod,所以我有这个:
- jenkins-deployment.yaml(在任何节点上部署)
- jenkins-service.yaml
- jenkins-ingress.yaml(根据文档带有 traefik 注释)
场景 A:我的 Jenkins pod 运行在我的 Traefik 控制器运行的同一个节点上
request jenkins.my-local-cluster.io
-> traefik controller listen to the request
-> traefik controller tries to send the request to the Jenkins ingress
-> 200
场景 B:我的 Jenkins pod 正在另一个节点上运行,不同于我的 Traefik 控制器正在运行的节点
request jenkins.my-local-cluster.io
-> traefik controller listen to the request
-> traefik controller tries to send the request to the Jenkins ingress
-> 504 Gateway Timeout
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。