概述 Informer 几乎在所有 k8s 组件中都会用到,即使是在 kube-apiserver 中。这里主要介绍 Informer 在 v1.27 ~ 1.32.0 之间做的一些内存使用相关的优化,可以降低使用 Informer 组件的内存使用量,减少 OOM
概述 Informer 几乎在所有 k8s 组件中都会用到,即使是在 kube-apiserver 中。这里主要介绍 Informer 在 v1.27 ~ 1.32.0 之间做的一些内存使用相关的优化,可以降低使用 Informer 组件的内存使用量,减少 OOM
由来 线上调度器触发资源使用量报警,在定位问题的过程中又系统性的看了最新的 scheduler framework 的实现,以及涉及到的一些用来优化性能的 PR,这里做一个系统性的总
历史文章 k8s stale read ListWatch 到 WatchList 原理 一致性读按严格程度划分,k8s 支持的顺序一致性,而 etcd 支持的是更严格的线性一致性。详情可以参考这篇文章 https://
不定期分享 k8s 里面各种坑,Just 避雷 结论 太长不看版:在拦截 pod 创建请求时,在业务逻辑中不要直接依赖 admission request 的 pod namespace 属性。可以使用 adminssion request 的 namespa
现象 v1.27 的 K8s,在 kube-apiserver 的日志中会看到 “etcd event received with PrevKv=nil” 的字样,资源对象被删除后在 Etcd 中已经不存在了但在 Reflector store 中仍然存在,可以在 Informer 或者 watchCache 中看到对应的对象,依