在Oracle Kubernetes Engine(OKE)中,默认情况下,Kube-proxy使用iptables作为其默认的转发模式。然而,有时候为了更好地适应特定的需求,用户可能希望将转发模式更改为IPVS(IP Virtual Server)。
IPVS是Linux内核中的一种高性能的负载均衡技术,能够提供更灵活、更高效的服务转发。本文将介绍如何在OKE环境中进行Kube-proxy的设置,将转发模式切换至IPVS,从而为您的Kubernetes集群提供更强大的负载均衡性能。
1 使用 CLI 创建新的 node pool 为 kube-proxy 指定ipvs 模式
## 指定node-metadata
oci ce node-pool create \
--cluster-id <cluster-ocid> \
--name <node-pool-name> \
...
--node-metadata '{ "oke-kubeproxy-proxy-mode": "ipvs"}' \
...
创建新节点池后,将工作负载从现有节点池移至新节点池。 Drain掉原节点池中的数据节点(Node),以防止启动新的 Pod 同时删除现有的 Pod, 最后删除原来的节点池。 当新工作节点在新节点池中启动时,它们会按照您指定的方式以 ipvs 模式运行 kube-proxy 的 daemonset。
关于替换节点池的详细内容您可以参考官方说明:
2 使用 CLI 更新现有 node pool 的 kube-proxy 类型为 ipvs 模式
oci ce node-pool update \
--node-pool-id <node-pool-ocid> \
--node-metadata '{ "oke-kubeproxy-proxy-mode": "ipvs"}' \
...
更新节点池后,依次删除现有的工作节点。 通过 cordon 和 drain 命令驱散现有工作节点pods, 以防止启动新的 pod,同时删除现有节点的 pod。 然后启动一个新的工作节点来代替您删除的工作节点。 当新工作节点在现有节点池中启动时,它们会以您指定的 ipvs 模式运行 kube-proxy daemonset。
关于替换现有节点池的操作方式您可以参考官方说明:
Performing an In-Place Worker Node Update by Updating an Existing Node Pool.
3 使用 CLI 查看 node pool 的配置
oci ce node-pool get --node-pool-id <node-pool-ocid>
4 其他相关操作
4.1 OCI cli 安装方式参考地址:
https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm
4.2 OCI cli 认证配置向导参考地址:
5 官方资料
🚀 炸鸡物料库 🚀
🔍 内容定位: IT技术领域,云计算、云原生、DevOps 和 AI 等相关的技术资讯、实践和经验分享。面向开发、系统和云计算,提供实用的技术内容。
🎯 目标受众: 面向开发者、系统管理员和云计算从业者,提供实用的技术内容。
🗓️ 更新频率:每周更新,每次分享都为您带来有价值的技术内容。
🤝 互动与反馈: 鼓励读者留言、评论,有问题随时提问,我们将积极互动并提供帮助。
💌 订阅方式: 扫描二维码或搜索“炸鸡物料库”关注,不错过每一篇精彩内容。
🌐 合作与分享: 如果您有技术分享或合作计划,欢迎联系我们,共同成长!