You need to enable JavaScript to run this app.
导航

(即将停止维护)容器服务发布 Kubernetes v1.20 版本说明

最近更新时间2024.03.21 14:48:24

首次发布时间2022.04.19 10:24:53

火山引擎容器服务(VKE)严格遵循社区一致性认证。本文介绍容器服务发布 Kubernetes v1.20 版本所做的变更说明。

注意

容器服务将于北京时间 2024年6月30日 起不再提供 Kubernetes v1.20 版本技术支持。详细说明,请参见 集群版本公告

版本发布说明

表1:核心组件及说明

核心组件当前版本号注意事项
Kubernetesv1.20.15
Containerd Runtime1.6.21
ETCD3.4.13
CoreDNS1.7.0

表2:Kubernetes 版本与容器服务版本对应关系

Kubernetes 版本VKE 版本发布说明

v1.20.15

vke.29

  • 强化 Kubelet,支持配置容器资源视图。
  • 强化 Kubelet,支持通过 Annotation 配置被驱逐 Pod 的优雅退出时间。
  • 修复扩展调度器负载感知调度异常问题。
v1.20.15vke.28修复 runc 容器逃逸漏洞 CVE-2024-21626
v1.20.15vke.27强化 Kubelet,支持根据调度侧的分配结果进行设备分配。
v1.20.15vke.25增强弹性资源优先级调度功能,支持按比例调度和触发 Cluster Autoscaler 扩容。
v1.20.15vke.24强化 API Server 参数配置,保证与社区版本的一致性。
v1.20.15vke.23强化 API Server,优化参数配置方式。
v1.20.15vke.22强化 API Server,修复漏洞 CVE-2023-44487CVE-2023-39325
v1.20.15vke.21强化扩展调度器,避免缓存穿透 ETCD 特性。
v1.20.15vke.20强化扩展调度器,增强负载感知调度功能。
v1.20.15vke.19修复扩展调度器重调度 Pod 真实负载同步异常问题。

v1.20.15

vke.18

  • 强化扩展调度器,支持根据热点负载进行打散重新调度。
  • 强化扩展调度器,支持调度过程中将节点信息注入到 Pod。
v1.20.15vke.17强化 Kubelet,优化节点网络插件初始化逻辑。
v1.20.15vke.16优化 Kubernetes 集群安装流程。
v1.20.15vke.15修复扩展调度器初始化异常问题。

v1.20.15

vke.14

  • 修复 Kubelet 因节点资源竞争导致的问题。
  • 修复 Kubelet 在节点网络未就绪时,无法更新 NetworkUnavailable Conditions 的问题。

v1.20.15

vke.13

  • 强化 kube-controller-manager,支持非优雅节点停机特性。
  • 强化 kube-controller-manager force-deatch 特性。
  • 强化扩展调度器,支持 mGPU 跨卡共享功能。
v1.20.15vke.12强化 Kubelet,优化 Reserve PID。
v1.20.15vke.11强化 API Server,避免缓存穿透 ETCD。
v1.20.15vke.10强化扩展调度器,支持负载感知调度。

v1.20.15

vke.9

  • 强化 API Server 细粒度请求观测能力。
  • 强化扩展调度器打分插件配置。
v1.20.15vke.8支持 Capacity 调度。
v1.20.15vke.7强化扩展调度器在大量 Pending Pod 场景下的性能。
v1.20.15vke.6强化扩展调度器,支持 mGPU 算力分配策略。
v1.20.15vke.5强化 Kubelet,支持节点 mGPU 大显存场景。

v1.20.15

vke.4

  • 强化扩展调度器,支持 Gang、Binpack 和 mGPU 共享调度策略。
  • 强化 Kubelet,支持其目录使用 Bind Mount。
  • 强化 NodeLifeCycleController,在 Virtual Node 失联时不再驱逐 Pod。
v1.20.15vke.3强化 API Server proxy 白名单。
v1.20.15vke.2强化 API Server,禁止 proxy 0.0.0.0。

v1.20.12

vke.1

面向容器服务提供的 Kubernetes v1.20 初始版本。
在 IPVS 模式下,默认不设置conn_reuse_mode为 0。

Kubernetes 社区版本解读

  • 弃用 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