kubernetes 版本更新记录(1.11-1.22)

可直接查看官方github: https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG,包含1.2.md 至当前最新的 1.23.md,共22个版本。

这里简单记录 1.11至1.23的更新要点,方便查阅。更早的版本参考以前记录的这篇文章——《从 k8s changelog 了解 k8s》

发布通知可参考:https://groups.google.com/g/kubernetes-announce

周数 版本 时间 笔记
50 1.23 (12 月 7 日) KubeCon + CloudNativeCon NA
15 1.24 (4 月 12 日)  
    (4 月 26 日) KubeCon + CloudNativeCon EU
32 1.25 (8 月 9 日)  
    (8 月 22 日) KubeCon + CloudNativeCon NA
49 1.26 (12 月 6 日)  

1.23(未发布)

  • 使用 Golang 1.16.7 构建
  • Client-go 事件库允许自定义垃圾邮件过滤功能。
  • 允许节点扩展本地卷
  • 将 Cluster Autosaler 更新到 1.22.0 版
  • 更新基础镜像包
    • debian 到 v1.9.0
    • debian-iptables 到 v1.6.6
    • setcap 到 v2.0.4
  • apiserver 公开了 4 个 CIDR 分配状态的新指标
  • cri-tools 依赖更新到 v1.22.0

1.22 (2021-08-06)

53 项增强功能:13 项增强功能已升级到稳定版,24 项增强功能正在进入 beta 版,16 项增强功能正在进入 Alpha 版,还有 3 项功能已经被弃用。

  • 发布周期从每年 4 个版本更改为 3 个版本。
    • Kubernetes 发布周期的长度约为 15 周。
    • 第一个 Kubernetes 版本应该在 1 月的第二/三个星期开始。
    • 最后一个 Kubernetes 版本应该在 12 月中旬完成。
  • 使用 Golang 1.16.7 构建
  • 删除几个 beta Kubernetes API

  • 服务器端应用(Server-side Apply)GA。 Kubernetes API 服务器上运行的一个新的字段所有权和对象合并算法。
  • Kubernetes客户端凭证插件, Stable。1.11版本以来一直处于测试。
  • etcd 更新至3.5.0-beta.3。
  • cgroups v2 API 控制内存分配与隔离,内存QoS。alpha
  • node 节点支持 swap。
  • Windows 增强和功能。
  • kubelet seccomp 配置文件。 alpha
  • 非 root 用户的身份运行 kubeadm 控制平面组件,v1beta3 为首选api版本。alpha
  • client-go 凭证插件 GA

1.21 (2021-01-11~4-8)

51 项增强功能:13 项增强功能已进入稳定阶段,16 项增强功能已转为 beta 版,20 项增强功能已进入 alpha 版,弃用了 2 项功能。

  • CronJobs,GA
  • 不可变secret/configmap,stable
  • IPv4 / IPv6 双协议栈支持,beta。双栈支持可以将原生 IPv6 路由到 Pod 和 service,同时仍允许集群在需要的地方使用 IPv4。
  • kubelet 优雅节点关闭,alpha
  • pv 健康监控。 alpha
  • 简化构建kubernetes,标准化原生 Golang 构建工具
  • 弃用 PodSecurityPolicy,v1.25 中删除。
  • 弃用 topologyKeys,改由topology-aware hints(拓扑感知提示)替换,alpha。
  • EndpointSlice stable
  • sysctl 支持 stable

1.20 (2020.12.08)

42 项增强功能:11 项增强功能已升级到稳定版,15 项增强功能正在进入测试版,16 项增强功能正在进入 Alpha 版

  • Volume 快照,快照支持需要 Kubernetes 发行厂商捆绑 Snapshot 控制器、Snapshot CRD 和验证 Webhook。支持快照功能的 CSI 驱动程序也要部署在集群上。
  • Kubectl Debug beta
  • 默认启用 API 优先级和公平性 (APF)
  • IPV4/IPV6 alpha
  • 进程 PID 稳定性限制 GA
  • kubelet 优雅节点关闭,alpha
  • Dockershim弃用
  • Exec 探测超时处理

1.19 (2020.08.26)

33 个增强功能:其中 12 个增强功能已趋于稳定,18 个进入 beta,13 个进入 alpha。

  • 将 Kubernetes 的支持周期延长到一年
  • 储存容量追踪
  • CSI 健康状况监控 Alpha
  • Ingress API, GA
  • 结构化日志,Klog
  • Kubelet 客户端 TLS 证书轮换,请求证书签名成为 kubelet 启动过程的一部分,stable
  • Seccomp,stable
  • 限制节点对 API 的访问,stable
  • 重新设计 Event API,stable
  • Ingress V1,stable
  • CertificateSigningRequest API,stable
  • 在没有 Docker 的情况下构建 Kubelet,stable

1.18(2020-03-25)

38 个增强功能:其中 15 个增强功能已趋于稳定,11 个 beta,12 个进入 alpha

  • Kubernetes 拓扑管理器,beta
  • Serverside Apply,beta
  • 用 IngressClass 扩展 Ingress
  • 引入 kubectl debug,alpha
  • 引入 Windows CSI 支持,alpha
  • 基于污点的驱逐,stable
  • kubectl diff,stable
  • CSI 块存储支持,stable
  • API Server dry run ,stable
  • 在 CSI call 中传递 Pod 信息,stable
  • 支持 Out-of-Tree vSphere 云提供商,stable
  • 支持针对 Windows 工作负载的 GMSA,stable
  • 跳过 non-attachable CSI 的 attach,stable
  • PVC 克隆,stable
  • 将 kubectl 软件包代码移至暂存,stable
  • Windows 的 RunAsUserName,stable
  • 适用于服务和端点的 AppProtocol,stable
  • 扩展 Hugepage 功能,stable
  • 客户端签名重构,以标准化选项和上下文处理,stable
  • 节点本地 DNS 缓存,stable

