前言
今天来聊聊 Flannel
,Flannel
是 Kubernetes
默认网络组件,再聊 Flannel
时,我们得先明白一个叫 CNI
东东,CNI
是什么?能有什么用?下文会做出解释。
CNI 简单介绍
CNI
(Container Network Interface)是 CNCF
旗下的一个项目,由一组用于配置Linux容器网络接口的规范和库组成,同时还包含了一些插件。CNI
仅关心容器创建时的网络分配和当容器被删除时释放网络资源。Kubernetes 中已经内置了 CNI
。
Container Runtime
在创建容器时,先创建好 network namespace
,然后调用CNI插件为这个 network namespace
配置网络,其后再启动容器内的进程。CNI
已成为 CNCF
一员,成为 CNCF
主推的网络模型。