乐于分享
好东西不私藏

5分钟搞懂 k8s 网络插件:Flannel vs Calico

5分钟搞懂 k8s 网络插件:Flannel vs Calico

k8s 集群搭建好了,Pod 之间怎么互相通信?这时候就需要网络插件。

主流有两个:Flannel 和 Calico。今天用大白话讲讲它们各自是怎么工作的。

01
Flannel 的工作原理

Flannel 的思路很简单:给每个 Pod 分配一个 IP,然后想办法让这些 IP 能互相访问。

具体怎么做?它在每个节点上创建了一张虚拟网卡,所有 Pod 的流量都先发送到这张网卡,再通过一种叫 VXLAN 的协议发送到目标节点。

VXLAN 可以理解为”隧道”。就像你寄快递,快递员在包裹外头再包一层箱子,写上目的地,虽然看不见里面是什么,但能帮你送到。

配置简单,几行命令就能跑起来。

02
Calico 的工作原理

Calico 不走”套箱子”这套,直接用路由表。

每个节点之间会互相学习路由。Pod A 到 Pod B 怎么走,直接写在路由表里。像我们正常上网一样,IP 对 IP,直达。

Calico 还用了 BGP 协议。这本来是互联网骨干网用的,自动学习路由,收敛快,适合大规模集群。

而且 Calico 还能做网络策略,比如限制某些 Pod 只能访问指定的服务。

03
到底选哪个

10 台节点以下,Flannel 够用了。几十上百台,或者需要做访问控制,上 Calico。

两个都是成熟方案,没有绝对好坏。

END

▼ 点击关注下方公众号 ▼

▲ 一起探索运维之道 ▲

作者介绍:

我是老卢,一个在运维领域摸爬滚打了七年的90后,专注 k8s、DevOps、云原生、AIOps 技术。白天搬砖踩坑,晚上码字分享。相信技术改变生活,坚持输出有温度的文章。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 5分钟搞懂 k8s 网络插件:Flannel vs Calico

猜你喜欢

  • 暂无文章