Koordinator 协同 containerd NRI 增强容器 QoS,提升应用性能

news2024/10/6 8:38:13

作者:韩柔刚 - 阿里云,张康 - Intel

随着云基础业务类型和硬件资源的日益丰富,数据中心的资源利用率得到了显著提高,但也带来了资源争用的风险。在提高节点资源利用率的同时,确保应用程序的 QoS(Quality of Service),并避免 Noisy Neighbor 问题是一个关键挑战。

Koordinator 和 containerd 作为云原生领域的开源项目,近期针对容器 QoS 的优化进行了深度合作,通过引入 NRI (Node Resource Interface,节点资源接口) 的方式来优化容器的资源管理和 QoS,解决先前资源管理模式中遇到的问题,大大提升了 Koordinator 部署的灵活性和处理的时效性,提供了一种优雅的云原生系统的资源管理标准化模式。

KubeCon China 2023

在即将召开的 KubeCon + CloudNativeCon China 2023 会议上,将由 Intel 和阿里云的工程师在现场为大家带来关于 Koordinator 和 containerd NRI 的深度解读,欢迎大家关注。该主题会介绍和演示如何通过在 Kubernetes 上集成最新的 CRI 运行时(例如 containerd、cri-o)中的 NRI(节点资源接口),在 Koordinator 中确保工作负载的 QoS。与传统方法(如独立模式和运行时代理拦截 CRI 请求的模式)相比,NRI 的插件化设计避免了对 Kubelet 的侵入性修改,极大增强了 Koordinator 部署的灵活性,实时处理 Pod 生命周期事件,并为云原生系统提供了一种优雅且标准化的资源管理解决方案。

图片

Koordinator 的前世今生

Koordinator 是一个开源项目,旨在基于阿里巴巴在容器调度领域的多年经验,提供一个完整的混部解决方案,包含混部工作负载编排、资源调度、资源隔离及性能调优等多方面能力,来帮助用户优化容器性能,充分发掘空闲物理资源,提升资源效率,增强延迟敏感型工作负载和批处理作业的运行效率和可靠性。

业界很多互联网公司或多或少都有布局将不同特征类型工作负载协同调度的技术方向,充分利用负载之间的消峰填谷效应,让工作负载以更稳定、更高效、更低成本的方式去使用资源。这样的一套系统或机制,也就是业界时常提及的 “混部”概念。阿里巴巴在 2011 年开始探索容器技术,并在 2016 年启动混部技术研发,至今经过了多轮技术架构升级,最终演进到今天的云原生混部系统架构,实现了全业务规模超千万核的云原生混部,混部天级平均 CPU 利用率超 50%,帮助阿里巴巴节省了大量的资源成本。

基于在混部技术领域多年的实践经验,阿里巴巴正式开源了 Koordinator 项目,帮助企业快速收获云原生混部带来的技术红利,提高全局的资源利用效率。Koordinator 旨在为广大企业解决在应用混部的过程中面临的两大挑战:如何将应用接入到混部平台以及如何让应用在平台上能够稳定、高效的运行。

Koordinator 开源社区自 2022 年 4 月正式启动以来,阿里巴巴会同业界多个伙伴一起参与共建,贡献了众多的想法、代码和场景,推动了 Koordinator 项目的成熟发展。迄今为止,吸纳了包括阿里巴巴、蚂蚁科技、Intel、小米、小红书、爱奇艺、360、有赞、趣玩等公司在内的大量优秀工程师,贡献了众多的想法、代码和场景,一起推动 Koordinator 项目的成熟。

NRI 的发展历程

NRI (Node Resource Interface) [ 1]  是用于控制节点资源的公共接口,是 CRI 兼容的容器运行时插件扩展的通用框架。它为扩展插件提供了跟踪容器状态,并对其配置进行有限修改的基本机制。

NRI 是 Containerd 的一个子项目, NRI 允许将自定义的业务逻辑插入到 CRI 兼容的运行时中,例如 Containerd,CRI-O。在容器的生命周期中,这些逻辑可以对容器的 Spec 进行修改,或者在确定的 hook 点做一些 OCI (Open Container Initiative) 范围之外的操作。NRI 可以用于进一步完善设备或者其他资源的分配和管理。NRI 本身对任何容器运行时 (CRI Runtime) 的内部实现细节是不感知的。它为 CRI 运行时提供了一个适配库,用于集成 NRI 和扩展插件进行交互。

