查看原文
其他

Kubernetes v1.21 重磅发布 | 新版本 6 大核心主题

K8sMeetup K8S中文社区 2023-09-21

K8sMeetup 中国社区第一时间整理了 v1.21 的亮点内容,为大家详细介绍此版本的主要功能。

整理:Sarah(K8sMeetup) 来源:K8sMeetup社区 / 原文链接

校对:木子(才云)FogDong(K8sMeetup)Bach(K8sMeetup)

美国时间 4 月 8 日,Kubernetes v1.21 正式发布,这是 Kubernetes 在 2021 年发布的第一个版本。此版本包含 51 项增强功能:13 项增强功能已进入稳定阶段,16 项增强功能已转为 beta 版,20 项增强功能已进入 alpha 版,弃用了 2 项功能。

Major Themes

新版本围绕以下主题:1CronJobs 已稳定自 Kubernetes v1.8 起,CronJobs(以前称为 ScheduledJobs)已经成为 beta 版功能。CronJob 用于执行定期的计划操作,如备份、报告生成等。所有这些任务中都应配置为无限期重复(如每天、每周、每月一次);用户可在该时间间隔内定义 job 应开始的时间点。从 Kubernetes v1.21 开始,这个广泛使用的 API 将进入稳定阶段2不可变 Secret 和 ConfigMap不可变 Secret 和 ConfigMap 向各自的资源类型中加入了新字段,确保新资源拒绝对这两种对象的更改。默认情况下,Secret 和 ConfigMap 是可变的,这对于能够使用更改的 Pod 很有用。如果为使用 Secret 和 ConfigMap 的 Pod 推送错误的配置,也会导致问题。通过将 Secret 和 ConfigMap 标记为不可变,可以确保应用程序配置不会更改。如果要进行更改,则需要创建一个唯一已命名的 Secret 或 ConfigMap,并部署一个新 Pod 来使用该资源。不可变资源还具有扩展优势,因为 Controller 不需要轮询 API 服务器来监视更改。从 Kubernetes v1.21 开始,不可变 Secret 和 Configmap 已成为稳定功能3IPv4 / IPv6 双协议栈支持IP 地址是集群运维和管理人员需要确保不会耗尽的消耗性资源,尤其是在现在公共 IPv4 地址很稀缺的情况下。双栈支持可以将原生 IPv6 路由到 Pod 和 service,同时仍允许集群在需要的地方使用 IPv4。双栈集群网络还改善了工作负载可能会出现的扩展限制。Kubernetes 中的 IPv4 / IPv6 双协议栈支持意味着 Pod、service 和节点可以获取 IPv4 地址和 IPv6 地址。在Kubernetes v1.21 中,双栈网络已从 alpha 功能升级到 beta 功能,并且默认启用。4优雅的节点关闭优雅的节点关闭功能在此版本中也已升级到 beta 功能(现在可供更多用户使用)。这是一项非常有用的功能,它使 kubelet 可以知道节点已关闭,并可以优雅地终止计划到该节点的 Pod。目前,当节点关闭时,Pod 不会遵循预期的终止生命周期,因此无法正常关闭,这会给很多工作负载带来问题。从 Kubernetes v1.21 开始,kubelet 将能够通过 systemd 检测即将发生的系统关闭,然后通知正在运行的 Pod,以便它们尽可能正常地终止。5持久卷健康监控持久卷(PV)在应用程序中可用于获取基于文件的本地存储。它们能以多种不同的方式使用,并可以帮助用户迁移应用程序而无需重新编写存储后端。Kubernetes v1.21 具有一项新的 alpha 功能,该功能可以监视 PV 的健康状况,并在 volume 变得不健康时进行相应的标记。工作负载将能够对 PV 的健康状况做出反应,以保护不正常的 volume 中不会有数据写入或读取。6减少 Kubernetes 的构建维护以前,Kubernetes 维护了多个构建系统。这对于贡献者来说非常复杂。在上一个发行周期中,已投入大量工作来简化构建过程,并标准化了原生 Golang 构建工具。这将使社区得到更广泛的维护,并降低新贡献者的入门门槛。

主要变化

1弃用 PodSecurityPolicy在 Kubernetes v1.21 中,PodSecurityPolicy 已弃用。和其它 Kubernetes 已弃用的功能一样,PodSecurityPolicy 将继续在多个版本中完整可用。作为此前的 beta 功能,PodSecurityPolicy 将在Kubernetes v1.25 中被删除。
社区正在开发一种新的内置机制来帮助限制 Pod 特权,该机制称为“ PSP Replacement Policy”。计划是用这种新机制覆盖主要的 PodSecurityPolicy 用例,并大大改善可维护性。2弃用 topologyKeysService 字段 topologyKeys 在 Kubernetes v1.21 中已弃用。使用此字段的所有组件功能以前为 alpha,现在都已弃用。目前社区已经用一种实现拓扑感知路由的方法(称为 topology-aware hints,拓扑感知提示)替换了 topologyKeys。拓扑感知提示是 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 版。

发布 logo

Kubernetes v1.21 的发布 logo 是一个七边形地球仪,描绘了发布团队全球化的属性。发布团队的多样性带来了很多挑战,但是团队通过采用异步沟通的实践解决了所有这些挑战。发布 logo 中的七边形地球仪标志着社区克服挑战的绝对决心。发行团队经过过去三个月惊人的团队合作,带来了一个有趣的 Kubernetes 发布版本,以此发布 logo 庆祝!

小结

Kubernetes v1.21 发布周期历时 12 周(1 月 11 日-4 月 8 日),贡献者来自 999 家公司以及 1279 位个人。随着 Kubernetes 越来越稳定,其采用也越来越广泛,社区也不断繁荣壮大。本文简单介绍了 Kubernetes v1.21 中的重要增强功能,以及企业用户和个人开发者可能会比较关注的新功能。关于新版本的更多内容,请查看官方文档:https://kubernetes.io/blog/2021/04/08/kubernetes-1-21-release-announcement/https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md
END
Kubernetes CKA实战培训班推荐4月16日:线上直播班

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存