• 欢迎来到本博客,希望可以y一起学习与分享

k8s搭建优化-ipsv

笔记 benz 5个月前 (04-30) 17次浏览 0个评论 扫描二维码
文章目录[隐藏]

1. 为什么要使用IPVS

k8s的1.8版本开始,kube-proxy引入了IPVS模式,IPVS模式与iptables同样基于Netfilter,但是采用的hash表,因此当service数量达到一定规模时,hash查表的速度优势就会显现出来,从而提高service的服务性能。

1.1、启动ipvs的要求

  • k8s版本 >= v1.11
  • 使用ipvs需要安装相应的工具来处理”yum install ipset ipvsadm -y
  • 确保 ipvs已经加载内核模块, ip_vs、ip_vs_rr、ip_vs_wrr、ip_vs_sh、nf_conntrack_ipv4。如果这些内核模块不加载,当kube-proxy启动后,会退回到iptables模式。

2. 具体步骤

只在工作节点(worker node)上操作,master node不需要

2.1 加载ipvs模块

由于ipvs已经加入到了内核的主干,所以为kube-proxy开启ipvs的前提需要加载以下的内核模块:

使用命令查看系统是否开启了模块

如果没有以上内容,执行以下操作,否则跳过
(1) 加载ipvs模块方案1—-批处理加载

在所有worker节点上加载ipvs模块。切换到worker节点,创建ipvs.sh脚本

赋予脚本可执行权限

执行脚本前后可以分别使用【lsmod | grep ip_vs】命令查看当前ipvs模块内容。
执行ipvs.sh脚本加载ipvs模块:

(2) 加载ipvs模块方案2—-用文件加载

两种加载ipvs方案使用其中一种即可。

2.2开启内核参数

安装管理ipvs的工具:

2.3配置kube-proxy

2.4 重启kube-proxy

查看kube-proxy日志:

查看日志,如果有 Using ipvs Proxier. 说明kube-proxy的ipvs 开启成功!

查看规则:

 

参考

k8s集群中ipvs负载详解
centos7下用kubeadm安装k8s集群并使用ipvs做高可用方案


文章 k8s搭建优化-ipsv 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!