引言
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

本文介绍在Kubernetes中配置kube-proxy使用IPVS模式的方法,通过修改kube-proxy配置,将工作模式改为IPVS,实现更好的性能。适用于Linux环境,需确保内核模块支持。
最低0.47元/天 解锁文章
2177





