网站的注册上一步下一步怎么做西昌市做网站的公司

news/2025/9/27 7:42:17/文章来源:
网站的注册上一步下一步怎么做,西昌市做网站的公司,h5混搭php建设网站,果洛wap网站建设多少钱文章目录 0. 引言1. 回顾2. PrioritizeNodes3. 有哪些优选算法4. selectHost5. 总结6. 参考 0. 引言 欢迎关注本专栏#xff0c;本专栏主要从 K8s 源码出发#xff0c;深入理解 K8s 一些组件底层的代码逻辑#xff0c;同时借助 debug Minikube 来进一步了解 K8s 底层的代码… 文章目录 0. 引言1. 回顾2. PrioritizeNodes3. 有哪些优选算法4. selectHost5. 总结6. 参考 0. 引言 欢迎关注本专栏本专栏主要从 K8s 源码出发深入理解 K8s 一些组件底层的代码逻辑同时借助 debug Minikube 来进一步了解 K8s 底层的代码运行逻辑细节帮助我们更好了解不为人知的运行机制让自己学会如何调试源码玩转 K8s。 本专栏适合于运维、开发以及希望精进 K8s 细节的同学。同时本人水平有限尽量将本人理解的内容最大程度的展现给大家 前情提要 《K8s 源码剖析及debug实战一Minikube 安装及源码准备》 《K8s 源码剖析及debug实战二debug K8s 源码》 《K8s 源码剖析及debug实战之 Kube-Scheduler一启动流程详解》 《K8s 源码剖析及debug实战之 Kube-Scheduler二终于找到了调度算法的代码入口》 《K8s 源码剖析及debug实战之 Kube-Scheduler三debug 到预选算法门口了》 《K8s 源码剖析及debug实战之 Kube-Scheduler四预选算法详解》 文中采用的 K8s 版本是 v1.16。上篇介绍了预选算法的主要逻辑本文继续介绍 K8s 的 Kube-Scheduler 源码的优选算法的具体逻辑。 1. 回顾 还记得这张图吗目前我们在看「执行调度算法」这里并且这里的预选算法的主要逻辑已经讲解完了。 再来看下调度的大体流程重点关注的只剩下一个 PrioritizeNodes 方法了 func (g *genericScheduler) Schedule(pod *v1.Pod, pluginContext *framework.PluginContext) (result ScheduleResult, err error) {// 1. 检查pvc是否存在不是很重要if err : podPassesBasicChecks(pod, g.pvcLister); // 2. 运行预过滤插件一般不需要关注preFilterStatus : g.framework.RunPreFilterPlugins(pluginContext, pod)// 3. 更新node的信息以最新的node缓存信息作为后续过滤、计算优先级的基础if err : g.snapshot(); err ! nil {return result, err}// 4. 重要关键方法调度预选predicate过滤不符合的nodefilteredNodes, failedPredicateMap, filteredNodesStatuses, err : g.findNodesThatFit(pluginContext, pod)// 5. 运行后置过滤插件一般不需要关注postfilterStatus : g.framework.RunPostFilterPlugins(pluginContext, pod, filteredNodes, filteredNodesStatuses)// 6. 没找到一个符合要求的node报错if len(filteredNodes) 0 {}// 7. 只找到一个符合要求的node直接返回if len(filteredNodes) 1 {}// 8. 重要上面如果找到多个node那需要按照priority策略筛选priorityList, err : PrioritizeNodes(pod, g.nodeInfoSnapshot.NodeInfoMap, metaPrioritiesInterface, g.prioritizers, filteredNodes, g.extenders, g.framework, pluginContext)// 9. 好了最终选一个node吧host, err : g.selectHost(priorityList) }注意这里在 debug 代码的时候需要把上面的代码第7点 if len(filteredNodes) 1 {} 注释掉因为 Minikube 目前只创建了一个 node在这里就返回了。如果需要 debug PrioritizeNodes 这个方法需要注释第7点。 2. PrioritizeNodes 老规矩我把这个方法的主要逻辑提炼一下方便看清楚全貌 func PrioritizeNodes(pod *v1.Pod, nodeNameToInfo map[string]*schedulernodeinfo.NodeInfo, meta interface{}, priorityConfigs []priorities.PriorityConfig, nodes []*v1.Node, extenders []algorithm.SchedulerExtender, framework framework.Framework, pluginContext *framework.PluginContext (schedulerapi.HostPriorityList, error) {// 用了 Map-Reduce 模式简单来说是分布式计算的分离归约思想先并行计算然后再聚集产生最终结果// 1. 定义了优先级打分的func直接执行for i : range priorityConfigs {if priorityConfigs[i].Function ! nil {...}}// 2. 并行执行 Map 方法计算打分workqueue.ParallelizeUntil(context.TODO(), 16, len(nodes), func(index int) {for i : range priorityConfigs {// 注意只有没有定义func的才用 Map-Reduce 模式if priorityConfigs[i].Function ! nil {continue}results[i][index], err priorityConfigs[i].Map(pod, meta, nodeInfo)...}})// 3. 执行 Reduce 方法聚合、归一化结果for i : range priorityConfigs {go func(index int) {if err : priorityConfigs[index].Reduce(pod, meta, nodeNameToInfo, results[index]); err ! nil {}...}(i)}// 4. 一般不需要关注。执行额外的打分插件默认的K8s没有除非自己定义scoresMap, scoreStatus : framework.RunScorePlugins(pluginContext, pod, nodes)// 5. 按照func的权重计算结果for i : range nodes {for j : range priorityConfigs {result[i].Score results[j][i].Score * priorityConfigs[j].Weight}...}// 6. 一般不需要关注。这是扩展点允许用户通过自定义逻辑来增强或替代默认调度器功能。它主要用于满足那些需要更复杂、定制化调度策略的场景。if len(extenders) ! 0 nodes ! nil {...}return result, nil }从上面的第5步可以看到打分关注两个地方一个是 priority-func 计算出来的 score一个是 priority-func 本身的 weight其中 results 是一个二维表格如下 打分函数Node0Node1Node2…Priority-Func0s(0,0)s(0,1)s(0,2)…Priority-Func1s(1,0)s(1,1)s(1,2)………………Priority-Funcns(n,0)s(n,1)s(n,2)… 其中 s(x,y) 表示第 x 个 Priority-Func 给 第 y 个 Node 打分的结果。 因此对于一个 Node他的最终得分就是所有的 Priority-Func 得分 * weight 之和的结果。例如假设Priority-Funci 的 权重是 Wi上表中 Node1 最终的得分如下 finalNode1 s(0,1)*W0 s(1,1)*W1 ... s(n,1)*Wn下面展示一下中间的 debug 的过程 results 值 最终得分 3. 有哪些优选算法 在pkg/scheduler/algorithm/priorities 目录下有优选算法的实现当然看 pkg/scheduler/algorithm/priorities/priorities.go 有全部的定义 LeastRequestedPriority最低请求优先级。根据 CPU 和内存的使用率来决定优先级使用率越低优先级越高也就是说优先调度到资源利用率低的节点这个优先级函数能起到把负载尽量平均分到集群的节点上。默认权重为1 BalancedResourceAllocation资源平衡分配。这个优先级函数会把 pod 分配到 CPU 和 memory 利用率差不多的节点计算的时候会考虑当前 pod 一旦分配到节点的情况。默认权重为 1 SelectorSpreadPriority尽量把同一个 service、replication controller、replicaSet 的 pod 分配到不同的节点这些资源都是通过 selector 来选择 pod 的。默认权重为 1 CalculateAntiAffinityPriority尽量把同一个 service 下面 label 相同的 pod 分配到不同的节点 ImageLocalityPriority根据镜像是否已经存在的节点上来决定优先级节点上存在要使用的镜像而且镜像越大优先级越高。这个函数会尽量把 pod 分配到下载镜像花销最少的节点 NodeAffinityPriorityNodeAffinity默认权重为 1 InterPodAffinityPriority根据 pod 之间的亲和性决定 node 的优先级默认权重为 1 NodePreferAvoidPodsPriority默认权重是 10000把这个权重设置的那么大就以为这一旦该函数的结果不为 0就由它决定排序结果 TaintTolerationPriority默认权重是 1 4. selectHost PrioritizeNodes 优选方法执行完成之后会返回 node列表在 selectHost 方法需要选择一个最终的节点作为调度的结果。这里的方法非常简单 func (g *genericScheduler) selectHost(priorityList schedulerapi.HostPriorityList) (string, error) {if len(priorityList) 0 {return , fmt.Errorf(empty priorityList)}maxScore : priorityList[0].Scoreselected : priorityList[0].HostcntOfMaxScore : 1for _, hp : range priorityList[1:] {if hp.Score maxScore {maxScore hp.Scoreselected hp.HostcntOfMaxScore 1} else if hp.Score maxScore {cntOfMaxScoreif rand.Intn(cntOfMaxScore) 0 {// Replace the candidate with probability of 1/cntOfMaxScoreselected hp.Host}}}return selected, nil }简单看一下就明白选择 score 最大的如果存在多个 score 一样都是最大则随机选一个作为 host 节点 5. 总结 到目前为止预选和优选的流程就讲解完了我把到目前为止的整体调度流程大致展示下 后续把调度计算后的其他流程讲解下 6. 参考 《K8s 源码剖析及debug实战一Minikube 安装及源码准备》 《K8s 源码剖析及debug实战二debug K8s 源码》 《K8s 源码剖析及debug实战之 Kube-Scheduler一启动流程详解》 《K8s 源码剖析及debug实战之 Kube-Scheduler二终于找到了调度算法的代码入口》 《K8s 源码剖析及debug实战之 Kube-Scheduler三debug 到预选算法门口了》 《K8s 源码剖析及debug实战之 Kube-Scheduler四预选算法详解》 欢迎关注本人我是喜欢搞事的程序猿 一起进步一起学习 也欢迎关注我的wx公众号一个比特定乾坤

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

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

