Kubernetes v1.21 版本现已经正式发布且提供下载了,该版是 2021 年以来发布的首个版本。以下将介绍它的新功能和主要更新,包括新的特性。如要更新升级,请参考快速升级到Kubernetes 1.12.2的方法,请自行把版本号改成1.21.0。
前言 此版本共包含 51 项增强功能,其中,13 项增强功能已升级到稳定阶段,16 项增强功能转换为 Beta 版,20 项增强功能进入 alpha 版,还有 2 个功能被弃用。Kubernetes v1.21 发布周期历时 12 周(2021 年 1 月 11 日 至 4 月 8 日),贡献者包括了 999 家公司以及 1279 位个人。
Kubernetes v1.21 版本新功能和主要更新内容 一、Major Themes 1]、CronJobs 达到稳定阶段 CronJobs(以前称为 ScheduledJobs)自 Kubernetes 1.8 开始就进入了 beta 阶段。现在从 Kubernetes v1.21 开始,这个广泛使用的 API 则将进入稳定阶段。 CronJob 用于执行定期的计划操作,如备份、报告生成等。所有这些任务中都应配置为无限期重复(如:每天/每周/每月一次);用户可在该时间间隔内定义 job 应开始的时间点。 2]、不可变的 Secret 和 ConfigMap 不可变的 Secrets 和 ConfigMap 向各自的资源类型中添加了新字段,确保新资源拒绝对这两种对象的更改。默认情况下,Secrets 和 ConfigMap 是可变的,这对于能够使用更改的 Pod 很有用。如果为使用 Secrets 和 ConfigMap 的 Pod 推送错误的配置,也会导致问题。 通过将 Secrets 和 ConfigMaps 标记为不可变,可以确保用户的应用程序配置不会更改。如果要进行更改,则需要创建一个唯一已命名的 Secret 或 ConfigMap,并部署一个新的 Pod 来使用该资源。不可变的资源还具有扩展优势,因为 controller 不需要轮询 API 服务器来监视更改。 该功能已在 Kubernetes 1.21 中达到稳定阶段。 3]、IPv4/IPv6 双协议栈支持 IP 地址是集群运维和管理员需要确保不会耗尽的一种消耗性资源。尤其是,公共 IPv4 地址现在很稀缺。具有双栈支持,可以将原生 IPv6 路由到 Pod 和 services,同时仍允许集群在需要的地方使用 IPv4。双栈集群网络还改善了工作负载的可能扩展限制。 Kubernetes 中的双协议栈意味着 Pod、services 和节点可以获取 IPv4 地址和 IPv6 地址。在 Kubernetes 1.21 中,双栈网络已从 alpha 升级到 beta,并且默认启用。 4]、优雅的节点关闭 优雅的节点关闭功能在此版本中也已升级到 Beta 版(现在可供更多用户使用)。这是一项非常有用的功能,它使 kubelet 可以知道节点已关闭,并可以优雅地终止计划到该节点的 Pod。 当前,当节点关闭时,Pod 不会遵循预期的终止生命周期,因此无法正常关闭,导致会给很多工作负载带来问题。展望未来,kubelet 将能够通过 systemd 检测即将发生的系统关闭,然后通知正在运行的 Pod,以便它们可以尽可能正常地终止。 5]、持久卷健康监控 持久卷(Persistent Volumes,PV)通常在应用程序中用于获取基于文件的本地存储。它们能以多种不同的方式使用,并可以帮助用户迁移应用程序而无需重新编写存储后端。 Kubernetes v1.21 具有一项新的 alpha 功能,该功能可以监视 PV 的健康状况,并在 volume 变得不健康时进行相应标记。工作负载将能够对健康状况做出反应,以保护数据不会被从不健康的 volume 中写入或读取。 6]、减少 Kubernetes 的构建维护 以前,Kubernetes 维护了多个构建系统。对于新的和现有的贡献者来说,这通常是造成摩擦和复杂性的根源。 在上一个发行周期中,已投入大量工作来简化构建过程,并在原生 Golang 构建工具上实现标准化。这应能使社区得到更广泛的维护,并降低新贡献者的进入门槛。 二、Major Changes 1]、PodSecurityPolicy 弃用 在 Kubernetes 1.21 中,弃用 PodSecurityPolicy。与所有 Kubernetes 已弃用的功能一样,PodSecurityPolicy 将继续在多个版本中完整可用。作为此前的 beta 功能,PodSecurityPolicy 将在Kubernetes v1.25 中被删除。 官方表示,其正开发一种新的内置机制来帮助限制 Pod 特权,名为“PSP Replacement Policy”。计划用这种新机制覆盖主要的 PodSecurityPolicy 用例,并大大改善可维护性。 2]、TopologyKeys 弃用 Service 字段 topologyKeys 现在已经被弃用;所有使用该字段的组件功能之前都是 alpha,现在也已弃用。开发团队表示,其已经用一种实现拓扑感知路由的方法取代了 topologyKeys,该方法名为拓扑感知提示(topology-aware hints)。目前,拓扑感知提示是 Kubernetes v1.21 中的一个 alpha 功能。 三、其他更新 1]、进入稳定阶段的功能: EndpointSlice。 新增 sysctl 支持。 PodDisruptionBudgets。 2]、重要功能更新: External client-go credential providers:在 Kubernetes v1.21 中达到 beta 阶段。 Structured logging:将在 Kubernetes v1.22 中达到 beta 阶段。 TTL after finish cleanup for Jobs and Pods:在 Kubernetes v1.21 中达到 beta 阶段。
下载链接 下载地址:https://github.com/kubernetes/kubernetes/releases/ Kubernetes 网站:https://kubernetes.io/
相关主题 |