升级K8s至1.23.x需检查Linkerd 2.9兼容性吗?有无兼容矩阵?
Linkerd 2.9与Kubernetes 1.23兼容性说明及升级建议
一、Linkerd版本与Kubernetes兼容核心信息
Linkerd官方有明确的版本兼容规则,针对你使用的Linkerd 2.9版本:
- 支持的Kubernetes版本范围为1.19.x 至 1.22.x
- 不支持Kubernetes 1.23.x及以上版本,强行升级K8s到1.23会引发CRD兼容性异常、控制器运行故障等问题
二、适配你的集群升级方案
由于你要将K8s从1.22.x升级至1.23.x,同时需同步升级Helm到3.8.x,对应的操作顺序建议如下:
- 先升级Linkerd到支持K8s 1.23的版本:
- 推荐升级到Linkerd 2.10+版本(2.10及以上版本开始支持K8s 1.23)
- 升级前准备:
- 确保集群内Linkerd数据面(sidecar)与控制面版本一致
- 备份Linkerd相关资源:可通过
linkerd install --ignore-cluster | kubectl apply -f -导出配置,或用kubectl get crds -l linkerd.io/control-plane=linkerd -o yaml备份CRD资源
- 完成Linkerd升级后,再执行Kubernetes集群到1.23.x的升级操作
- 同步升级Helm至3.8.x(Helm 3.8.x与Linkerd 2.10+版本兼容)
三、新手升级注意事项
- 务必先在测试环境验证全流程,避免影响生产集群
- Linkerd升级可使用
linkerd upgrade命令自动处理控制面升级,之后需重启所有注入sidecar的Pod以更新数据面版本 - 若遇到CRD升级失败,可手动先更新CRD资源,再执行控制面升级
内容的提问来源于stack exchange,提问作者SafiJunaid
相关产品推荐
相关产品推荐

