Posts in 2024
Kubernetes 1.31:针对 Job 的 Pod 失效策略进阶至 GA
By Michał Woźniak (Google), Shannon Kularathna (Google) | 2024.08.19 in 博客
这篇博文阐述在 Kubernetes 1.31 中进阶至 Stable 的 Pod 失效策略,还介绍如何在你的 Job 中使用此策略。 关于 Pod 失效策略 当你在 Kubernetes 上运行工作负载时,Pod 可能因各种原因而失效。 理想情况下,像 Job 这样的工作负载应该能够忽略瞬时的、可重试的失效,并继续运行直到完成。 要允许这些瞬时的失效,Kubernetes Job 需包含 backoffLimit 字段, 此字段允许你指定在 Job 执行期间你愿意容忍的 Pod 失效次数。然 …
Kubernetes 1.31:基于 OCI 工件的只读卷 (Alpha)
By Sascha Grunert | 2024.08.16 in 博客
Kubernetes 社区正朝着在未来满足更多人工智能(AI)和机器学习(ML)使用场景的方向发展。 虽然此项目在过去设计为满足微服务架构,但现在是时候听听最终用户的声音并引入更侧重于 AI/ML 的特性了。 其中一项需求是直接支持与开放容器倡议(OCI) 兼容的镜像和工件(称为 OCI 对象)作为原生卷源。 这使得用户能够专注于 OCI 标准,且能够使用 OCI 镜像仓库存储和分发任何内容。 与此类似的特性让 Kubernetes 项目有机会扩大其使用场景,不再局限于运行特定镜像。 在这一背 …
Kubernetes 1.31:防止无序删除时 PersistentVolume 泄漏
By Deepak Kinni (Broadcom) | 2024.08.16 in 博客
PersistentVolume(简称 PV) 具有与之关联的回收策略。 回收策略用于确定在删除绑定到 PV 的 PVC 时存储后端需要采取的操作。当回收策略为 Delete 时, 期望存储后端释放为 PV 所分配的存储资源。实际上,在 PV 被删除时就需要执行此回收策略。 在最近发布的 Kubernetes v1.31 版本中,一个 Beta 特性允许你配置集群以这种方式运行并执行你配置的回收策略。 在以前的 Kubernetes 版本中回收是如何工作的? …
Kubernetes 1.31:podAffinity 中的 matchLabelKeys 进阶至 Beta
By Kensei Nakada (Tetrate) | 2024.08.16 in 博客
Kubernetes 1.29 在 podAffinity 和 podAntiAffinity 中引入了新的字段 matchLabelKeys 和 mismatchLabelKeys。 在 Kubernetes 1.31 中,此特性进阶至 Beta,并且相应的特性门控(MatchLabelKeysInPodAffinity)默认启用。 matchLabelKeys - 为多样化滚动更新增强了调度 在工作负载(例如 Deployment)的滚动更新期间,集群中可能同时存在多个版本的 Pod。 然 …
Kubernetes 1.31:通过 VolumeAttributesClass 修改卷进阶至 Beta
By Sunny Song (Google) Matthew Cary (Google) | 2024.08.15 in 博客
在 Kubernetes 中,卷由两个属性描述:存储类和容量。存储类是卷的不可变属性, 而容量可以通过卷调整大小进行动态变更。 这使得使用卷的工作负载的垂直扩缩容变得复杂。 虽然云厂商和存储供应商通常提供了一些允许指定注入 IOPS 或吞吐量等 IO 服务质量(性能)参数的卷,并允许在工作负载运行期间调整这些参数,但 Kubernetes 没有提供用来更改这些参数的 API。 我们很高兴地宣布,自 Kubernetes 1.29 起以 Alpha …
Kubernetes 1.31:对 cgroup v1 的支持转为维护模式
By Harshal Patil | 2024.08.14 in 博客
随着 Kubernetes 不断发展,为了适应容器编排全景图的变化,社区决定在 v1.31 中将对 cgroup v1 的支持转为维护模式。 这一转变与行业更广泛地向 cgroup v2 的迁移保持一致,后者的功能更强, 包括可扩展性和更加一致的接口。在我们深入探讨对 Kubernetes 的影响之前, 先回顾一下 cgroup 的概念及其在 Linux 中的重要意义。 理解 cgroup 控制组(Control Group)也称为 cgroup, 是 Linux 内核的一项特性,允许在进程之 …
Kubernetes v1.31: Elli
By Kubernetes v1.31 Release Team | 2024.08.13 in 博客
编辑: Matteo Bianchi, Yigit Demirbas, Abigail McCarthy, Edith Puclla, Rashan Smith Kubernetes v1.31:Elli 宣布发布! 与之前的版本类似,Kubernetes v1.31 的发布中引入了新的稳定版、Beta 版和 Alpha 特性功能。 持续提供高质量的版本彰显了我们开发周期的强劲实力以及社区的大力支持。 此版本包含 45 项增强功能。 在这些增强功能中,11 项已升级到稳定版,22 …
向 Client-Go 引入特性门控:增强灵活性和控制力
By Ben Luddy (Red Hat), Lukasz Szaszkiewicz (Red Hat) | 2024.08.12 in 博客
Kubernetes 组件使用称为“特性门控(Feature Gates)”的开关来管理添加新特性的风险, 特性门控机制使特性能够通过 Alpha、Beta 和 GA 阶段逐步升级。 Kubernetes 组件(例如 kube-controller-manager 和 kube-scheduler)使用 client-go 库与 API 交互, 整个 Kubernetes 生态系统使用相同的库来构建控制器、工具、webhook 等。 client-go 现在包含自己的特性门控机制,使开发人员和 …
聚焦 SIG API Machinery
By Frederico Muñoz (SAS Institute) | 2024.08.07 in 博客
我们最近与 SIG API Machinery 的主席 Federico Bongiovanni(Google)和 David Eads(Red Hat)进行了访谈, 了解一些有关这个 Kubernetes 特别兴趣小组的信息。 介绍 Frederico (FSM):你好,感谢你抽时间参与访谈。首先,你能做个自我介绍以及你是如何参与到 Kubernetes 的? David:我在 2014 年秋天开始在 OpenShift (Red Hat 的 Kubernetes 发行版)工作, …
Kubernetes v1.31 中的移除和主要变更
By Abigail McCarthy, Edith Puclla, Matteo Bianchi, Rashan Smith, Yigit Demirbas | 2024.07.19 in 博客
随着 Kubernetes 的发展和成熟,为了项目的整体健康,某些特性可能会被弃用、删除或替换为更好的特性。 本文阐述了 Kubernetes v1.31 版本的一些更改计划,发行团队认为你应当了解这些更改, 以便持续维护 Kubernetes 环境。 下面列出的信息基于 v1.31 版本的当前状态;这些状态可能会在实际发布日期之前发生变化。 Kubernetes API 删除和弃用流程 Kubernetes 项目针对其功能特性有一个详细说明的弃用策略。 此策略规定,只有当某稳定 API 的更 …