相关文章

建立网站赚钱 优帮云网站开发主要做什么

pytest: 需要安装pytest和pytest-html(生成html测试报告) pip install pytest 和 pip install pytest-html 命名规则 Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest更加严谨 unittest&#x…

邢台手机网站建设报价苏州网站营销公司简介

文章目录 前言一、思维导图危机一危机二危机三危机四危机五危机六危机七危机八 前言 重塑三观,致敬温老。一个有良心的学者!!! 一、思维导图 危机一 危机二 危机三 危机四 危机五 危机六 危机七 危机八 ☆

买源码的网站wordpress提示框插件

随着人工智能和图像处理技术的不断发展,人像处理已成为企业宣传、产品展示、线上教育等领域不可或缺的一环。然而,面对复杂多变的人像背景,如何实现精准、高效的分割,一直是困扰企业的技术难题。为此,美摄科技凭借其领…

信息化建设 公司网站揭阳企业网站建设开发

智慧工地管理系统源码,智慧工地云平台源码,PC端APP端源码 智慧工地管理平台实现对人员劳务实名制管理、施工进度、安全管理、设备管理、区域安防监控系统、智能AI识别系统、用电/水监控系统、噪音扬尘监测、现场物料管理系统等方面的实时监控和管理&…

大良陈村网站建设北京推广平台

