kubernetes 版本更新记录(1.11-1.22)
2021-08-09 tech kubernetes 15 mins 5599 字
可直接查看官方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 的增强