火山引擎容器服务(VKE)严格遵循社区一致性认证。本文介绍容器服务发布 Kubernetes v1.20 版本所做的变更说明。
注意
容器服务将于北京时间 2024年6月30日 起不再提供 Kubernetes v1.20 版本技术支持。详细说明,请参见 集群版本公告。
表1:核心组件及说明
核心组件 | 当前版本号 | 注意事项 |
---|---|---|
Kubernetes | v1.20.15 | 无 |
Containerd Runtime | 1.6.21 | 无 |
ETCD | 3.4.13 | 无 |
CoreDNS | 1.7.0 | 无 |
表2:Kubernetes 版本与容器服务版本对应关系
Kubernetes 版本 | VKE 版本 | 发布说明 |
---|---|---|
v1.20.15 | vke.29 |
|
v1.20.15 | vke.28 | 修复 runc 容器逃逸漏洞 CVE-2024-21626。 |
v1.20.15 | vke.27 | 强化 Kubelet,支持根据调度侧的分配结果进行设备分配。 |
v1.20.15 | vke.25 | 增强弹性资源优先级调度功能,支持按比例调度和触发 Cluster Autoscaler 扩容。 |
v1.20.15 | vke.24 | 强化 API Server 参数配置,保证与社区版本的一致性。 |
v1.20.15 | vke.23 | 强化 API Server,优化参数配置方式。 |
v1.20.15 | vke.22 | 强化 API Server,修复漏洞 CVE-2023-44487 和 CVE-2023-39325。 |
v1.20.15 | vke.21 | 强化扩展调度器,避免缓存穿透 ETCD 特性。 |
v1.20.15 | vke.20 | 强化扩展调度器,增强负载感知调度功能。 |
v1.20.15 | vke.19 | 修复扩展调度器重调度 Pod 真实负载同步异常问题。 |
v1.20.15 | vke.18 |
|
v1.20.15 | vke.17 | 强化 Kubelet,优化节点网络插件初始化逻辑。 |
v1.20.15 | vke.16 | 优化 Kubernetes 集群安装流程。 |
v1.20.15 | vke.15 | 修复扩展调度器初始化异常问题。 |
v1.20.15 | vke.14 |
|
v1.20.15 | vke.13 |
|
v1.20.15 | vke.12 | 强化 Kubelet,优化 Reserve PID。 |
v1.20.15 | vke.11 | 强化 API Server,避免缓存穿透 ETCD。 |
v1.20.15 | vke.10 | 强化扩展调度器,支持负载感知调度。 |
v1.20.15 | vke.9 |
|
v1.20.15 | vke.8 | 支持 Capacity 调度。 |
v1.20.15 | vke.7 | 强化扩展调度器在大量 Pending Pod 场景下的性能。 |
v1.20.15 | vke.6 | 强化扩展调度器,支持 mGPU 算力分配策略。 |
v1.20.15 | vke.5 | 强化 Kubelet,支持节点 mGPU 大显存场景。 |
v1.20.15 | vke.4 |
|
v1.20.15 | vke.3 | 强化 API Server proxy 白名单。 |
v1.20.15 | vke.2 | 强化 API Server,禁止 proxy 0.0.0.0。 |
v1.20.12 | vke.1 | 面向容器服务提供的 Kubernetes v1.20 初始版本。 |
弃用 Dockershim。
Dockershim 正式被弃用,不再对 Docker 进行支持,社区也将在后续版本中移除。该变更与集群所使用的镜像(Image)无关,Docker 生成的遵循 OCI 规范的镜像可以继续在兼容 CRI 的运行时中运行。更多信息,请参见 Dockershim Deprecation FAQ。
Exec 探测超时处理。
修复了关于 Exec 探测超时的问题,该问题可能会影响现有 Pod 的定义。在此之前,Exec 探测器不考虑timeoutSeconds
字段。通过本次修复,如果未指定值,将使用默认值,默认值为 1 秒。如果探测时间超过 1 秒,那么现有的 Pod 定义需用更新和指定timeoutSeconds
字段。新引入的ExecProbeTimeout
特性门控所提供的修复,可以恢复集群操作到之前的行为,但这种行为将在后续版本中锁定并删除 。要恢复之前的行为,需要把ExecProbeTimeout
设置为false
。更多信息,请参见 Configure Liveness, Readiness and Startup Probes - Configure Probes。
API 优先级和公平性( APF )进入 Beta 阶段。
API 优先级和公平性(API Priority and Fairness)功能,将在 v1.20 版本默认启用,允许 kube-apiserver 按优先级对传入请求进行分类。更多信息,请参见 API Priority and Fairness。
Kubectl Debug 功能进入 Beta 阶段。kubectl alpha debug
功能达到测试状态,并被替换为kubectl debug
。 该功能直接从 kubectl 提供对常见调试工作流的支持。kubectl alpha debug
已弃用,并将在后续的版本中删除。更多信息,请参见 Debug Running Pods。
卷快照操作功能达到稳定状态。
此功能提供了一种触发卷快照操作的标准方法,并允许用户以可移植的方式在任何 Kubernetes 环境和支持的存储 provider 上进行合并快照的操作。此外,这些 Kubernetes 快照原语充当基本构建块,为 Kubernetes 的开发,提供了高级企业级存储管理功能的能力。
PID 限制功能达到 GA。SupportNodePidsLimit
(节点到 pod 的 PID 隔离)和SupportPodPidsLimit
( 限制每个 Pod 的 PID 的能力)现在均已达到 GA 状态。
部分 API 版本变更。
Ingress 和 IngressClass 资源的extensions/v1beta1
API 和networking.k8s.io/v1beta1
API 已经废弃,并且将在后续 v1.22 版本被移除。请使用networking.k8s.io/v1
替代。
Alpha 功能更新:IPv4/IPv6。
重新实现 IPv4/IPv6 以支持双栈服务,允许将 IPv4 和 IPv6 服务集群 IP 地址分配给单个服务,还允许服务从单 IP 堆栈转换为双 IP 堆栈,反之亦然。
Alpha 功能:节点优雅关闭。
用户和集群管理员希望 Pod 遵循预期的 Pod 生命周期,包括 Pod 终止。GracefulNodeShutdown
使 Kubelet 监听到节点系统关闭事件,从而在系统关闭期间优雅地终止 Pod。
关于 Kubernetes v1.20 版本的性能和功能演进的更多信息,请参见 CHANGELOG-1.20.md。