开数组 读入数据 记录最小值和最大值 每次读入x; 让a[x]; 从最小值开始 向上扫 当扫到a[x]0时候为断号 扫到a[x]>1为重号&#xff1b; 该题的小技巧 未知长度的数据的读入方式 1.首先在头文件敲上 #include<sstream> #include<string> #include<…

给宝宝做衣服网站好网站服务器结构图

1、目的 确保大模型的行为与人类价值观、人类真实意图和社会伦理相一致 2、大模型有害行为 无法正确遵循指令生成虚假信息产生有害、有误导性、有偏见的表达 3、评估标准 有用性诚实性无害性 4、更细化的对齐标准 行为对齐&#xff1a;要求AI能够做出符合人类期望的行为…

网站建设中404什么意思长治网站建设公司

在连接本地mysql数据库一直都是客户端保存密码&#xff0c;然后一键登录。突然开发要用到这个数据库时&#xff0c;脑子嗡嗡的了……忘记了密码&#xff0c;试了很多遍还是记不起来。没办法只能去找方案了&#xff0c;网上还是有很多跟我一样的大佬的。这里记录下&#xff0c;省…

做购物网站之前做些什么wordpress提速插件

程序员不管是在学习&#xff0c;还是工作过程中&#xff0c;很多时候都需要画图&#xff0c;如产品分析、架构设计、方案选型等&#xff0c;良好的绘图不仅可以让绘图者的思路清晰&#xff0c;也可以让聆听者更好的理解。用好画图&#xff0c;升职加薪少不了&#xff01;今天介…