1.17(2019-12-09)

22项改进:14项功能毕业升至GA版本,4项升至Beta版本,4项增强升至Alpha版本。

  • 云服务供应商标签功能,GA
  • 卷快照功能,beta
  • CSI迁移,Beta
  • 服务路由拓扑感知功能,Alpha
  • Windows功能增强
  • 添加IPv4/IPv6 双栈协议支持
  • 遵循条件的Taint节点,GA
  • 可配置的Pod进程命名空间共享,GA
  • 可使用kube-scheduler调度DaemonSet Pod,GA
  • 节点最大存储卷数量的动态和通用机制支持,GA
  • Kubernetes CSI 拓扑支持,GA
  • 在SubPath Mount中提供环境变量扩展,GA
  • 缺省自定义资源支持,GA
  • 将高频度Kubelet节点续约行为视为健康确认,GA
  • 拆分 Kubernetes的Test压缩包文件(从整个kubernetes-test.tar.gz文件拆分为按操作系统分的压缩包),GA
  • 添加Watch Bookmarks支持,GA
  • 行为驱动的一致性测试,GA
  • 为服务负载均衡器提供中止器保护,GA
  • 避免对各Watcher中的同一对象进行序列化,GA

1.16(2019-09-18)

31 个增强功能组成:8 个进入稳定,8 个进入 Beta,15 个进入 Alpha。

  • CRD ,GA
  • Admission webhook,GA
  • Overhauled metrics
  • Volume Extension,Beta
  • 拓扑管理器,一个新的 Kubelet 组件
  • IPv4/IPv6 双栈,引入
  • API Server Network Proxy ,Alpha
  • Cloud Controller Manager Migration 增强

1.15( 2019-06-19)

25 个增强功能组成:2 个进入稳定,13 个进入 Beta,10 个进入 Alpha。

正在 CRD 的 GA 版本和 admission webhooks GA 的道路上

  • CRD
    • 重新考虑了在 CRD 中使用基于 OpenAPI 的验证模式
    • 根据 structural schema 的限制检查资源定义(这基本上强制了 CustomResource 中每个字段使用非多态和完整类型)
    • CustomResourceDefinition Webhook 转换,Beta
    • CustomResourceDefinition OpenAPI 发布,Beta
    • CustomResourceDefinitions 自动删除发送到 Kubernetes API 对象中的未知字段
    • CustomResourceDefinition 默认值
  • Admission Webhook 重构和改进
  • 集群生命周期稳定性和可用性:kubeadm api v1beta2
  • CSI 持续改善
  • Kubernetes Core 支持 Go module
  • 继续筹备云提供商的提取和代码组织。云提供商代码现已移至 kubernetes/legacy-cloud-providers,以便以后更容易删除和方便外部使用;
  • Kubectl 的 get 和 describe 现在适用于扩展;
  • 节点现在支持第三方监控插件;
  • 一个用于调度插件的新调度框架已进入 Alpha;
  • 用于在容器中触发 hook 命令的 ExecutionHook API 现在已进入 Alpha;

1.14(2019-03-25)

31 项功能强化构成:10 个功能已经稳定,12 个功能进入 Beta,7 个全新功能。

  • 生产级 Windows 节点支持
  • 新的 kubectl 文档, kubectl 插件机制 GA,集成 kustomize
  • 持久化本地存储卷 GA
  • 应用就绪状态判断的改进:Pod Readiness Gates (Pod Ready++)
  • Pod 优先级与抢占式调度 Beta
  • PID 限制:beta
  • kubeadm:在 HA 设置中自动执行控制平面之间的证书复制

1.13 (2018-12-03)

史上发布时间最短的版本,只利用了 10 周的时间。

  • 使用 kubeadm 简化集群管理,GA
  • Container Storage Interface(CSI), GA
  • 以CoreDNS 作为默认 DNS。
  • SIG API Machinery beta
  • SIG Auth 改进

1.12 (2018-09-27)

  • Kubelet TLS Bootstrap GA
  • SIG API Machinery
  • SIG-autoscaling
  • Scheduling 提高调度器性能和可靠性方面开发:
    • 通过对算法优化,提高 Pod 亲和/反亲和特性,性能提升超过 100X;
    • DaemonSet pods由默认调度程序调度;
    • 调度程序吞吐量提高约 50%
  • Originating Identity 特性
  • Namespace 代理,GA

1.11 (2018-06-27)

增强网络方面的主要功能,为 SIG-API Machinery 和 SIG-Node 提供了两个主要功能用于 beta 测试,持续增强过去两个版本关注的存储功能。

  • SIG API Machinery 主要集中在 CustomResoures 方面
    • CustomResources 的子资源现在进入 beta 版本,并且默认开启
    • CustomResourceDefinitions 现在可以定义多个版本
  • 基于 IPVS 的集群内负载均衡
  • CoreDNS 进入 GA
  • 动态 Kubelet 配置, Beta
  • CSI 的增强

关于 ietf rfc 和 k8s kep 《十四五规划和2035年远景》的一些摘抄