转载博客地址:处理K8S集群pod不能访问其他service的问题
修改网络模式ipvs
1. 修改kube-proxy
# 在master上执行,如果是高可用,在第一个master上执行
kubectl edit cm kube-proxy -n kube-system
将mode ""
改为mode "ipvs"
2. 添加ipvs模块
vi /etc/sysconfig/modules/ipvs.modules
添加下面内容:
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
3. 添加权限并生效
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
4. 重启kube-proxy
kubectl get pod -n kube-system | grep kube-proxy |awk '{system("kubectl delete pod "$1" -n kube-system")}'
5. 查看kube-proxy启动日志,确认是否为ipvs
kubectl get pod -n kube-system
# 注意:下面的pod名称kube-proxy-pqbwv是通过上面的命令查找出来的,每个人都不一样
kubectl logs -n kube-system kube-proxy-pqbwv