网站上的办公网站怎么做宠物网站推广怎么做

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 了解磁盘1.1 磁盘的物理结构1.2 磁盘的逻辑结构1.3 磁盘的存储结构 2. 文件系统2.…

创意灵感网站中国新闻社领导名单

非极大值抑制(Non-Maximum Suppression&#xff0c;NMS)&#xff0c;顾名思义就是抑制不是极大值的元素&#xff0c;可以理解为局部最大搜索。这个局部代表的是一个邻域&#xff0c;邻域有两个参数可变&#xff0c;一是邻域的维数&#xff0c;二是邻域的大小。而是用于目标检测…

网站管理系统 免费做阿里渠道的销售要有哪些网站

发作性睡病是一种慢性的睡眠障碍&#xff0c;患者在白天会出现无法控制的睡意&#xff0c;甚至可能突然入睡。虽然饮食不能直接治愈发作性睡病&#xff0c;但合理的饮食调整可以在一定程度上缓解症状&#xff0c;提高患者的生活质量。 首先&#xff0c;发作性睡病患者需要保持…

电子产品在哪些网站做调研北京住房和城乡建设局门户网站

VQE 上行VQE&#xff0c;主要针对MIC采集部分的音频增强 下行VQE&#xff0c;主要针对SPK播放部分的音频增强 附关键词解释 RES RES 模块为重采样&#xff08;Resampler&#xff09;模块。当AI上行或AO下行通路中开启VQE 各功能 模块时&#xff0c;在处理前后各存在一次重采样…

网站开发工具的功能新沂网站制作

java是单继承的&#xff0c;java中的类不支持多继承&#xff0c;但是支持多层继承。 反证法&#xff1a; 如果一个类同时继承两个类&#xff0c;然后两个类中都有同样的一个方法&#xff0c;哪当我创建这个类里的方法&#xff0c;是调用哪父类的方法 所以java中的类不支持多继…

用.net做网站怎么修改公司网站图片

Python中的字典&#xff08;dict&#xff09;和集合&#xff08;set&#xff09;是两个强大且常用的数据结构&#xff0c;它们在处理数据和解决问题时发挥着重要作用。深入了解这两种数据结构的底层实现和用法将有助于编写更高效、灵活和可读性强的代码。 Python字典&#xff…

美发网站怎么做信宜网站设计公司

原文地址&#xff1a;http://android.xsoftlab.net/training/multiple-threads/run-code.html#StopThread 上节课我们学习了如何定义一个类用于管理线程以及任务。这节课将会学习如何在线程池中运行任务。要做到这一点&#xff0c;只需要往线程池的工作队列中添加任务即可。当…

网站开发程序员是做什么的电商网站如何做

来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;Eclipse Che被Eclipse官方称为下一代IDE&#xff0c;作为老牌的IDE&#xff0c;被其寄予厚望的Eclipse Che到底有什么特点&#xff0c;在这篇文章中我们来一探究竟。开发团队的Kuberentes原生IDEEclipse Che对开发团…

保洁网站模板wordpress 查询文章

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

建设网站的建设费用包括wordpress菜单实现下拉

前言&#xff1a; 长短期记忆网络&#xff08;LSTM&#xff0c;Long Short-Term Memory&#xff09;是一种时间循环神经网络&#xff0c;是为了解决一般的RNN&#xff08;循环神经网络&#xff09;存在的长期依赖问题而专门设计出来的。 目录&#xff1a; 背景简介 LSTM C…

如何设计酒店网站建设大气产品展示网站源码

1、题目名称&#xff1a;小球游戏 某台有10个小球的游戏机&#xff0c;其设定的规则如下&#xff1a; 每一轮游戏在开始之前会把编号为0到9的小球依次放入从左到右编号也为0到9的10个位置&#xff1b;游戏开始后会快速对调任意两个球的位置若干次&#xff0c;并在结束时要求观众…

网站第二次备案win7 iis 默认网站

今日复习内容&#xff1a;做题 例题1&#xff1a;仙境诅咒 问题描述&#xff1a; 在一片神秘的仙境中&#xff0c;有N位修仙者&#xff0c;他们各自在仙境中独立修炼&#xff0c;拥有他们独特的修炼之地和修炼之道&#xff0c;修炼者们彼此之间相互尊重&#xff0c;和平相处…