【问题标题】:Traefik, Metallb portforwardingTraefik,Metallb 端口转发
【发布时间】:2020-09-21 19:51:22
【问题描述】:

我在端口转发 traefik 时遇到问题。我在 Rancher 有一个部署,我使用 metallb 和 traefik 来获得 ssl 证书。应用于我的服务。所有这些都在本地工作,我在 traefik 日志中没有看到任何错误消息。这很有趣,因为有时我可以在我的网络之外访问我的服务,但有时不能。

  • 我已将 80、433、8080 端口转发到 192.168.87.135
  • 我做错了什么?我缺少一些端口吗?

Picture of traefik logs Picture of the exposed traefik loadbalancer

【问题讨论】:

  • 你的网络之外是什么意思?
  • 非本地
  • 所以你的意思是你不在同一个网络?就像您想从互联网访问您的服务一样?
  • 是的,来自互联网。

标签: traefik rancher metallb


【解决方案1】:

IPv4 指定无法从 Internet 访问的私有 IP 地址范围,因为:

互联网的发展出乎所有人的意料。持续
指数增长继续带来新的挑战。一个
挑战是社区内的一个全球独一无二的问题
地址空间将被耗尽。

(来源:RFC-1918 Address Allocation for Private Internets

这些私有 IP 范围内的 IP 地址无法从 Internet 访问。您的 IP 地址 192.168.87.235 属于 C 类私有 IP 地址范围192.168.0.0/16,因此它本质上是无法通过互联网访问的。 此外,您声明它在您的本地网络中正常工作。

对此的后续问题是:如果我的网络是专用网络,我如何访问它?

要访问您的本地网络,您需要有一个同时具有内部 IP 和公共 IP 的网关,以便您可以通过公共 IP 访问您的网络。一种解决方案可能是将 DNS 名称映射到公共 IP,并通过反向代理在内部路由到内部负载平衡器 IP192.168.87.235

很遗憾,我无法告诉您为什么它偶尔会起作用,因为这需要更多关于您的本地网络的知识。但我想这可能是您通过 VPN 连接到您的本地网络,或者您已经有一个一直不在线的反向代理。

观看视频后进行编辑:

在视频结束时,您的集群仍然可以通过互联网访问。您会收到消息“服务不可用”,实际上每次您希望访问不健康的应用程序时,traefik 都会返回该消息。您的问题是重新启动 VM 后演示应用程序未启动。因此,您接下来需要做的是检查演示应用程序未启动的原因。这包括检查 pod 的日志和失败 pod 的事件。

我想谈的另一个话题是 traefik 以及它的实际作用。首先只称 Traefik 为反向代理,虽然不是假的,但并不是全部真相。 Kubernetes 环境中的 Traefik 是一个入口控制器。这意味着它是由 kubernetes 资源配置的反向代理,即由“Ingress”对象或“IngressRoute”对象配置。后者是 Traefik 自己引入的自定义资源(请阅读 here 了解更多信息),因为它引入了配置 traefik 的高级选项。 我告诉你这是因为你的集群中实际上安装了两个入口控制器,"Traefik""nginx-ingress-controller" 你只需要一个。

【讨论】:

  • 谢谢回复:),Traefik 是反向代理,而 metallb 自带负载均衡器,暴露了。我有一个映射到我的全球 IP 的 dns,我在其中端口转发了我的本地 IP。我制作了一个 10 分钟的视频,展示了我的问题……如果你愿意看的话。youtube.com/watch?v=CjUD5XHHy-8&feature=youtu.be
  • @PeterMarcusHoveling 我用我的结论编辑了答案。
猜你喜欢
  • 1970-01-01
  • 2020-11-19
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
  • 2020-01-27
  • 2021-09-15
  • 2023-03-23
  • 1970-01-01
相关资源
最近更新 更多