原因:
K8S部署完成后,但是pod之间无法进行交互访问,导致pod异常
定位思路:
通过启动两个busybox容器,之间进行scp传输文件,验证pod之间tcp连接是否正常
解决方法:
运行第一个busybox
bash
kubectl run -i --tty busybox1 --image=busybox:latest --restart=Never --overrides='{ "spec": { "nodeSelector": { "kubernetes.io/hostname": "master01" } } }'
运行第二个busybox
bash
kubectl run -i --tty busybox2 --image=busybox:latest --restart=Never --overrides='{ "spec": { "nodeSelector": { "kubernetes.io/hostname": "master02" } } }'
拷贝文件至busybox1
进入第一个busybox1
bash
nc -v 10.233.100.618 1234 < yige500mdebao.tar.gz
进入第二个busybox1
bash
nc -v -l -p 1234 > yige500mdebao.tar.gz
结论:
发现1K的文件可以相互拷贝,大于1K的都不能拷贝,最终原因是K8S集群所在的虚拟化平台的虚拟机的网络模式使用的是vxlan,据我分析,应该是平台有相关策略导致的,并不是vxlan不支持K8S集群