kubernetes flannel 切换 calico 后节点 pod 无法通信

作者: ygqygq2 分类: 虚拟化/容器 发布时间: 2022-03-11 20:33

1. 问题

版本:
kubernetes version:

NAME      STATUS   ROLES                  AGE   VERSION
master1   Ready    control-plane,master   56d   v1.23.4
master2   Ready    control-plane,master   56d   v1.23.4
master3   Ready    control-plane,master   56d   v1.23.4

calico version:

Client Version:    v3.22.1
Git commit:        82e7ce520
Cluster Version:   v3.22.1
Cluster Type:      typha,kdd,k8s,operator,bgp,kubeadm

kubernetes 节点的 pod 间无法通信

2. 问题排查

安装 calicoctl 命令排查
发现有节点IPv4不对

查看异常 ip 对应的网卡
查看网卡

使用 docker 列出 network
有以前docker compose使用的网络设置

清除这些不使用的网络
docker network rm fastdfs-net fd_fastdfs-net

重启 pod
再重启相应pod

确认是否正常

master1

master2

确认跨节点 pod 正常通信了
k8s网络正常

3. 小结

使用 calico 网络插件需要在支持 bgp 协议的网络中,默认的 node to node mesh
的 peer type 下,节点数一多,会占用大量的连接数,官方推荐其在 100 节点内使用。

参考资料:
[1] https://projectcalico.docs.tigera.io/about/about-k8s-networking

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据