张贴在 2024

  • Kubernetes 1.31:kubectl debug 中的自定义模板化配置特性已进入 Beta 阶段

    借由 Arda Güçlü (Red Hat) | 2024.08.22 在 博客

    有很多方法可以对集群中的 Pod 和节点进行故障排查,而 kubectl debug 是最简单、使用最广泛、最突出的方法之一。 它提供了一组静态配置,每个配置适用于不同类型的角色。 例如,从网络管理员的视角来看,调试节点应该像这样简单: $ kubectl debug node/mynode -it --image=busybox --profile=netadmin 另一方面,静态配置也存在固有的刚性,对某些 Pod 所产生的影响与其易用性是相悖的。 因为各种类型的 Pod(或节点)都有其特 …

    更多

  • Kubernetes 1.31: 节点 Cgroup 驱动程序的自动配置 (beta)

    借由 Peter Hunt (Red Hat) | 2024.08.21 在 博客

    一直以来,为新运行的 Kubernetes 集群配置正确的 cgroup 驱动程序是用户的一个痛点。 在 Linux 系统中,存在两种不同的 cgroup 驱动程序:cgroupfs 和 systemd。 过去,kubelet 和 CRI 实现(如 CRI-O 或 containerd)需要配置为使用相同的 cgroup 驱动程序, 否则 kubelet 会报错并退出。 这让许多集群管理员头疼不已。不过,现在曙光乍现! 自动检测 cgroup 驱动程序 在 v1.28.0 版本中,SIG …

    更多

  • Kubernetes 1.31:流式传输从 SPDY 转换为 WebSocket

    借由 Sean Sullivan (Google) Shannon Kularathna (Google) | 2024.08.20 在 博客

    在 Kubernetes 1.31 中,kubectl 现在默认使用 WebSocket 协议而不是 SPDY 进行流式传输。 这篇文章介绍了这些变化对你意味着什么以及这些流式传输 API 的重要性。 Kubernetes 中的流式 API 在 Kubernetes 中,某些以 HTTP 或 RESTful 接口公开的某些端点会被升级为流式连接,因而需要使用流式协议。 与 HTTP 这种请求-响应协议不同,流式协议提供了一种持久的双向连接,具有低延迟的特点,并允许实时交互。 流式协议支持在客户 …

    更多

  • Kubernetes 1.31:针对 Job 的 Pod 失效策略进阶至 GA

    借由 Michał Woźniak (Google), Shannon Kularathna (Google) | 2024.08.19 在 博客

    这篇博文阐述在 Kubernetes 1.31 中进阶至 Stable 的 Pod 失效策略,还介绍如何在你的 Job 中使用此策略。 关于 Pod 失效策略 当你在 Kubernetes 上运行工作负载时,Pod 可能因各种原因而失效。 理想情况下,像 Job 这样的工作负载应该能够忽略瞬时的、可重试的失效,并继续运行直到完成。 要允许这些瞬时的失效,Kubernetes Job 需包含 backoffLimit 字段, 此字段允许你指定在 Job 执行期间你愿意容忍的 Pod 失效次数。然 …

    更多

  • Kubernetes 1.31:基于 OCI 工件的只读卷 (Alpha)

    借由 Sascha Grunert | 2024.08.16 在 博客

    Kubernetes 社区正朝着在未来满足更多人工智能(AI)和机器学习(ML)使用场景的方向发展。 虽然此项目在过去设计为满足微服务架构,但现在是时候听听最终用户的声音并引入更侧重于 AI/ML 的特性了。 其中一项需求是直接支持与开放容器倡议(OCI) 兼容的镜像和工件(称为 OCI 对象)作为原生卷源。 这使得用户能够专注于 OCI 标准,且能够使用 OCI 镜像仓库存储和分发任何内容。 与此类似的特性让 Kubernetes 项目有机会扩大其使用场景,不再局限于运行特定镜像。 在这一背 …

    更多

  • Kubernetes 1.31:防止无序删除时 PersistentVolume 泄漏

    借由 Deepak Kinni (Broadcom) | 2024.08.16 在 博客

    PersistentVolume(简称 PV) 具有与之关联的回收策略。 回收策略用于确定在删除绑定到 PV 的 PVC 时存储后端需要采取的操作。当回收策略为 Delete 时, 期望存储后端释放为 PV 所分配的存储资源。实际上,在 PV 被删除时就需要执行此回收策略。 在最近发布的 Kubernetes v1.31 版本中,一个 Beta 特性允许你配置集群以这种方式运行并执行你配置的回收策略。 在以前的 Kubernetes 版本中回收是如何工作的? …

    更多

  • Kubernetes 1.31:podAffinity 中的 matchLabelKeys 进阶至 Beta

    借由 Kensei Nakada (Tetrate) | 2024.08.16 在 博客

    Kubernetes 1.29 在 podAffinity 和 podAntiAffinity 中引入了新的字段 matchLabelKeys 和 mismatchLabelKeys。 在 Kubernetes 1.31 中,此特性进阶至 Beta,并且相应的特性门控(MatchLabelKeysInPodAffinity)默认启用。 matchLabelKeys - 为多样化滚动更新增强了调度 在工作负载(例如 Deployment)的滚动更新期间,集群中可能同时存在多个版本的 Pod。 然 …

    更多

  • Kubernetes v1.31:通过基于缓存的一致性读加速集群性能

    借由 Marek Siarkowicz (Google) | 2024.08.15 在 博客

    Kubernetes 以其强大的容器化应用编排能力而闻名,但随着集群规模扩大, 对控制平面的需求可能成为性能瓶颈。其中一个主要挑战是确保从 etcd 数据存储进行强一致性读,这通常需要资源密集型仲裁读取操作。 今天,Kubernetes 社区很高兴地宣布一个重大改进:基于缓存的一致性读, 已在 Kubernetes v1.31 中晋升至 Beta 阶段。 为什么一致性读如此重要 一致性读是确保 Kubernetes 组件准确了解最新集群状态的关键。 保证一致性读对于保持 Kubernetes …

    更多

  • Kubernetes 1.31:通过 VolumeAttributesClass 修改卷进阶至 Beta

    借由 Sunny Song (Google) Matthew Cary (Google) | 2024.08.15 在 博客

    在 Kubernetes 中,卷由两个属性描述:存储类和容量。存储类是卷的不可变属性, 而容量可以通过卷调整大小进行动态变更。 这使得使用卷的工作负载的垂直扩缩容变得复杂。 虽然云厂商和存储供应商通常提供了一些允许指定注入 IOPS 或吞吐量等 IO 服务质量(性能)参数的卷,并允许在工作负载运行期间调整这些参数,但 Kubernetes 没有提供用来更改这些参数的 API。 我们很高兴地宣布,自 Kubernetes 1.29 起以 Alpha …

    更多

  • Kubernetes 1.31:对 cgroup v1 的支持转为维护模式

    借由 Harshal Patil | 2024.08.14 在 博客

    随着 Kubernetes 不断发展,为了适应容器编排全景图的变化,社区决定在 v1.31 中将对 cgroup v1 的支持转为维护模式。 这一转变与行业更广泛地向 cgroup v2 的迁移保持一致,后者的功能更强, 包括可扩展性和更加一致的接口。在我们深入探讨对 Kubernetes 的影响之前, 先回顾一下 cgroup 的概念及其在 Linux 中的重要意义。 理解 cgroup 控制组(Control Group)也称为 cgroup, 是 Linux 内核的一项特性,允许在进程之 …

    更多