kubernetes学习笔记8:runtimeclass和overhead

runtimeclass是k8s对一种内置的全局域资源,是容器运行时,解决了集群里有哪些可用的容器运行时,让pod选择合适的容器运行时,让pod调度到安装有指定的容器运行时的节点上,统计容器运行时产生的业务运行以外的开销,还有scheduling和overhead功能。

它的核心是handler,表示一个接受创建容器请求的程序,同时也对应一个容器运行时。

runtimeclass工作流程:首先k8s-master接受到创建pod的请求,方格表示三种类型的节点,每个节点上都有label标识当前节点容器运行时,节点内会有一个或多个handler,每个handler对应一种容器运行时,根据scheduling.nodeselector,pod最终会调度到中间节点上,最终有runv handler来创建pod。

pod中引用runtimeclass非常简单,只有在runtimeclassname字段中配置好runtimeclass的名字,就可以引入了。

pod overhead使用场景:pod调度,resourcequota,kubelet pod驱逐。

注意:pod overhead会永久注入到pod内并且不可手动更改,即便是将runtimeclass删除或者更新,依然存在,pod overhead只能由runtimeclass admission自动注入,不可手动,hpa和vpa是基于容器级别指标数据做聚会,pod overhead不会对它们造成影响。

posted @   ppjj  阅读(162)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示