NRI 提供了接口定义和基础组件,可以实现可插拔的 CRI 运行时插件,这些插件就是 NRI 插件 (NRI Plugin)。这些 NRI 插件是与运行时类型无关的,插件既可以应用于 Containerd,也可以应用 CRI-O。原则上,任何 NRI 插件 (NRI Plugin) 都应该能够和启用 NRI 的运行时 (NRI-enabled CRI Runtimes) 正常协作。

NRI 插件是一个类似守护进程的实例。插件的单个实例会处理 NRI 所有的事件和请求,使用 Unix-domain socket 来进行数据传输和通信,NRI 定义了一套基于 protobuf 的协议并通过 ttrpc 进行实现。这样可以通过降低每条信息的开销提高通信效率,并且可以实现有状态的 NRI 插件。

图片

上图展示了一个 NRI 以及 NRI 插件在处理 CRI 请求的位置和流程。

关于 NRI 的更多信息,请参见 containerd/nri。

结语

最后,Koordinator 是一个开放的社区,欢迎广大云原生爱好者们随时通过各种方式参与共建,无论您在云原生领域是初学乍到还是驾轻就熟,我们都非常期待听到您的声音!欢迎通过搜索钉钉群号加入 Koordinator 社区用户交流群。(群号:33383887)

9 月 28 日,KubeCon China 2023,Koordinator 社区在上海期待与您不见不散!

相关链接:

[1] NRI (Node Resource Interface)

https://github.com/containerd/nri

点击此处,立即体验 Koordinator 项目!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1093328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

铜死亡+机器学习+WGCNA+分型生信思路

今天给同学们分享一篇单基因泛癌免疫实验生信文章“IGF2BP3 overexpression predicts poor prognosis and correlates with immune infiltration in bladder cancer”,这篇文章于2023年2月3日发表在BMC Cancer期刊上,影响因子为3.8。 膀胱癌是全球最常见…

利用向导创建MFC

目录 1、项目的创建: 2、项目的管理 : 3、分析以及生成的项目代码 : (1)、查看CFrame中的消息映射宏 (2)、自动生成事件 (3)、在CFrame中添加对应的鼠标处理函数 …

基于静电放电优化的BP神经网络(分类应用) - 附代码

基于静电放电优化的BP神经网络(分类应用) - 附代码 文章目录 基于静电放电优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.静电放电优化BP神经网络3.1 BP神经网络参数设置3.2 静电放电算法应用 4.测试结果…

python爬虫入门详细教程-采集云南招聘网数据保存为csv文件

python爬虫之User-Agent大全、随机获取User-Agent 网站地址数据提取技术介绍采集目标流程分析python代码实现 网站地址 https://www.ynzp.com/ 这个网址特别适合新手拿来练习,你采集多了还有个验证码页面,验证码是4位数字,很清晰&#xff0c…

C++笔记之通用多态函数包装器std::function

C笔记之通用多态函数包装器std::function code review! 文章目录 C笔记之通用多态函数包装器std::function1.存储自由函数,lambda,std::bind 调用的结果2.存储到成员的调用3.存储到函数对象四.基本语法五.使用std::function定义函数对象六.使用std::fu…

UGUI交互组件ScrollView

一.ScrollView的结构 对象说明Scroll View挂有Scroll Rect组件的主体对象Viewport滚动显示区域,有Image和mask组件Content显示内容的父节点,只有个Rect Transform组件Scrollbar Horizontal水平滚动条Scrollbar Vertical垂直滚动条 二.Scroll Rect组件的属…

Unity角色或摄像机移动和旋转的控制脚本

该脚本挂载到需要被移动、旋转控制的物体身上,也可以之间挂在到摄像机上! 挂载到摄像机上可以实现第一人称视角控制! 挂载到物体身上,配合摄像机跟踪脚本可以实现,第三人称视角控制! 第一人称视角 将角…

【每日一题】只出现一次的数字 II

文章目录 Tag题目来源题目解读解题思路方法一:位运算 写在最后 Tag 【位运算】【数组】【2023-10-15】 题目来源 137. 只出现一次的数字 II 题目解读 找出数组中仅出现一次的数字,其余数字仅出现三次。要求线性时间复杂度求解。 解题思路 本题的朴素…

