kube-proxy更换工作模式

kube-proxy更换工作模式

前言

iptables模式问题不好定位,规则多了性能会显著下降,甚至会出现规则丢失的情况;相比而言,ipvs就稳定的多。

流程

1.加载内核模快

#查看内核模块是否加载
lsmod|grep ip_vs
#如果没有执行下条命令
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

2.更改kube-proxy配置

kubectl edit configmap kube-proxy -n kube-system
  • 找到“mode”关键字
minSyncPeriod: 0s
scheduler: "" # scheduler默认是空,默认负载均衡算法为轮训
syncPeriod: 30s
kind: KubeProxyConfiguration
metricsBindAddress: 127.0.0.1:10249
mode: "ipvs" # 默认为空就使用了iptables,现在换成ipvs
nodePortAddresses: null
#编辑完,保存退出(退出跟vim一样)

3.删除所有kube-proxy的pod

#一个一个删除 不推荐直接全部删除,删除他会重启新的POD哦
[root@master01 ~]# kubectl delete pod -n kube-system kube-proxy-2t7bm
pod "kube-proxy-2t7bm" deleted
[root@master01 ~]# kubectl delete pod -n kube-system kube-proxy-45l2c
pod "kube-proxy-45l2c" deleted
[root@master01 ~]# kubectl delete pod -n kube-system kube-proxy-f2cnv
pod "kube-proxy-f2cnv" deleted
[root@master01 ~]# kubectl delete pod -n kube-system kube-proxy-wr7sl
pod "kube-proxy-wr7sl" deleted

4.查看kube-proxy的pod日志

kubectl logs kube-proxy-xxx -n kube-system
  • 看到这里即可

5.安装ipvsadm

使用ipvsadm查看ipvs相关规则,如果没有这个命令可以直接yum安装

yum install -y ipvsadm
posted @   YIDADA-SRE  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示