Posts in 2024
Kubernetes v1.31:kubeadm v1beta4
By Paco Xu (DaoCloud) | 2024.08.23 in 博客
作为 Kubernetes v1.31 发布的一部分,kubeadm 采用了全新版本(v1beta4)的配置文件格式。 之前 v1beta3 格式的配置现已正式弃用,这意味着尽管之前的格式仍然受支持,但你应迁移到 v1beta4 并停止使用已弃用的格式。 对 v1beta3 配置的支持将在至少 3 次 Kubernetes 次要版本发布后被移除。 在本文中,我将介绍关键的变更;我将解释 kubeadm v1beta4 配置格式,以及如何从 v1beta3 迁移到 v1beta4。 …
Kubernetes v1.31:全新的 Kubernetes CPUManager 静态策略:跨核分发 CPU
By Jiaxin Shan (Bytedance) | 2024.08.22 in 博客
在 Kubernetes v1.31 中,我们很高兴引入了对 CPU 管理能力的重大增强:针对 CPUManager 静态策略的 distribute-cpus-across-cores 选项。此特性目前处于 Alpha 阶段, 默认被隐藏,标志着旨在优化 CPU 利用率和改善多核处理器系统性能的战略转变。 理解这一特性 传统上,Kubernetes 的 CPUManager 倾向于尽可能紧凑地分配 CPU,通常将这些 CPU 打包到尽可能少的物理核上。 然而,分配策略很重要,因为同一物理主机 …
Kubernetes 1.31:kubectl debug 中的自定义模板化配置特性已进入 Beta 阶段
By Arda Güçlü (Red Hat) | 2024.08.22 in 博客
有很多方法可以对集群中的 Pod 和节点进行故障排查,而 kubectl debug 是最简单、使用最广泛、最突出的方法之一。 它提供了一组静态配置,每个配置适用于不同类型的角色。 例如,从网络管理员的视角来看,调试节点应该像这样简单: $ kubectl debug node/mynode -it --image=busybox --profile=netadmin 另一方面,静态配置也存在固有的刚性,对某些 Pod 所产生的影响与其易用性是相悖的。 因为各种类型的 Pod(或节点)都有其特 …
Kubernetes 1.31:流式传输从 SPDY 转换为 WebSocket
By Sean Sullivan (Google) Shannon Kularathna (Google) | 2024.08.20 in 博客
在 Kubernetes 1.31 中,kubectl 现在默认使用 WebSocket 协议而不是 SPDY 进行流式传输。 这篇文章介绍了这些变化对你意味着什么以及这些流式传输 API 的重要性。 Kubernetes 中的流式 API 在 Kubernetes 中,某些以 HTTP 或 RESTful 接口公开的某些端点会被升级为流式连接,因而需要使用流式协议。 与 HTTP 这种请求-响应协议不同,流式协议提供了一种持久的双向连接,具有低延迟的特点,并允许实时交互。 流式协议支持在客户 …
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 …
向 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 的更 …
Kubernetes 的十年
By Bob Killen (CNCF), Chris Short (AWS), Frederico Muñoz (SAS), Kaslin Fields (Google), Tim Bannister (The Scale Factory), 以及全球的每一位贡献者 | 2024.06.06 in 博客
十年前的 2014 年 6 月 6 日,Kubernetes 的第一次提交被推送到 GitHub。 第一次提交包含了 250 个文件和 47,501 行的 Go、Bash 和 Markdown 代码, 开启了我们今天所拥有的项目。谁能预测到 10 年后,Kubernetes 会成长为迄今为止最大的开源项目之一, 拥有来自超过 8,000 家公司、来自 44 个国家的 88,000 名贡献者。 这一里程碑不仅属于 Kubernetes,也属于由此蓬勃发展的云原生生态系统。 在 CNCF 本身就有 …
完成 Kubernetes 史上最大规模迁移
By Andrew Sy Kim (Google), Michelle Au (Google), Walter Fender (Google), Michael McCune (Red Hat) | 2024.05.20 in 博客
早自 Kubernetes v1.7 起,Kubernetes 项目就开始追求取消集成内置云驱动 (KEP-2395)。 虽然这些集成对于 Kubernetes 的早期发展和增长发挥了重要作用,但它们的移除是由两个关键因素驱动的: 为各云启动维护数百万行 Go 代码的原生支持所带来的日趋增长的复杂度,以及将 Kubernetes 打造为真正的供应商中立平台的愿景。 历经很多发布版本之后,我们很高兴地宣布所有云驱动集成组件已被成功地从核心 Kubernetes 仓库迁移到外部插件中。 除了实现我 …