二进制部署flannel插件,没有部署cni插件,需要在flannel配置文件指定生成docker网段,然后在docker.service中指定预定义网段,这样docker0会和flannel处于同一个网段,flanneld会在etcd中给每个node分配一个子网段,然后docker0在此子网段中分配pod ip。这样保证不同node上的任意一个pod 其ip都不会冲突。
在这里插入图片描述
kubeadm部署k8s,使用yaml部署flannel网络,已经默认安装cni插件,cni插件的作用其实就是代替docker0的作用。所以docker0的网络就无所谓冲突不冲突,但是cni只保证通过k8s创建的pod 网络分配,如果docker自身创建,不会遵守此规则。

在这里插入图片描述
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