kube-proxy从iptables转到ipvs模式

容器
问题描述

部署kubernetes的时候使用默认安装kube-proxy采用的是iptables模式,想转变成ipvs模式。

问题原因

kube-proxy提供三种代理模式(userspace、iptables、ipvs),ipvs性能要比iptables好很多,但是部署kubernetes默认使用的iptables,是因为系统没有配置ipvs相关模块,,建议生产集群使用ipvs模式。

解决方案

1.系统版本7.9

cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

2.安装必要的软件包

yum install ipset ipvsadm -y

3.命令行(临时添加)

modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4

4.系统文件中添加(永久添加)

cat /etc/modules-load.d/ipvs.conf 
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4

5.修改kube-proxy configmap 执行如下命令

kubectl edit configmap kube-proxy -n kube-system

修改如图位置,改为ipvs image 6.重所有节点上的kube-poxy

kubectl get pod -A|grep kube-proxy
kubectl delete pod <kube-proxy-name> -n kube-system

7.验证 通过以下命令查看是否有对应规则生成

ipvsadm -L
参考链接

https://kubernetes.io/blog/2018/07/09/ipvs-based-in-cluster-load-balancing-deep-dive/

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论