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 |
| minSyncPeriod: 0s |
| scheduler: "" |
| syncPeriod: 30s |
| kind: KubeProxyConfiguration |
| metricsBindAddress: 127.0.0.1:10249 |
| mode: "ipvs" |
| nodePortAddresses: null |
| |
| |
3.删除所有kube-proxy的pod
| |
| |
| [root@master01 ~] |
| pod "kube-proxy-2t7bm" deleted |
| [root@master01 ~] |
| pod "kube-proxy-45l2c" deleted |
| [root@master01 ~] |
| pod "kube-proxy-f2cnv" deleted |
| [root@master01 ~] |
| pod "kube-proxy-wr7sl" deleted |
4.查看kube-proxy的pod日志
| kubectl logs kube-proxy-xxx -n kube-system |
- 看到这里即可

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