tnblog
首页
视频
资源
登录

Flannel HOST-GW模式

5198人阅读 2022/12/7 17:26 总访问:3659750 评论:0 收藏:0 手机
分类: 容器编排

Flannel HOST-GW模式


在讲Flannel HOST-GW模式之前我们可以先来看看静态路由。

静态路由


简单讲:网络管理员在路由器上手动配置的路由条目;当网络拓扑改变时,需要让管理员手动的更新路由条目;路由过程必须根据管理员的配置转发。
当我们以主机为路由的时候,我们可以通过docker来实现linux下的静态路由。

主机k8s-1下,我们首先自定义一个Linux Bridge,并设置网段为172.19.0.0/16取名名为br_net19;然后创建一个c1容器并连接到我们的br_net19网桥中。最后添加172.18.0.0/16网络的路由指向k8s-2节点中ip为10.211.55.12
命令如下所示:

  1. docker network create -d bridge --subnet 172.19.0.0/16 br_net19
  2. docker network list
  3. docker run --name c1 --network br_net19 -td burlyluo/nettoolbox
  4. docker ps -a
  5. docker exec -it c1 ifconfig
  6. docker exec -it c1 route -n
  7. ifconfig
  8. route -n
  9. # docker exec -it c1 ping 172.18.0.2
  10. # route add -net 172.18.0.0/16 gw <节点二ip>
  11. # 添加静态路由
  12. route add -net 172.18.0.0/16 gw 10.211.55.12


大致如节点一的操作

  1. docker network create -d bridge --subnet 172.18.0.0/16 br_net18
  2. docker network list
  3. docker run --name c2 --network br_net18 -td burlyluo/nettoolbox
  4. docker ps -a
  5. docker exec -it c2 ifconfig
  6. docker exec -it c2 route -n
  7. ifconfig
  8. route -n
  9. # route add -net 172.19.0.0/16 gw <节点一ip>
  10. # 添加静态路由
  11. route add -net 172.19.0.0/16 gw 10.211.55.11
  12. route -n


尝试ping,是没什么问题的。

Flannel HOST-GW模式


与静态路由是一样的,唯一不同的就是添加静态路由的时候,由 flanneld 负责了设置各个节点上的路由。


那么我们应该如何进行安装呢?
只需要将net-conf.json文件的网络类型更改为host-gw模式即可。

  1. wget https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
  2. vim kube-flannel.yml
  3. # net-conf.json: |
  4. # {
  5. # "Network": "10.244.0.0/16",
  6. # "Backend": {
  7. # "Type": "host-gw"
  8. # }
  9. # }
  10. kubectl apply -f kube-flannel.yml


由于走的是二层,所以不需要进行封包,性能也就提高了。但是HOST-GW模式只支持宿主机之间二层连接,要求集群中所以节点必须处于同一个网络中。如果不在一个网络中,三层设备路由器缺少Pod 网络的路由规则,无法转发数据包。

HOST-GW模式将目的主机当作网关,直接路由原始的数据包。flanneld会在集群节点上创建并维护路由表,当数据包到达集群节点的时,就会根据路由表直接发送到下一跳,也就是同网段的节点IP,直接通过二层网络将数据转发到目的节点上;目的节点再根据路由表规则转发到cni网桥,网桥根据路由规则转发到容器里面。

HOST-GW模式通过路由转发实现高性能网络通信,但是这种模式局限性很大,节点之间都要相互有点对点的路由覆盖,每个节点上有n-1个路由,而n个节点共有n(n-1)/2个路由,才能保证flannel的flat网络能力。

小结


Host-GW特点:
— 直接路由转发,性能损失很小
— 对宿主机网络要求二层可达
— 如果主机数量多了起来导致泛洪


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

ServiceStack.Redis操作Redis配置单例模式

我携漫天星辰以赠你,仍觉漫天星辰不如你。单利的应该是连接池而不应该是redis对象。如果每次操作都是一个redis对象是会有...

GIT中的PR模式

GIT中的Pull Request模式(简称PR)PR是开发者使用Github进行协作的利器。PR是协作者修改代码后或在原基础上增加新代码后向...

EF三种模式解析

万般皆下品,惟有编程高我希望你是为我而来如果我爱你,而你也正巧爱我。你头发乱了时候,我会笑笑地替你拨一拨,然后,手...

identity server4 的授权模式

授权模式OAuth2.0 定义了四种授权模式:Implicit:简化模式;直接通过浏览器的链接跳转申请令牌。Client Credentials:客户...

identity server4 四种授权模式

爱情哪有那么复杂,能让你开开心心笑得最甜的那个人就是对的人下面介绍4种模式安全性从低到高客户端模式客户端模式只对客户...

IdentityServer4实现OAuth2.0四种模式之授权码模式

授权码模式隐藏码模式最大不同是授权码模式不直接返回token,而是先返回一个授权码,然后再根据这个授权码去请求token。这...

也谈TDD,以及三层架构、设计模式、ORM……

想在园子里写点东西已经很久了,但一直没有落笔,还有些软文做推广,还要做奶爸带孩子,还要……好吧,我承认,真正的原因...

.netcore 3.1 MediatR:轻松实现命令查询职责分离模式(CQRS)

.netcore 3.1 MediatR:轻松实现命令查询职责分离模式(CQRS)[TOC] 中介者模式 用一个中介对象封装一系列的对象交...

.net core 3.1 Identity Server4 (ClientCredentials模式)

.net core 3.1 Identity Server4 (ClientCredentials模式)[TOC] ClientCredentials 模式的理解 在这之前我先问大家...

.net core 3.1 Identity Server4 (Password模式)

.net core 3.1 Identity Server4 (Password模式)[TOC] Password 模式的理解 当应用程序将用户的用户名和密码交换为...

.net core 3.1 Identity Server4 (Code模式)

.net core 3.1 Identity Server4 (Code模式)[TOC] Code 模式的理解 大致说一下,这种授权模式的意义。A. 用户通...

Go Map与工厂模式,在Go语言中实现Set

Go Map与工厂模式,在Go语言中实现Set[TOC] Map与工厂模式 Map 的 value 可以是一个方法与 Go 的 Dock type 接口方式一起...

.net core 3.1 Identity Server4 (Implicit模式)

.net core 3.1 Identity Server4 (Implicit模式)[TOC] Implicit 模式的理解 A.用户通过浏览器访问客户端,然后客...

.net core 3.1 Identity Server4 (Hybrid模式)

.net core 3.1 Identity Server4 (Hybrid模式)[TOC] Hybrid 模式的理解 Hybrid 模式相当于(Code模式+Impact模式),所...

.net core 3.1 Identity Server4 (自定义模式)

.net core 3.1 Identity Server4 (自定义模式)[TOC] IdentityServer4除了提供常规的几种授权模式外(AuthorizationCod...
这一世以无限游戏为使命!
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术