配置 kube-proxy 基于 ipvs 模式工作

引言
kube-proxy 目前(v1.17)支持多种工作模式,如:userspace、iptables、ipvs,以及仅在 windows 环境可选的 kernelspace 等。在 linux 环境,未配置 kube-proxy 工作模式的情况下,将优先使用 iptables 模式运行,在不满足 iptables 模式工作条件时,自动回退到 userspace 模式。在 windows 环境,如未配置工作模式,将使用 userspace 模式运行。

ipvs 相比 iptables 提供了更优的性能,那么如何在 linux 环境启用 ipvs 模式呢?

其实很简单,只需要修改 kube-proxy 的启动配置(kube-system/kube-proxy ConfigMap),将 mode 修改为 ipvs 即可:

# kubectl edit cm kube-proxy -n kube-system
    mode: "ipvs"
    nodePortAddresses: null
    oomScoreAdj: null
    portRange: ""
-- INSERT --

保存配置后,为了保证生效,重启 kube-proxy 服务(其实 kube-proxy 是支持自动重启的,奈何博主实验时并未正常重启,这是一个已知的 bug…)

# kubectl delete pod -l k8s-app=kube-proxy -n kube-system
pod "kube-proxy-j8586" deleted
pod "kube-proxy-pd4pz" deleted
pod "kube-proxy-ttrv8" deleted

查看 kube-proxy 启动日志,发现已经启用 ipvs:

在这里插入图片描述
如果您在设置后,发现并未成功启用 ipvs,可能是操作系统未达要求的原因,需要在安装缺失的内核模块后重试。笔者实验的操作系统为 CentOS Linux release 7.6.1810 (Core),直接启用 ipvs 即可成功。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值