场景
底层k8s使用calico网络,ipip网络模式,kubevirt启动了2台虚拟机;在这两台虚拟机上再搭建k8s,calico网络,ipip网络模式。
问题
在虚拟机上的k8s上启动了2个pod,分布在不同的node上,这两个pod不能ping通对方的pod ip。
排查
1、calico无问题;
2、主机路由无问题。
解决
修改虚拟机之上的k8s集群的calico网络的ipipMode为Never即可,之前使用的是Always。
说明:我是使用helm安装的calico,改这个模式要改crd资源ippools。其他方式安装的calico修改方法可能不一样。
修改方法1
kubectl get ippools
NAME CREATED AT
default-ipv4-ippool 2023-06-14T07:36:22Z
kubectl edit ippools default-ipv4-ippool
# Please edit the object below. Lines beginning with a '#' will be ignored,