需要修改calico的网络模式:
修改calico目录下面target目录下的calico.yaml
加入以下内容(红色部分为修改的内容,上面IPIP方便定位):
如果需要将calico网络模式从IPIP模式修改为bgp模式需要修改以下地方
1、添加BGp模式
修改calico的yaml配置文件,搜索IPIP,添加下面两行---METHOD
(bgp模式),或者直接修改calico.yaml
配置文件
kubectl edit ds calico-node -n kube-system
- name: CALICO_IPV4POOL_IPIP
value: Always
- name: CALICO_AUTODETECTION_METHOD
value: interface=eth0
2、修改ippool,需要把ipipMode
从Always
修改成为Never
(执行下面命令修改ipipMode)
kubectl edit ippool
ipipMode: Never
结论:
calico使用BGP网络模式通信网络传输速率较好,但是跨网络后pod不能通信。
此时建议使用混合模式cross-subnet
,当跨网段时使用隧道通信。
我修改为Never重新apply获取ipip还是有显示always,使用第二个命令直接提示没有ippool类型
kubectl edit ippool
ipipMode: Never
这样修改是可以的,也可以直接修改你的yaml文件