2023年Kubernetes版本的选用对比指南

一、版本号含义

Kubernetes版本表示为xyz,其中x是主要版本,y是次要版本,z是补丁版本

简单来讲,kubernetes项目存在3类分支(branch),分别为master,release-X.Y,release-X.Y.Z。master分支上的代码是最新的,每隔2周会生成一个发布版本(release),由新到旧以此为master-->alpha-->beta-->Final release,这当中存在一些cherry picking的规则,也就是说从一个分支上挑选一些必要pull request应用到另一个分支上。我们可以认为X.Y.0为稳定的版本,这个版本号意味着一个Final release。

总体而言,我们一般关心X.Y.0(稳定版本),和X.Y.Z(补丁版本)的特性

二、各云厂商支持版本

下表记录各厂商目前支持新建的K8S版本!

厂商 K8S主流版本 备注
GKE 1.23 1.24 1.25    
ACK&ASK 1.24.6 1.22.15 1.24.6    
AKS 1.22-1.27        
EKS 1.19-1.25        
TKE 1.18.4 1.20.6 1.22.5 1.24.4 仅发布 Kubernetes 双数号的大版本
KubeSphere v1.21.x[推荐] v1.19.x-v1.24.x      
CCE[百度] 1.11-1.22        
CCE[华为] 1.21 1.23 1.25[Beta]   仅发布 Kubernetes 单数号的大版本

以下为近期调研的各大厂商对K8S版本支持情况

CCE【华为】

https://support.huaweicloud.com/bulletin-cce/cce_whsnew_0005.html

Kubernetes版本号

当前状态

社区发布时间

CCE集群版本公测时间

CCE集群版本商用时间

CCE集群版本EOS时间

v1.25

已商用

2022年08月

2022年11月

2023年03月

2024年11月

v1.23

已商用

2021年12月

2022年04月

2022年09月

2024年03月

v1.21

已商用

2021年04月

2021年12月

2022年04月

2023年11月

v1.19

已商用

2020年08月

2020年12月

2021年03月

2023年09月

v1.17

EOS

2019年12月

/

2020年07月

2023年01月

v1.15

EOS

2019年06月

/

2019年12月

2022年09月

v1.13

EOS

2018年12月

/

2019年06月

2022年03月

v1.11

EOS

2018年08月

/

2018年10月

2021年03月

v1.9

EOS

2017年12月

/

2018年03月

2020年12月

CCE仅发布Kubernetes单数号的大版本,如v1.25、v1.23、v1.21、v1.19

EKS 【AWS】

https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html#kubernetes-release-calendar

Kubernetes version Upstream release Amazon EKS release Amazon EKS end of support
1.27 April 11, 2023 May 24, 2023 July 2024
1.26 December 9, 2022 April 11, 2023 June 2024
1.25 August 23, 2022 February 22, 2023 May 2024
1.24 May 3, 2022 November 15, 2022 January 2024
1.23 December 7, 2021 August 11, 2022 October 11, 2023
1.22 August 4, 2021 April 4, 2022 June 4, 2023
1.21 April 8, 2021 July 19, 2021 February 15, 2023
1.20 December 8, 2020 May 18, 2021 November 1, 2022

AKS 【microsoft】

https://learn.microsoft.com/zh-cn/azure/aks/supported-kubernetes-versions?tabs=azure-cli#aks-kubernetes-release-calendar

K8s 版本 上游版本 AKS 预览版 AKS GA 生命周期结束
1.24 20212年 4 月 22 日 2022 年 5 月 2022 年 7 月 2023 年 7 月
1.25 2022 年 8 月 2022 年 10 月 2022 年 12 月 2023 年 12 月
1.26 2022 年 12 月 2023 年 2 月 2023 年 4 月 2024 年 3 月
1.27 2023 年 4 月 2023 年 5 月 2023 年 6 月 2024 年 6 月

GKE【谷歌】

https://cloud.google.com/kubernetes-engine/docs/release-schedule?hl=zh-cn

