兼容性风险检查异常处理
检查项内容
请您阅读版本兼容性差异,并确认不受影响。补丁升级不涉及版本兼容性差异。
版本兼容性差异
版本升级路径 |
版本差异 |
建议自检措施 |
---|---|---|
v1.23/v1.25 升级至v1.27 |
容器运行时Docker不再被推荐使用,建议您使用Containerd进行替换,详情请参见容器引擎说明。 |
已纳入升级前检查。 |
v1.23升级至v1.25 |
在Kubernetes v1.25版本中, PodSecurityPolicy已被移除,并提供Pod安全性准入控制器(Pod Security Admission配置)作为PodSecurityPolicy的替代。 |
|
v1.21/v1.19 升级至v1.23 |
社区较老版本的Nginx Ingress Controller来说(社区版本v0.49及以下,对应CCE插件版本v1.x.x),在创建Ingress时没有指定Ingress类别为nginx,即annotations中未添加kubernetes.io/ingress.class: nginx的情况,也可以被Nginx Ingress Controller纳管。但对于较新版本的Nginx Ingress Controller来说(社区版本v1.0.0及以上,对应CCE插件版本2.x.x),如果在创建Ingress时没有显示指定Ingress类别为nginx,该资源将被Nginx Ingress Controller忽略,Ingress规则失效,导致服务中断。 |
已纳入升级前检查,也可参照nginx-ingress插件升级检查进行自检。 |
v1.19升级至v1.21 |
Kubernetes v1.21集群版本修复 了exec probe timeouts不生效的BUG,在此修复之前,exec 探测器不考虑 timeoutSeconds 字段。相反,探测将无限期运行,甚至超过其配置的截止日期,直到返回结果。 若用户未配置,默认值为1秒。升级后此字段生效,如果探测时间超过1秒,可能会导致应用健康检查失败并频繁重启。 |
升级前检查您使用了exec probe的应用的probe timeouts是否合理。 |
CCE的v1.19及以上版本的kube-apiserver要求客户侧webhook server的证书必须配置Subject Alternative Names (SAN)字段。否则升级后kube-apiserver调用webhook server失败,容器无法正常启动。 根因:Go语言v1.15版本废弃了X.509 CommonName,CCE的v1.19版本的kube-apiserver编译的版本为v1.15,若客户的webhook证书没有Subject Alternative Names (SAN),kube-apiserver不再默认将X509证书的CommonName字段作为hostname处理,最终导致认证失败。 |
升级前检查您自建webhook server的证书是否配置了SAN字段。
|
init容器(根据spec.initContainers计算) |
业务容器(根据spec.containers计算) |
Pod(根据spec.containers和spec.initContainers计算) |
是否受影响 |
---|---|---|---|
Guaranteed |
Besteffort |
Burstable |
是 |
Guaranteed |
Burstable |
Burstable |
否 |
Guaranteed |
Guaranteed |
Guaranteed |
否 |
Besteffort |
Besteffort |
Besteffort |
否 |
Besteffort |
Burstable |
Burstable |
否 |
Besteffort |
Guaranteed |
Burstable |
是 |
Burstable |
Besteffort |
Burstable |
是 |
Burstable |
Burstable |
Burstable |
否 |
Burstable |
Guaranteed |
Burstable |
是 |