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 @ 2022-10-14 13:40  YIDADA-SRE  阅读(177)  评论(0编辑  收藏  举报