Kubernetes 版本 Kubernetes 发布日期 快速 普通 稳定 服务终止
可用 自动升级 可用 自动升级 可用 自动升级
1.22 2021-08-04 2021-10-12 2022-04-05 2022-01-26 2022-05-27 2022-05-06 2022-09-23 2023-04-30
1.23 2021-12-14 2022-01-27 2022-05-27 2022-04-29 2022-10-20 2022-07-22 2023-02-03 2023-07-31
1.24 2022-05-03 2022-06-03 2022-08-12 2022-08-19 2023-02-24 2022-11-30 2023-04-07 2023-10-31
1.25 2022-08-23 2022-09-13 2023-03-03 2022-12-08 2023-05-08 2023-05-08 2023-Q3 2024-02-29
1.26 2022-12-06 2023-01-13 2023-05-25 2023-04-14 2023-06 2023-06 2023-Q3 2024-05-31
1.27 2023-04-11 2023-05 2023-Q3 2023-Q3 2023-Q4 2024-Q1 2024-Q2 2025-01

阿里云

https://help.aliyun.com/document_detail/115453.html

版本

状态

发布时间

过期时间

1.26

已发布

2023年04月

2025年04月

1.24

已发布

2022年09月

2024年09月

1.22

已发布

2021年12月

2023年12月

1.20

已过期

2021年04月

2023年04月

1.18

已过期

2020年09月

2022年09月

1.16

已过期

2020年02月

2022年06月

1.14

已过期

2019年08月

2021年07月

1.12

已过期

2019年03月

2020年12月

腾讯云

https://cloud.tencent.com/document/product/457/73078

从2018年9月24日起,TKE 仅发布 Kubernetes 双数号的大版本,平台支持策略如下:

  • 集群创建

TKE 支持 Kubernetes 最近三个大版本的创建,如 v1.16、v1.18、v1.20。当新版本 Kubernetes 发布并支持升级功能时,较老的一个版本将不再开放创建功能。例如,当 v1.22 版本发布且支持 v1.20 升级至 v1.22,v1.16 将不再开放创建功能;若 v1.22 版本发布但升级功能未提供,v1.16 仍然支持新集群创建。

  • 升级和运维保障

TKE 提供 v1.10 版本以后的大版本的升级功能,但平台将重点保障最近的三个 Kubernetes 大版本的升级和稳定运行。例如当前最新版本为 v1.20,则 TKE 重点保障 v1.18、v1.16、v1.14 的升级功能,并提供问题排障、故障恢复、Bugfix 等支持。过期版本的集群存在运行不稳定和集群升级失败的风险,建议您及时升级 Kubernetes 版本,

  • 工单答疑

TKE 提供最近的三个 Kubernetes 大版本的技术支持,例如答疑、在线指导、排查、排错等工作,但对于过期版本的 Kubernetes 集群,TKE 将不保证技术支持的质量和有效性。

附、K8S 各版本功能差异对比

1.21 1.22 1.23 1.24 1.25 1.26
弃用PodSecurityPolicy etcd升级到3.5.0,修复了内存泄漏及死锁等带来的错误 支持ipv4/ipv6共存 删除dockershim 删除PodSecurityPolicy 该版本暂无更多新增功能,弃用pod-eviction-timeout
 
新增
 
Pod Security Admission
支持secret及configmap上锁 支持etcd结构化日志及日志轮转 HPA V2 升级为GA beta API 默认关闭 支持cgroups v2 kube-apiserver 弃用--master-service-namespace
支持kubelet日志结构化输出 支持开启swap空间 通用临时卷功能支持StorageClass参数和PVC的全部功能 支持发布openapi v3格式的其他API 支持 Pod 之间本地临时存储的容量隔离 client-go 及kubectl 弃用gcp and azure
支持存储容量跟踪,容量不够时禁止调度pod 在存在内存资源争用时提高工作负载和节点可用性【oom事件优化】 在高负载下运行 etcd v3.5.2、v3.5.1 和 v3.5.0 可能会导致数据损坏问题 调整现有持久卷大小 引入 KMS v2alpha1 API 对 kms 数据加密使用 DEK  
   
公开当前可用的存储容量 加密静态数据
允许任何支持动态配置的现有存储驱动程序用作临时卷 存储CSI接口支持Windows IngressClass 支持 namespace 级别的参数 支持开启关闭Pod抢占 kube-proxy基础镜像变更为distroless   
CSI 健康监控底层存储系统的异常卷 支持多个 CNI 提供程序   支持gRPC 应用程序探针    
1.20弃用dockershim 移除众多API 的 beta 版本   支持ClusterIP静态分配    
  所有 Kubernetes 节点组件(包括 kubelet、kube-proxy 和容器运行时)都可以作为非 root 用户运行   弃用Service.Spec.LoadBalancerIP    
      Kube-apiserver安全性加强    

你可能感兴趣的:(k8s,容器化,云计算,kubernetes,容器,云原生)