diff --git a/content/zh-cn/blog/_posts/2022-05-03-kubernetes-release-1.24.md b/content/zh-cn/blog/_posts/2022-05-03-kubernetes-release-1.24.md new file mode 100644 index 0000000000..ecc3efe74a --- /dev/null +++ b/content/zh-cn/blog/_posts/2022-05-03-kubernetes-release-1.24.md @@ -0,0 +1,552 @@ +--- +layout: blog +title: "Kubernetes 1.24: 观星者" +date: 2022-05-03 +slug: kubernetes-1-24-release-announcement +--- + + + + + +**作者**: [Kubernetes 1.24 发布团队](https://github.com/kubernetes/sig-release/blob/master/releases/release-1.24/release-team.md) + +我们很高兴地宣布 Kubernetes 1.24 的发布,这是 2022 年的第一个版本! + +这个版本包括 46 个增强功能:14 个增强功能已经升级到稳定版,15 个增强功能正在进入 Beta 版, +13 个增强功能正在进入 Alpha 阶段。另外,有两个功能被废弃了,还有两个功能被删除了。 + + + +## 主要议题 + +### 从 kubelet 中删除 Dockershim + +在 v1.20 版本中被废弃后,dockershim 组件已被从 Kubernetes v1.24 版本的 kubelet 中移除。 +从v1.24开始,如果你依赖 Docker Engine 作为容器运行时, +则需要使用其他[受支持的运行时](/docs/setup/production-environment/container-runtimes/)之一 +(如 containerd 或 CRI-O)或使用 CRI dockerd。 +有关确保群集已准备好进行此删除的更多信息,请参阅[本指南](/zh-cn/blog/2022/03/31/ready-for-dockershim-removal/)。 + + + +### 默认情况下关闭 Beta API + +[新的 beta API 默认不会在集群中启用](https://github.com/kubernetes/enhancements/issues/3136)。 +默认情况下,现有 Beta API 和及其更新版本将继续被启用。 + + + +### 签署发布工件 + +发布工件使用 [cosign](https://github.com/sigstore/cosign) 签名进行[签名](https://github.com/kubernetes/enhancements/issues/3031), +并且有[验证图像签名](/zh-cn/docs/tasks/administer-cluster/verify-signed-images/)的实验性支持。 +发布工件的签名和验证是[提高 Kubernetes 发布过程的软件供应链安全性](https://github.com/kubernetes/enhancements/issues/3027) +的一部分。 + + + +### OpenAPI v3 + +Kubernetes 1.24 提供了以 [OpenAPI v3 格式](https://github.com/kubernetes/enhancements/issues/2896)发布其 API 的 beta 支持。 + + + +### 存储容量和卷扩展普遍可用 + +[存储容量跟踪](https://github.com/kubernetes/enhancements/issues/1472)支持通过 +[CSIStorageCapacity 对象](/zh-cn/docs/concepts/storage/storage-capacity/#api)公开当前可用的存储容量, +并增强使用具有后期绑定的 CSI 卷的 pod 的调度。 + +[卷的扩展](https://github.com/kubernetes/enhancements/issues/284)增加了对调整现有持久性卷大小的支持。 + + + +### NonPreemptingPriority 到稳定 + +此功能[为 PriorityClasses 添加了一个新选项](https://github.com/kubernetes/enhancements/issues/902),可以启用或禁用 pod 抢占。 + + + +### 存储插件迁移 + +目前正在进行[迁移树内存储插件的内部组件](https://github.com/kubernetes/enhancements/issues/625)工作, +以便在保持原有 API 的同时调用 CSI 插件。[Azure Disk](https://github.com/kubernetes/enhancements/issues/1490) +和 [OpenStack Cinder](https://github.com/kubernetes/enhancements/issues/1489) 插件都已迁移。 + + + + +### gRPC 探针升级到 Beta + +在 Kubernetes 1.24 中,[gRPC 探测功能](https://github.com/kubernetes/enhancements/issues/2727) +已进入测试版,默认可用。现在,你可以在 Kubernetes 中为你的 gRPC +应用程序原生地[配置启动、活跃度和就绪性探测](/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes), +而无需暴露 HTTP 端点或使用额外的可执行文件。 + + + +### Kubelet 凭证提供者毕业至 Beta + +kubelet 最初在 Kubernetes 1.20 中作为 Alpha 发布,现在它对[镜像凭证提供者](/zh-cn/docs/tasks/kubelet-credential-provider/kubelet-credential-provider/) +的支持已升级到 Beta。这允许 kubelet 使用 exec 插件动态检索容器映像注册表的凭据,而不是将凭据存储在节点的文件系统上。 + + + +### Alpha 中的上下文日志记录 + +Kubernetes 1.24 引入了[上下文日志](https://github.com/kubernetes/enhancements/issues/3077) +这使函数的调用者能够控制日志记录的所有方面(输出格式、详细程度、附加值和名称)。 + + + +### 避免 IP 分配给服务的冲突 + +Kubernetes 1.24 引入了一项新的选择加入功能,允许你[为服务的静态 IP 地址分配软保留范围](/docs/concepts/services-networking/service/#service-ip-static-sub-range)。 +通过手动启用此功能,集群将更喜欢从服务 IP 地址池中自动分配,从而降低冲突风险。 + + +服务的 `ClusterIP` 可以按照以下两种方式分配: + +* 动态,这意味着集群将自动在配置的服务 IP 范围内选择一个空闲 IP。 +* 静态,这意味着用户将在配置的服务 IP 范围内设置一个 IP。 + +服务 `ClusterIP` 是唯一的;因此,尝试使用已分配的 `ClusterIP` 创建服务将返回错误。 + + + +### 从 Kubelet 中删除动态 Kubelet 配置 + +在 Kubernetes 1.22 中被弃用后,动态 Kubelet 配置已从 kubelet 中删除。该功能将从 Kubernetes 1.26 的 API 服务器中删除。 + + + +## CNI 版本相关的重大更改 + +在升级到 Kubernetes 1.24 之前,请确认你正在使用/升级到经过测试可以在此版本中正常工作的容器运行时。 + +例如,以下容器运行时正在为 Kubernetes 准备,或者已经准备好了。 + +* containerd v1.6.4 及更高版本,v1.5.11 及更高版本 +* CRI-O 1.24 及更高版本 + + +当 CNI 插件尚未升级和/或 CNI 配置版本未在 CNI 配置文件中声明时,在 containerd v1.6.0–v1.6.3 +中存在 pod CNI 网络设置和拆除的服务问题。containerd 团队报告说,“这些问题在 containerd v1.6.4 中得到解决。” + +在 containerd v1.6.0-v1.6.3 版本中,如果你不升级 CNI 插件和/或声明 CNI 配置版本,你可能会遇到以下 +”CNI 版本不兼容“或“为沙箱销毁网络失败”的错误情况。 + + + +## CSI 快照 + +_此信息是在首次发布后添加的。_ + +[VolumeSnapshot v1beta1 CRD 已被移除](https://github.com/kubernetes/enhancements/issues/177)。 +Kubernetes 和容器存储接口 (CSI) 的卷快照和恢复功能,提供标准化的 API 设计 (CRD) 并添加了对 CSI 卷驱动程序的 +PV 快照/恢复支持,在 v1.20 中移至 GA。VolumeSnapshot v1beta1 在 v1.20 中被弃用,现在不受支持。 +有关详细信息,请参阅[KEP-177: CSI 快照](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/177-volume-snapshot#kep-177-csi-snapshot) +和[卷快照 GA 博客](https://kubernetes.io/blog/2020/12/10/kubernetes-1.20-volume-snapshot-moves-to-ga/)。 + + + +## 其他更新 + +### 毕业到稳定 + +在此版本中,有 14 项增强功能升级为稳定版: + + + +* [容器存储接口(CSI)卷扩展](https://github.com/kubernetes/enhancements/issues/284) +* [Pod 开销](https://github.com/kubernetes/enhancements/issues/688): 核算与 Pod 沙箱绑定的资源,但不包括特定的容器。 +* [向 PriorityClass 添加非抢占选项](https://github.com/kubernetes/enhancements/issues/902) +* [存储容量跟踪](https://github.com/kubernetes/enhancements/issues/1472) +* [OpenStack Cinder In-Tree 到 CSI 驱动程序迁移](https://github.com/kubernetes/enhancements/issues/1489) +* [Azure 磁盘树到 CSI 驱动程序迁移](https://github.com/kubernetes/enhancements/issues/1490) +* [高效的监视恢复](https://github.com/kubernetes/enhancements/issues/1904): kube-apiserver 重新启动后,可以高效地恢复监视。 +* [Service Type=LoadBalancer 类字段](https://github.com/kubernetes/enhancements/issues/1959): +引入新的服务注解 `service.kubernetes.io/load-balancer-class` ,允许在同一个集群中实现多个 `type: LoadBalancer` 服务在同一集群中的多个实现。 +* [指数化的作业](https://github.com/kubernetes/enhancements/issues/2214): 为有固定完成数的作业的 Pod 添加完成指数。 +* [在 Jobs API 中增加 Suspend 字段](https://github.com/kubernetes/enhancements/issues/2232): +在 Jobs API 中增加一个 suspend 字段,允许协调者在创建作业时对 pod 的创建有更多控制。 +* [Pod Affinity NamespaceSelector](https://github.com/kubernetes/enhancements/issues/2249): +为 pod affinity/anti-affinity 规范添加一个 `namespaceSelector` 字段。 +* [控制器管理器的领导者迁移](https://github.com/kubernetes/enhancements/issues/2436): +kube-controller-manager 和 cloud-controller-manager 可以在 HA 控制平面中应用新的控制器到控制器管理器分配,而无需停机。 +* [CSR 期限](https://github.com/kubernetes/enhancements/issues/2784): 用一种机制来扩展证书签名请求 API,允许客户为签发的证书请求一个特定的期限。 + + + +### 主要变化 + +此版本有两个主要变化: + +* [Dockershim 移除](https://github.com/kubernetes/enhancements/issues/2221) +* [Beta APIs 默认关闭](https://github.com/kubernetes/enhancements/issues/3136) + + + +### 发行说明 + +在我们的[发行说明](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md) 中查看 Kubernetes 1.24 版本的完整详细信息。 + + + +### 可用性 + +Kubernetes 1.24 可在 [GitHub](https://github.com/kubernetes/kubernetes/releases/tag/v1.24.0) 上下载。 +要开始使用 Kubernetes,请查看这些[交互式教程](/docs/tutorials/)或在本地运行。 +使用[kind](https://kind.sigs.k8s.io/),可以将容器作为 Kubernetes 集群的“节点”。 +你还可以使用 [kubeadm](/zh-cn/docs/setup/independent/create-cluster-kubeadm/) 轻松安装 1.24。 + + + +### 发布团队 + +如果没有组成 Kubernetes 1.24 发布团队的坚定个人的共同努力,这个版本是不可能实现的。 +该团队齐心协力交付每个 Kubernetes 版本中的所有组件,包括代码、文档、发行说明等。 + +特别感谢我们的发布负责人 James Laverack 指导我们完成了一个成功的发布周期, +并感谢所有发布团队成员投入时间和精力为 Kubernetes 社区提供 v1.24 版本。 + + + +### 发布主题和徽标 + +**Kubernetes 1.24: 观星者** + +{{< figure src="/images/blog/2022-05-03-kubernetes-release-1.24/kubernetes-1.24.png" alt="" class="release-logo" >}} + +Kubernetes 1.24 的主题是 is _观星者_. + + + +古代天文学家到建造 James Webb 太空望远镜的科学家,几代人都怀着敬畏和惊奇的心情仰望星空。 +星星启发了我们,点燃了我们的想象力,并引导我们在艰难的海上度过了漫长的夜晚。 + +通过此版本,我们向上凝视,当我们的社区聚集在一起时可能发生的事情。Kubernetes 是全球数百名贡献者和数千名最终用户支持的成果 +为数百万服务的应用程序。每个人都是我们天空中的一颗星星,帮助我们规划路线。 + + +发布标志由 [Britnee Laverack](https://www.instagram.com/artsyfie/) 制作, +描绘了一架位于星空和[昴星团](https://en.wikipedia.org/wiki/Pleiades)的望远镜,在神话中通常被称为“七姐妹”。 +数字 7 对于 Kubernetes 项目特别吉祥,是对我们最初的“项目七”名称的引用。 + +这个版本的 Kubernetes 为那些仰望夜空的人命名——为所有的观星者命名。 ✨ + + + + +### 用户亮点 + +* 了解领先的零售电子商务公司 [La Redoute 如何使用 Kubernetes 以及其他 CNCF 项目来转变和简化](https://www.cncf.io/case-studies/la-redoute/) +其从开发到运营的软件交付生命周期。 +* 为了确保对 API 调用的更改不会导致任何中断,[Salt Security 完全在 Kubernetes 上构建了它的微服务, +它通过 gRPC 进行通信,而 Linkerd 确保消息是加密的](https://www.cncf.io/case-studies/salt-security/)。 +* 为了从私有云迁移到公共云,[Alllainz Direct 工程师在短短三个月内重新设计了其 CI/CD 管道, +同时设法将 200 个工作流压缩到 10-15 个](https://www.cncf.io/case-studies/allianz/)。 +* 看看[英国金融科技公司 Bink 是如何用 Linkerd 更新其内部的 Kubernetes 分布,以建立一个云端的平台, +根据需要进行扩展,同时允许他们密切关注性能和稳定性](https://www.cncf.io/case-studies/bink/)。 +* 利用Kubernetes,荷兰组织 [Stichting Open Nederland](http://www.stichtingopennederland.nl/) +在短短一个半月内创建了一个测试门户网站,以帮助安全地重新开放荷兰的活动。[入门测试 (Testen voor Toegang)](https://www.testenvoortoegang.org/) +平台[利用 Kubernetes 的性能和可扩展性来帮助个人每天预订超过 400,000 个 COVID-19 测试预约。](https://www.cncf.io/case-studies/true/) +* 与 SparkFabrik 合作并利用 Backstage,[Santagostino 创建了开发人员平台 Samaritan 来集中服务和文档, +管理服务的整个生命周期,并简化 Santagostino 开发人员的工作](https://www.cncf.io/case-studies/santagostino/)。 + + + +### 生态系统更新 + +* KubeCon + CloudNativeCon Europe 2022 将于 2022 年 5 月 16 日至 20 日在西班牙巴伦西亚举行! +你可以在 [活动网站](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/) +上找到有关会议和注册的更多信息。 +* 在 [2021 Cloud Native Survey](https://www.cncf.io/announcements/2022/02/10/cncf-sees-record-kubernetes-and-container-adoption-in-2021-cloud-native-survey/) +中,CNCF 看到了创纪录的 Kubernetes 和容器采用。看看[调查结果](https://www.cncf.io/reports/cncf-annual-survey-2021/)。 +* [Linux 基金会](https://www.linuxfoundation.org/)和[云原生计算基金会](https://www.cncf.io/) (CNCF) +宣布推出新的 [云原生开发者训练营](https://training.linuxfoundation.org/training/cloudnativedev-bootcamp/?utm_source=lftraining&utm_medium=pr&utm_campaign=clouddevbc0322) +为参与者提供设计、构建和部署云原生应用程序的知识和技能。查看[公告](https://www.cncf.io/announcements/2022/03/15/new-cloud-native-developer-bootcamp-provides-a-clear-path-to-cloud-native-careers/)以了解更多信息。 + + + + + +### 项目速度 + +The [CNCF K8s DevStats](https://k8s.devstats.cncf.io/d/12/dashboards?orgId=1&refresh=15m) 项目 +汇总了许多与 Kubernetes 和各种子项目的速度相关的有趣数据点。这包括从个人贡献到做出贡献的公司数量的所有内容, +并且说明了为发展这个生态系统而付出的努力的深度和广度。 + +在[运行 17 周](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.24) +( 1 月 10 日至 5 月 3 日)的 v1.24 发布周期中,我们看到 [1029 家公司](https://k8s.devstats.cncf.io/d/9/companies-table?orgId=1&var-period_name=v1.23.0%20-%20v1.24.0&var-metric=contributions) +和 [1179 人](https://k8s.devstats.cncf.io/d/66/developer-activity-counts-by-companies?orgId=1&var-period_name=v1.23.0%20-%20v1.24.0&var-metric=contributions&var-repogroup_name=Kubernetes&var-country_name=All&var-companies=All&var-repo_name=kubernetes%2Fkubernetes) 的贡献。 + + + + +## 即将发布的网络研讨会 + +在太平洋时间 2022 年 5 月 24 日星期二上午 9:45 至上午 11 点加入 Kubernetes 1.24 发布团队的成员, +了解此版本的主要功能以及弃用和删除,以帮助规划升级。有关更多信息和注册,请访问 CNCF 在线计划网站上的 +[活动页面](https://community.cncf.io/e/mck3kd/)。 + + + +## 参与进来 + +参与 Kubernetes 的最简单方法是加入符合你兴趣的众多 [特别兴趣组](https://github.com/kubernetes/community/blob/master/sig-list.md)(SIG) 之一。 +你有什么想向 Kubernetes 社区广播的内容吗?在我们的每周的[社区会议](https://github.com/kubernetes/community/tree/master/communication) +上分享你的声音,并通过以下渠道: + +* 在 [Kubernetes Contributors](https://www.kubernetes.dev/) 网站上了解有关为 Kubernetes 做出贡献的更多信息 +* 在 Twitter 上关注我们 [@Kubernetesio](https://twitter.com/kubernetesio) 以获取最新更新 +* 加入社区讨论 [Discuss](https://discuss.kubernetes.io/) +* 加入 [Slack](http://slack.k8s.io/) 社区 +* 在 [Server Fault](https://serverfault.com/questions/tagged/kubernetes) 上发布问题(或回答问题)。 +* 分享你的 Kubernetes [故事](https://docs.google.com/a/linuxfoundation.org/forms/d/e/1FAIpQLScuI7Ye3VQHQTwBASrgkjQDSS5TP0g3AXfFhwSM9YpHgxRKFA/viewform) +* 在[博客](https://kubernetes.io/blog/)上阅读有关 Kubernetes 正在发生的事情的更多信息 +* 详细了解 [Kubernetes 发布团队](https://github.com/kubernetes/sig-release/tree/master/release-team)