基于nodejs+vue教学辅助管理系统

学生;首页、个人中心、本课程设计了线上教学辅助系统 ,学生可以此系统实现在线学习,作业提交管理、作业成绩管理。随着社会的快速发展,计算机的影响是全面且深入的。教师:首页、个人中心、课程信息管理、教学资料管理、作业信息管…

C++笔记之std::future的用法

C笔记之std::future的用法 code review! 文章目录 C笔记之std::future的用法1.C中std::future和std::async总是一起出现吗?2.主要特点和用法3.一个完整的例子4.std::future 存放的是一个结果吗?5.cppreference——std::future 1.C中std::future和std::a…

NCV7724DQBR2G车规级半桥电机驱动芯片-专为汽车,工业自动化应用提供完美解决方案

车规级半桥电机驱动芯片是一种用于驱动直流电机的芯片,常用于电动汽车、电动自行车等领域。它可以控制电机的转速和方向,并且具有过流保护、过温保护等功能,可以保证电机的安全运行。 NCV7724DQBR2G是一款车规级八通道半桥驱动器,…

pdf格式的简历中的照片太小,如何修改图片的大小

问题描述:在使用一些在线版生成软件制作简历时,比如使用超级简历制作的简历存在着一个照片的尺寸比较小。如何去修改pdf中的证件照大小。 解决办法:使用一些在线编辑pdf的软件,比如我随便找了一个(在线编辑pdf&#x…

SpringCloud-Config

一、介绍 (1)服务注册中心 (2)管理各个服务上的application.yml,支持动态修改,但不会影响客户端配置 (3)一般将application.yml文件放在git上,客户端通过http/https方式…

【MST】 CF1108 F

Problem - 1108F - Codeforces 题意 思路 先看样例 这里的 MST,是把边排序之后合并至权值为3 权值为3的两条边,选其中一条即可,但是不能两条都选,这样会形成环 这启示我们,我们要操作的是和Kruskal的最后一条边权值…

【Excel】【latex】将EXCEL中单元格的计算关系还原为公式,用c#重构

在excel中,将很多个单元格,及其内部的公式,用文本的形式复制出来 Ctrl ~将 Excel 切换到公式视图,可以看到单元格中的公式,而不是公式的结果。 像平常一样复制和粘贴单元格。粘贴时,会看到的是单元格中的…

python+django高校教室资源预约管理系统lqg8u

技术栈 后端:pythondjango 前端:vueCSSJavaScriptjQueryelementui 开发语言:Python 框架:django/flask Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyChar…

力扣刷题 day14:10-14

1.超级丑数 超级丑数 是一个正整数,并满足其所有质因数都出现在质数数组 primes 中。 给你一个整数 n 和一个整数数组 primes ,返回第 n 个 超级丑数 。 题目数据保证第 n 个 超级丑数 在 32-bit 带符号整数范围内。 方法一:动态规划 #…

P1443 马的遍历

#include <iostream> #include <queue> using namespace std; #define M 400 int arr[M 5][M 5]; typedef struct Node {int x, y; } Node; //将马能走的8个方向封装成一个二维数组 int dir[8][2] {{2, 1}, {2, -1}, {-2, 1}, {-2, -1},{1, 2}, {-1, 2}, {1, -2…

保姆级搭建Mysql 并进行视图可视化操作

安装MySQL数据库 选择mysql5.7.36_x32.msi”&#xff0c;双击运行&#xff0c;如下图所示&#xff1a; 在此窗口中&#xff0c;选择“Custom”选项&#xff0c;点击“Next>”进入下一步&#xff1b; 在此窗口中&#xff0c;选择号下的MySQL Server 5.7.36 – x64&…

windbg分析 IRQL_NOT_LESS_OR_EQUAL 蓝屏问题

国庆回来后&#xff0c;电脑频繁出现蓝屏问题。 最初以为是驱动问题。 包括&#xff1a; 蓝牙耳机适配器的驱动。 机械键盘的驱动。 最初为了使用蓝牙耳机&#xff0c;安装了蓝牙适配器。 使用方法&#xff1a; 右击禁用英特尔后&#xff0c;重新拔插适配器&#xff0c;重…