[bing]“gang调度 Kubernetes的并发控制和一致性机制“论点的对应的源码分析

你是一位K8S专家。请分析在Kubernates(https://github.com/kubernetes/kubernetes.git)项目和调度coscheduling(https://github.com/kubernetes-sigs/scheduler-plugins/tree/master/pkg/coscheduling) 插件中支撑"PodGroup的管理和调度决策涉及到对Pod和Node资源的查询和更新操作。这些操作通过client-go与Kubernetes API服务器进行交互,遵循Kubernetes的并发控制和一致性机制"论点的对应的源码分析。


在 Kubernetes 和 coscheduling 插件中,PodGroup 的管理和调度决策确实涉及到对 Pod 和 Node 资源的查询和更新操作。这些操作通过 client-go 与 Kubernetes API 服务器进行交互,遵循 Kubernetes 的并发控制和一致性机制。以下是一些相关的源码分析:

  1. PodGroup 的管理:PodGroup 是 coscheduling 插件中的一个自定义资源(CRD),用于表示一组需要共同调度的 Pod。PodGroup 的管理主要在 pkg/coscheduling/coscheduling.go 文件中,其中定义了 PodGroup 的创建、更新和删除操作。

  2. 调度决策:调度决策主要在 pkg/coscheduling/core/core.go 文件中进行。在这里,插件会查询 PodGroup 的状态,并根据 PodGroup 的 Pod 数量、优先级等信息进行调度决策。

  3. 资源的查询和更新:资源的查询和更新操作主要通过 client-go 进行。例如,在 pkg/coscheduling/core/core.go 文件中,我们可以看到使用 client-go 查询 Pod 和 Node 资源的操作。

  4. 并发控制和一致性机制:Kubernetes 的并发控制和一致性机制主要通过 etcd 实现。在 Kubernetes 的源码中,我们可以在 staging/src/k8s.io/apiserver/pkg/storage/etcd3/store.go 文件中看到这些操作。

以上就是对 Kubernetes 和 coscheduling 插件中支撑 “PodGroup 的管理和调度决策涉及到对 Pod 和 Node 资源的查询和更新操作。这些操作通过 client-go 与 Kubernetes API 服务器进行交互,遵循 Kubernetes 的并发控制和一致性机制” 论点的源码分析。希望对你有所帮助!


基于上述描述的语境范围进一步分析:

  • Kubernetes调度框架 k8s.io/kubernetes/pkg/scheduler/framework/
  • coscheduling源码分析
    • kubernetes-sigs/scheduler-plugins/pkg/coscheduling/coscheduling.go
    • kubernetes-sigs/scheduler-plugins/pkg/coscheduling/core/core.go

最好的方式是通过调度框架的流程,把源码串起来,下面是图示的(语境范围):
在这里插入图片描述

https://kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/

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

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

相关文章

Elasticsearch:使用 ELSER v2 进行语义搜索

在我之前的文章 “Elasticsearch:使用 ELSER 进行语义搜索”,我们展示了如何使用 ELESR v1 来进行语义搜索。在使用 ELSER 之前,我们必须注意的是: 重要:虽然 ELSER V2 已正式发布,但 ELSER V1 仍处于 [预览…

MKS薄膜规622/626/627/628/629说明接口定义等说明

MKS薄膜规622/626/627/628/629说明接口定义等说明

【day02】每天三道 java后端面试题:Java、C++和Go的区别 | Redis的特点和应用场景 | 计算机网络七层模型

文章目录 1. Java、C和 Go 语言的区别,各自的优缺点?2. 什么是Redis?Redis 有哪些特点? Redis有哪些常见的应用场景?3. 简述计算机网络七层模型和各自的作用? 1. Java、C和 Go 语言的区别,各自的…

Bert基础(三)--位置编码

背景 还是以I am good(我很好)为例。 在RNN模型中,句子是逐字送入学习网络的。换言之,首先把I作为输入,接下来是am,以此类推。通过逐字地接受输入,学习网络就能完全理解整个句子。然而&#x…

【实战】CEF框架集成MFC DLL的一些坑

文章目录 DLL 导出方式,函数指针的坑问题出现问题解决 CEF集成MFCafxwin.h预编译编译参数修改 DLL重命名 MFC作为微软的长期主力开发套件之一,之前很多设备开发的C/S端界面都是通过MFC框架来做的,而在我自己的CEF项目中,会集成很多…

顺序表详解(如何实现顺序表)

文章目录 前言 在进入顺序表前,我们先要明白,数据结构的基本概念。 一、数据结构的基本概念 1.1什么是数据结构 数据结构是由“数据”和“结构”两词组合而来。所谓数据就是?常见的数值1、2、3、4.....、姓名、性别、年龄,等。…

React基础-webpack+creact-react-app创建项目

学习视频:学习视频 2节:webpack工程化创建项目 2.1.webpack工程化工具:vite/rollup/turbopak; 实现组件的合并、压缩、打包等; 代码编译、兼容、校验等; 2.2.React工程化/组件开发 我们可以基于webpack自己去搭建…

LeetCode | 寻找两个正序数组的中位数 Python C语言

Problem: 4. 寻找两个正序数组的中位数 文章目录 思路解题方法Code结果结果一些思考 思路 先合并,后排序,最后找中间轴。 解题方法 由解题思路可知 Code 这是python3的代码。 class Solution(object):def findMedianSortedArrays(self, nums1, num…

IDEA 2021.3激活

1、打开idea,在设置中查找Settings/Preferences… -> Plugins 内手动添加第三方插件仓库地址:https://plugins.zhile.io搜索:IDE Eval Reset 插件进行安装。应用和使用,如图

Spring 类型转换、数值绑定与验证(一)— DataBinder

DataBinder 是Spring用于数据绑定、类型转换及验证的类。使用场景有:1)xml配置文件定义bean,Spring 内部使用DataBinder 来完成属性的绑定;2)Web请求参数绑定,在Spring MVC 中,Controller的方法参数通常会自…

基于机器学习的青藏高原高寒沼泽湿地蒸散发插补研究_王秀英_2022

基于机器学习的青藏高原高寒沼泽湿地蒸散发插补研究_王秀英_2022 摘要关键词 1 材料和方法1.1 研究区概况与数据来源1.2 研究方法 2 结果和分析2.1 蒸散发通量观测数据缺省状况2.2 蒸散发与气象因子的相关性分析2.3 不同气象因子输入组合下各模型算法精度对比2.4 随机森林回归模…

《图解设计模式》笔记(一)适应设计模式

图灵社区 - 图解设计模式 - 随书下载 评论区 雨帆 2017-01-11 16:14:04 对于设计模式,我个人认为,其实代码和设计原则才是最好的老师。理解了 SOLID,如何 SOLID,自然而然地就用起来设计模式了。Github 上有一个 tdd-training&…

第3.4章:StarRocks数据导入-Routine Load

注:本篇文章阐述的是StarRocks-3.2版本的Routine Load导入机制 一、概述 Routine Load(例行导入)支持用户提交一个常驻的导入任务,可以将消息流存储在 Kafka 的Topic中,通过订阅Topic 中的全部或部分分区的消息&#…

多个.C 文件关于全局变量如何使用

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…

C语言新手写函数中出现数组时运行bug的解决

一.发现问题&#xff1a; 这是我今天写代码的一小部分&#xff0c;是创建一个数组&#xff0c;然后函数init&#xff08;&#xff09;是初始化数组&#xff0c;代码如下&#xff1a; void init(int arr[10],unsigned int k) {int i 0;for (i 0; i < k; i) {arr[i] 0;} …

深度学习系列60: 大模型文本理解和生成概述

参考网络课程&#xff1a;https://www.bilibili.com/video/BV1UG411p7zv/?p98&spm_id_frompageDriver&vd_source3eeaf9c562508b013fa950114d4b0990 1. 概述 包含理解和分类两大类问题&#xff0c;对应的就是BERT和GPT两大类模型&#xff1b;而交叉领域则对应T5 2.…

机器学习基本概念(李宏毅课程)

目录 一、概念:1、机器学习概念:2、深度学习概念&#xff1a; 二、深度学习中f(.)的输入和输出&#xff1a;1、输入&#xff1a;2、输出&#xff1a; 三、三种机器学习任务&#xff1a;1、Regression回归任务介绍&#xff1a;2、Classification分类任务介绍&#xff1a;3、Stru…

【Python】OpenCV-图片差异检测与标注

图片差异检测与标注 在图像处理领域中&#xff0c;检测两张图片之间的差异是一项重要的任务。本文将介绍一个使用OpenCV库进行图片差异检测的简单示例代码&#xff0c;并详细注释每个步骤。 1. 引言 图片差异检测是在两张图片之间寻找差异点或区域的过程。这项技术可用于监测…

http和https的区别(简述)

HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HTTP Secure&#xff09;都是用于在客户端和服务器之间传输数据的协议&#xff0c;但它们在安全性方面有重要的区别。 1.HTTP: 概述&#xff1a; HTTP是一种用于传输超文本的协议&#xff08;超文…

Javascript中var和let之间的区别

文章目录 一.变量提升(声)二.let和var的区别 区别&#xff1a; 1、var有变量提升&#xff0c;而let没有&#xff1b; 2、let不允许在相同的作用域下重复声明&#xff0c;而var允许&#xff1b; 3、let没有暂时性死区问题&#xff1b; 4、let创建的全局变量没有给window设置对应…