如何理解routing mesh的作用

76次阅读
没有评论

共计 854 个字符,预计需要花费 3 分钟才能阅读完成。

如何理解 routing mesh 的作用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

当我们访问任何节点的 8080 端口时,swarm 内部的 load balancer 会将请求转发给 web_server 其中的一个副本。

这就是 routing mesh 的作用。

所以,无论访问哪个节点,即使该节点上没有运行 service 的副本,最终都能访问到 service。

另外,我们还可以配置一个外部 load balancer,将请求路由到 swarm service。比如配置 HAProxy,将请求分发到各个节点的 8080 端口。

ingress 网络

当我们应用  –publish-add 8080:80  时,swarm 会重新配置 service,我们看看容器都发生了哪些重要变化。

是不是觉得很诧异?之前的所有副本都被 Shutdown,然后启动了新的副本。我们查看一下新副本的容器网络配置。

容器的网络与  –publish-add  之前已经大不一样了,现在有两块网卡,每块网卡连接不同的 Docker 网络。

实际上:

eth0 连接的是一个 overlay 类型的网络,名字为  ingress,其作用是让运行在不同主机上的容器可以相互通信。

eth2 连接的是一个 bridge 类型的网络,名字为  docker_gwbridge,其作用是让容器能够访问到外网。

ingress  网络是 swarm 创建时 Docker 为自动我们创建的,swarm 中的每个 node 都能使用  ingress。

如果大家对 Docker overlay 网络的原理和实现感兴趣,可以重温前面 Docker 容器网络相关章节。

通过 overlay 网络,主机与容器、容器与容器之间可以相互访问;同时,routing mesh 将外部请求路由到不同主机的容器,从而实现了外部网络对 service 的访问。

看完上述内容,你们掌握如何理解 routing mesh 的作用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计854字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)