You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将AKS集群中的Linkerd切换为IPVS模式?

如何在AKS集群中将Linkerd切换为IPVS模式

前置确认

确保你的AKS集群已稳定运行在IPVS模式,且Linkerd控制平面、数据平面状态正常(可通过linkerd check验证)。

步骤1:备份现有Linkerd配置

先导出并备份当前的linkerd-config ConfigMap,避免配置丢失:

kubectl get configmap linkerd-config -n linkerd -o yaml > linkerd-config-backup.yaml

步骤2:修改Linkerd配置为IPVS模式

编辑linkerd-config ConfigMap,将proxy段下的iptablesMode从legacy改为ipvs,还可按需设置IPVS调度算法(默认是轮询rr):

kubectl edit configmap linkerd-config -n linkerd

找到proxy配置块,修改后示例如下:

proxy: |
  iptablesMode: ipvs
  # 可选:指定IPVS调度算法,支持rr、lc、dh、sh、sed、nq等
  ipvsScheduler: rr

保存并退出编辑器。

步骤3:滚动重启Linkerd控制平面组件

修改ConfigMap后,需重启控制平面Pod以加载新配置:

kubectl rollout restart deployment linkerd-controller -n linkerd
kubectl rollout restart deployment linkerd-destination -n linkerd
kubectl rollout restart deployment linkerd-identity -n linkerd

等待所有控制平面Pod重启完成(可通过kubectl get pods -n linkerd查看状态)。

步骤4:更新数据平面Pod的IPVS规则

Linkerd的proxy-init容器仅在Pod启动时配置网络规则,因此需要滚动重启所有已注入Linkerd proxy的业务Pod,让proxy-init重新配置IPVS规则:

# 替换为你的业务命名空间
kubectl rollout restart deployment -n <your-app-namespace>

若有其他类型的工作负载(如StatefulSet),需对应执行滚动重启命令:

kubectl rollout restart statefulset -n <your-app-namespace>

步骤5:验证切换结果

  1. 检查Linkerd proxy日志,确认IPVS模式已启用:
kubectl logs -n <your-app-namespace> <app-pod-name> linkerd-proxy | grep "ipvs"

你应该能看到类似Using ipvs iptables mode的日志输出。

  1. 在集群节点上执行IPVS规则检查(需先在节点安装ipvsadm工具):
# 在AKS节点上执行
ipvsadm -ln

可看到Linkerd相关的虚拟服务和真实服务器规则。

  1. 运行linkerd check验证整个集群状态,确保所有检查项通过。

注意事项

  • 切换操作建议在业务低峰期进行,避免短暂的流量波动影响业务。
  • 若切换后出现异常,可通过备份的配置文件恢复:
kubectl apply -f linkerd-config-backup.yaml -n linkerd

然后重新滚动重启相关组件。

内容的提问来源于stack exchange,提问作者Michał Picheta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 16:30:04