Traefik,Metallb端口转发

问题描述

我在转发traefik时遇到问题。我在Rancher进行了部署,在那里我将Metallb与traefik一起使用以获得ssl证书。应用于我的服务。所有这些都在本地运行,我在traefik日志中没有看到任何错误消息。这很有趣,因为有时我可以在网络之外访问我的服务,但有时却不能。

  • 我已将80、433、8080端口转发到192.168.87.135
  • 我在做什么错?是否缺少某些端口?

Picture of traefik logs Picture of the exposed traefik loadbalancer

解决方法

IPv4指定了无法从Internet访问的专用ip地址范围,因为:

Internet的发展超出了所有人的预期。持续
指数级增长继续带来新的挑战。一个
挑战是社区内部关注的全球唯一问题
地址空间将用完。

(来源: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,并使用反向代理在内部将其路由到内部负载均衡器IP 192.168.87.235

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

观看视频后进行编辑:

在视频结束时,仍可以从Internet访问您的群集。您会收到消息 “服务不可用” ,实际上,每次您访问不健康的应用程序时,traefik都会返回该消息。您的问题是,重新启动VM后,演示应用程序无法启动。因此,接下来您需要检查为什么演示应用程序无法启动。这包括检查容器的日志和发生故障的容器的事件。

我想谈谈的另一个主题是traefik及其实际作用。首先仅将Traefik称为反向代理,虽然不是虚假的,但这并不是全部事实。 kubernetes环境中的Traefik是一个入口控制器。这意味着它是由kubernetes资源(即“ Ingress”对象或“ IngressRoute”对象)配置的反向代理。后者是Traefik本身引入的自定义资源(有关更多信息,请阅读here),因为它引入了高级选项来配置traefik。 我之所以告诉您,是因为您的集群中实际上安装了两个入口控制器,它们分别是 “ Traefik” “ nginx-ingress-controller” ,您只需要一个即可。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...