好的 我们现在开始然后我自我介绍一下我叫徐俊杰然后英文名是帕古徐在github上就是帕古徐这个名字然后我是signode这边的reviewer然后这次我跟熊熊是来讲signode的一个介绍和它的一个深入解析然后基本上是介绍会cover tocruelite的一些信息然后再加上最近的一些更新然后还有一些poe计我们会深入介绍一下然后对 大概是这么一个内容我这边是在Docloud然后我最近主要负责的是cruelite.m和signode的这两个方向然后你来Hello 大家好我叫院熊熊然后我认知于github的lab然后我是在北京工作然后我主要维护HarmFan我是这两个项目的维护者然后我以前经常工作有signode也是kbs的mamba好 谢谢好的 下面的这边是之前的signode这边的一些介绍包括今年上半年的EO的cruelite然后是有视频和PVT的然后包括去年的底特律的cruelite还有前年的前年其实是我们线上的cruelite然后当时我也做了一个简单的分享然后是每个分享的话基本上它的测用点可能就是当前这两个季度或者一个季度的那个kbs的一些变化和更新今天我们主要的介绍内容是异程是这样子的就是前面是先介绍一下cruelite还有signode下面的cruelite后面会介绍一下1.28里面的一些更新然后在重点会介绍一下pleg对signode其实就是大家简单来理解这个问题的话就是节点管理然后kbs它本身是做的一个集群管理然后而它当一个pod最后被分配到一个节点上以后它其实是在这个节点上完成它的一个pod的一个生命周期的整个的管理包括它的存出网络所以其实signode它主要在看的问题就是集中在这个一个节点上的这个信息这个其实是最近可能对大家印象最大的就是说dalker这块已经被废弃了然后dalker steam被废弃了然后cruelite这边的话它之前内部是有一个dalker steam的一个组件然后去连接直接连接dalker也就是说如果你告诉cruelite你要连的是dalker的话它其实是直接走自己的内部逻辑然后去掉dalker而1.24以后这部分的代码是已经被完全移除了然后你现在需要从那个叫cridalker d去连dalker现在cri dalker d是单独在那个另外一个项目去维护它已经不属于那个cruelite社区了它的维护频率的话可能不会太高但是其实也会最近也看到他们也同步了一些cri的一些更新就是因为cri本身还是在演化的而它之前刚开始的话只是把dalker steam的代码同步过去并没有做很多跟进所以这块可能会没有那么快但是只要大家关注的话应该还是有一些同步的而当然现在大家最推荐的可能是d或者cri而这两块的话它更多的是自连因为其实dalker它本身也会去连dalker可能是d所以其实从使用的角度除非你有一些功能的需求必须要用到dalker那你可能暂时还可以用cri dalker d的这种方案但是慢慢的可能你还是要去迁移到可能力因为它还是有很多其他的好处的因为你的结构更简单了以后其实做实话出问题的可能性也会变小dalker steam移出以后其实k8在cruelite这块的一些regression应该还是减少了的在最近有一个统计里面这个是cruelite的一个总体的它包括的一个范围简单来说cruelite是一个节点的一个agent但是你其实细分细细的去看它的话它除了做pod的management它还要做日置存储的volume的挂载secret config map这些相关的一些管理还有一个大家可能作为如果是应用的话它会用到比较多的prob的一些管理包括了这三种还有你跟下面的ci它会有一个round time image service这两个的管理再加上它的下落档现在我们也支持了grizzled下落档然后下落档manager还有包括你去通过cruelite去拿pod的一些信息可能会用到clvider但clvider其实现在大家用的会慢慢变少因为现在有一个新的alpha的一个feature gate是ci通过ci provider相关的pod的一些资源的信息除了这些还包括了eviction manager状态的manager还有user names base的这些等等其实我资源列的是一个子集可能还会有更多的一些组件涉及到的其实就是几点管理这块还是相当复杂的尤其是前面提到了pod management本身它的PoEG就pod lifecycle的一个管理其实就已经相当复杂了然后从节点的角度上讲节点跟控制评源是怎么通信和工作的呢从节点到控制期其实基本上只会走这个APS server因为APS server是它的所有的存储的一个中心然后节点通过APS server去拿到哪些pod是在这个节点上工作的拿这些pod去做工作然后还有就是它去APS server做一个注册而反过来从控制级点它只有几个场景下可能会去访问kubelite比如说logs你用kubelite control logs的时候用kubelite control XEC它调的就是APS server对应的那个接口然后去连kubelite其他的场景相对来说是比较少的注册这块的话其实这个一般来说你可能不需要太关注因为大部分情况下都为你的安装器去管理了比如说kubel ADM或者是其他的它基本上都会在安装教恩或者是过程中把节点的注册完成所以这些参数可以关注一下但是可能除非你有一些定制化的需求你可能才会需要去调整或者是像下面你的一些latency需要做一些调整的话可能需要这些参数这个心跳的话其实就是你节点它节点管理的话你是需要有一个心跳去维持这个节点到底是不是ready的而在早期的玩玩里面它其实是一直用直接去patch一个status到note上然后这样其实它会对整个note做一个更新而很多个那种控制组件它都会用到control manager它去list watch这种note的资源然后这样子的话就会出发很多次的这种event trigger包括这个过程其实在很多场景下会有一些导致大家说到很多其实没有太大用处的event因为它一直在心跳然后这块其实后面加了一个list的object然后去维持心跳这样子的话它就把note object跟它的心跳做了一个简单的分离但是它为了保持一个一致性或者是保持统一的话它还是维持了note object里面的更新如果把更新的市场拉长了然后通过这个时间以后你可以看到它的如果没有心跳了或者怎么样它会做一个control manager里面会去做一个note control的一个操作就是你的节点下限或者是不健康之类的另外就是kubelite它其实它维护的就远远不是说节点上的这些东西还包括了就是CSI尤其是CISI和CII这块它会有一些标准化的接口包括它的round time其实也是可以你自己去指定的所以其实它kubelite整体来说它更多的是把这个接口和它的接口调用给做好然后很多时候你通过这个标准的这套这几个interface去实现自己的逻辑因为大家可能会用不同的round time不同的storage和不同的网络另外一个signal最重要的一个东西就是resource management其实就是我们最常用到的kubelite就是CPU和memory现在也越来越多就比如说你临时生存然后包括pid它也有一些feature gate然后来控制你的feature gate的数量比如说泡的它有一个泡的和note的两种然后还包括你的一些device但是其实它其他的一些device现在更多的是通过那个接口去做包括那个device blacking和后面可能会提到的那个dr现在大家也越来越关注比如说nam或者是这种gpu啊之类的然后在后面两个可能是大家一个需要简单注意一下的就是你的节点的容量你的kubelizab和systemizab其实是可以帮助你让节点上的其他的一些系统进程能够预留一些cpu和内存而下面这个memory这块的话有一个比较新的一个qos的一个引入就是新的cgro和v2里面的memory high它这个可以限制你的内存回收就是说你如果你的泡的内存超过了memory high的话那么它会加入一个sortl就是有点像cpu sortl它其实是让你的内存的回收会变慢就是触发内存回收让你的分配相当于是变慢但是这里面目前我们在1.28里面测下来有一个相对严重的问题所以这个功能呢目前没有beta还是arfa的它的严重的问题就是说如果你达到了memory high以后你的申请的速度超过了你回收的速度那么有可能你这个泡的会有僵死在那因为相当于你它被sortl以后就相当于你的因为sortl的那个状态的话是有点无法工作的状态而不是那种q的状态就是在这种情况下它可能它的这个僵死状态还不如就是把它q掉就是不如不工作所以这块其实我们还在继续讨论到底怎么去推进这个功能这个的话是节点一个泡的它的退出和驱逐其实我们经常遇到的问题就是一个泡的它突然间退出了我们要去查这个原因通常情况下讲我这边列了一下就是比较常见的一些情况比如说你的那个内存然后内存OM或者是你的cruelite的一些eviction的条件触发了像如果是cruelite去q的话其实你可以在cruelite里面日里面是能找到的如果不是crueliteq的话大部分情况下应该要么是你的process退出或者是一些其他的原因就是有时候你可能要去内核里面去或者是去其他方面去找一些原因还有包括就是退出的这块其实node growth shutdown这个功能其实也可能越来越多人在使用后面还会提到另外一个现在在下面一节的话我会简单介绍一下就1.28里面StickNode这边的一些更新这里是1.28我们当时做了一个相当于回顾从1.22到1.28其实我们check的这个KP其实就是它的功能然后是有些波动的但是其实之前check是比较少的但是1.28我们check了31个但是实际上最后只有17个merge了但其实这个也已经超过了之前signode的一个负载就是我感觉signode它的整体的功能的眼镜还是比较慢的1.28其实算是做得还是很不错的而且这里面还包括了我们刚才提到KOS的这个功能没有被推进去因为我们通过测试发现了这些问题然后觉得它不适合继续做这个merge所以其实是在这种情况下的话说明我们在signode这块的进展是比之前更多的然后这边也提到了一些常规的一些方法吧就比如说我们更早的去核弹吧 更早的去review或者是有一些很大的KP它合并会很慢就像那个VPA后面会提到它可能用了4年最后它的第一个最大的PR才合进去1.28的话这边是首先我先介绍一下1.28里面核入的这些重要功能然后这里面分了三组就是第一组是alpha就全新的功能beta是之前alpha的功能觉得比较完善了推到了beta还有就gA就是说已经相对比较稳定的功能alpha这块其实可能重点后面会详细介绍比如说setcard然后那个dra和那个UserNameSpace其他有几个比较小的比如说这个cdi device的这个API然后其实我们现在很多时候是在首先就像刚才提到的它是一个标准接口的定义所以我们可能是会先在cdi这边去定义一些新的接口然后后面的话再由其他的一些组件去实现包括下面这个discovercgrover driver这个也是我们一直常用的一个问题就是说你的cgrover driver跟你的courette配置的cgrover driver跟你那个round time配置的cgrover不一样导致你的炮得起不来这个其实是经常会有人在kbar的gidhab里面去问的一个问题这个问题他们现在的一个想法就是说我们先把这个信息暴露给courette然后将来的话做到安装或者是运行状态下的一个自动识别这个arfa的其实只是说把这个状态暴露上去后面有几个可能后面会详细再讲beta的这里面可能到时候会强调一下这个swap还有一些托普的一些改动再加上下面下面升级到的里面的non-graceful node shutdown其实在strivel set里面大家是可能会设计到比较多的另外就是刚才提到的其实我们这边有很多个功能它没有在1.28里面成功推进去然后有些是推迟到了1.29然后有些可能即使到了1.29可能还是卡在一些一些原因上面这是我上周更新的它有一些功能已经merge了其中其中可以重点说一下比如说vpa它的windows的spot其实目前是卡在这个地方它也要做windows的一些支持像image的并行下载其实它只是卡在一些测试上它的功能本身其实没有太大的变化像下面的话有些功能可能它本身还没有它的设计稿最后没有定下来所以可能还是需要点时间这个其实对大家可能也会影响比较大就是节点的年度升级这个是K8最近一年可能都在想去弥补的一件事情包括现在最新成立的一个workgroup叫LTS的workgroup它希望做到一件事情就是能够延长你的支持周期同时upgrade的这块能够让你更加的顺畅这里其实你可以看到它是两种方案一种方案就是说你现在是1.40然后你去升级然后这个升级过程它其实是相当于你每年因为现在K8它不是每年会发三个版本吗然后他们现在给出的一个目前如果你用K8的话你知道它只能一个版本一个版本往上升就1.25 升到1.26再升到1.27 升到1.28这个其实对大家来说是一个很大的负担现在有些他们这种共云比如说谷歌的GCP吧他们应该已经有GKE他们已经做到了就是说他们控制平面从1.25 升到1.28是慢慢一个版本一个版本升上去的但是它的节点还保留在1.25因为它的Screw的Policy是N-3就是API Server和Qolet的N-3版本也是可以兼容的所以这里面的话就相当于他们底的时候对Qolet做一个连续的升级或者Qolet做一个大版本升级就可以了包括这块QoletQolet DM 这边我们也在做一些支持就是让你的升级的兼容度更高然后满足目前的Screw Policy另外LTS那边现在还在调研阶段还没有到定下来就比如说我们是支持两年或者是几年的一个版本但是大概率不会超过两年应该只支持到一年然后Swap这块的话在1.28里面我们做的比较大的两个改动一个是它只支持Screw V2另外一个就是我们只支持Burstball跑的因为如果你是一个Garanteed跑的我们认为你的内存和CPU都应该是满足的包括你的内存48G我就不应该去用Swap用Swap的话你的速度或者性能或者可能会受到影响所以只有你QOS是Burstball的话我们是会使用到Swap的如果你是Best Effort的其实你可能也没有必要去用Swap来就是对 用用到Swap然后这块的话目前它也是Default是Disabled的因为这里面其实你在使用的时候你要去把Couplet里面的Fill on Swap去改成False然后你才能使用然后而且你还要开启这个Feature Gate还要再配置它的一个Strategy然后这块其实可能如果你使用物理机的话然后还有一些Burstball的炮的话其实是建议开启的可以验证一下这个功能是不是对你们有一些帮助Your Name SpaceSpot的话它这个是一个安全加固从1.25到1.29我们一直在相当于不断地扩大它的一个知识范围然后在最开始的时候我们其实是在Pot's Back里面增加了这个host users然后通过它来去定义然后这样子的好处其实就是下面后面这张图如果了解Linux内核的话其实它是通过内核的Your Name Space的这个能力让一个你启动的Pot它自己以为自己是Root但是实际上从操作系统的角度上讲它不是Root它是通过一个IP的一个Map然后去让你没有那么高权限这样子的话现在其实大家有时候在做一些改造因为之前强调安全的人会强调说你要做Rootless那K8其实它自己本身也做了一个Corridium那边做了一个支持就是API Server然后Ctrl ManagerScheduler跑在飞Root下面然后它加了一个FishGate可以做到这个事情但是如果有了User Name Space的这个支持的话其实我们就不需要做这件事情了就是你不需要把你的Pot的User都定义成飞零如果这样子其实还有一些其他问题比如说你的Pot去占用那个领到一千的一些端口小度端口的时候如果你不是Root的话在有些内核杀是不支持的你需要再给它一些额外的那个权限现在这个里面的进展其实就是1.27里面支持那个Stylist然后1.29现在的话它会再做一个Pot Security的支持就是之前PSP的T代的这个发案Pot SecurityDRA这边我这边可能不会太简...不会深入介绍简单的给大家讲一下DRA的一个最近的一个变化就是它是1.26我们引入进来的然后1.27升级了它的那个版本号然后到1.29我们是计划把它推到Beta的现在1.28里面我们最重要的做的事情可能就是那个在调度这块做了一些优化然后就是有点类似claim这种方法就是它在这里面做了一些优化来去加速它的这个调度其实它解决一个什么问题呢就是早期的那个Debus Plug-in它其实开发的可能比较早然后没有考虑到有这么多易购的资源所以它之前的留出来的这个接口更多的给人感觉是它本地有个Debus要给你用而不是像现在的那种GPU有些可能共享或者是有一些什么分十分片之类的一些更复杂的需求就是之前的这个Debus Plug-in接口是很难应对这些问题的然后这里面举的一个这个YAML的例子其实就是一个炮的它两个容器去共享一个GPU和两个炮的共享一块GPU是可以现在通过这种方式去定义这个是今年那个上半年的那个EU的骷髏上他们重点介绍了一个DR的一个整个架构然后这里面其实调度这块的这个优化当时他们正在推进的一件事情然后现在应该是基本上都合进去了这块的那个性能应该是比之前是有提升的但是不太确定能不能满足大家的需求这块可能还需要大家更多的反馈这是一个DRA的一个Example Driver它其实就是相当于给你提供了一个接口实现的一个例子可以做到就刚才说的那个YAML里面的那个效果就刚才那个YAML里面其实就是这里提到了这第一个例子和第二个例子然后还有就比如说是第二个和第三个这两个例子然后后面这种应该也是更也是一种很常见的一些情况嘛下面简单介绍一下那个VPA其实就是在Coverlight的角度其实它是Inplace Results Resize就是它在1.25里面在CRI的那个接口里面支持了你可以动态去调整POD的那个Request Limit然后在1.27里面它的VPA的一个功能才完整的比较合进去然后1.28本来计划是把那个Windows这块做完然后现在是推迟到了1.29然后最近的一个更新可能还挺挺重要的就是很多人在用那个Cowbounding就是静态的CPU绑定然后字节这块是在做一个新的一个KEP最近刚刚提出来的然后他们做的什么事情呢就是Cowbounding的同时去做VPA然后动态的去调整它的绑定的情况这块目前社区的版本是不支持的这块可能也是一个比较重要的一个需求吧VPA这块我就不详细讲了大家有兴趣可以去看一下它在那个单独的一个仓库里面然后它有一个VPA的updater和一个recommer然后它是通过Metrics去收集它的信息然后给出一个建议值然后再通过这个updater去更新它然后它自己本身有一个controller然后这个它里面的一个单独还是挺好用的然后对这个VPA可能在一些场景下也会有很多应用场景还是挺多的它就这里提到的就是说它跟VPA的一个差异吧或者说它的一个优势就它不需要重启你可以你也可以定义它重启可以定义它不重启然后另外就是你在一些这种需要快速响应的情况下因为你扩展还需要一个启动的过程这个启动过程如果你炮的启动式不要卖的那种可能就会无法接受这时候你可能直接给之前的炮的增加资源这种方式的话可能能让你更快的去响应这种流量的波动另外就是在一些那种资源利用率比较低的情况下它可以动态直接的帮你去做一些调整这个其实也是很好的一个场景好 下面给大家介绍一下那个PLG好 接下来我给大家来介绍一下PLG在KBS里面的眼睛我介绍的主要是什么是PLG以及它的分类主要有Generic和InventedPLG然后包括他们两者的比较然后最后是我们在PLG经常遇到的一些问题以及如何去解决首先我们大概介绍一下什么是PLG然后PLG全称是Pulled LeftCircle Event Generate就是中文叫做Pulled生命周期 失减生命期我们知道就是Kubelet它本身是一个Node Agent它主要是保证在Node基点上的Pulled的状态来匹配它的Pulled SPEC在早期它主要是它的实现是比较复杂的因为它需要针对每个Pulled节点上的每个Pulled都会起一个work进程这个work进程主要工作的原理就是通过访问CRI来获取在Pulled的所有容器的状态然后与Pulled的开持件对比然后生成一个视角就导致了随着你Pulled的数量增高它会导致你这个节点性能的损耗然后后来呢为了解决这个问题我们社区就提出了一个Pulled这个概念它与以前的实现的主要状态就是它把所有的容器状态的获取都规接到一个Pulled一个RList的一个进程里面去对然后我们就去这就是它的核心逻辑对然后它把所有的容器的信息都是在一个单径程里面去获取然后通过比较它的Pulled catch的状态来生成对应的Pulled event对它主要解决了一个并发的问题以前可能随着你的Pulled数量的增多它的并发就越来越高而现在只需要一个单个的Walk进程就可以了然后同时它的效率也变得非常高然后保证了Cobelet的一个快耳性对然后它主要的提升点就包括然后减少了一些不必要的就在空间时点减少了一些不必要的工作对比方说一些List对然后然后另外一点就是降低了一些到CR容金银石的一些并发请求对然后第三步就是我们这个是1.26之前的一个实现叫Generic PLEG对这是左边是它的主要的逻辑图它的核心主要在于Release的方式它每秒然后运行一次然后查询该接点上的所有Pulled以及容器的相关信息然后对于当前PulledCatch已经对比然后生成对应的Pulled事件然后对然后这个还要说会在运行的时候注册一个House这个House会它的超级时间是3分钟如果你这个Rest运行时间超过了3分钟就会遇到我们常见的一个问题就是Pulledis not healthy对这是它的整个运行逻辑图然后我们可以看一下对上面说从左边这个Rest是美周期是一秒然后包括Pulled指标的生成然后从CRI对就是容器语音室里面然后过去对应的事件对然后更新相关的指标就包括Release的时间然后下一步就是比较PulledCatch里面的数据与当前列出的数据的差异来生成对应的事件对最后保存到更新到PulledCatch里面对然后下一步都是最新的EventedPLG对大家可以看到它整体的逻辑图在左边的话它其实还有整个Rest的逻辑但是它与Generic PLG的区别就是它把整个的周期变大了以前Generic的Rest的周期是一秒现在改为三百秒对然后它的Release的超时时间是以前是三分钟现在直接改成十分钟对对它改变了Rest的整个论寻了一个频率对这一部分是一个CAP的链接我们可以看到它是它本来在CAP里面写的是自己是V1.25它会进行α但是由于代码的一些问题然后它这个时期是在R1.26里面它有然后它Battle里面是在1.27对然后我们可以看它本身的一个逻辑它本质上是通过CRI的一个Event一个借口来获取这件事件就免去了一些对比的逻辑当然这个逻辑的话得需要更高版本的CRI运行史来支持对然后基于这个Event的BIG它又注册了自己的Health逻辑对它的Health逻辑是当事件对链里面的数量大于1000的时候它就会给你报警出一个类似一个PLAG当前它逻辑同事也行然后如果你们的它有个回退地址如果你当前比方说你的Kentanyl运行史是不支持这个Event的这个借口的话它会在你失败的时候进行强制release的一下就是强制回到GenericPLAG如果在从事无次失败之后它会把整个逻辑回得到GenericPLAG就包括Channel国务庭都会相当的停掉对就是我们给了我们一个兜底措施对这个是他们两个不同实验的比较包括Generic它的优点主要是简单对它的实验然后在release里面对那个R容器运行史进行release的就可以然后它有那个一致性保障对第三点是它的性能是可以说这这是在你的接点上泡的比较少的时候如果太多的话它就可以报PLAGis not healthy对然后它的与那个容器运行史的兼容性比较好它可以选择任何一个在R里面对然后基于以问题的PLAG的话它因为它是基于事件的它的性能也比较好然后它可以更快的生能事件然后包括一些资源使用力的提升还有它有点限制就是它需要现代就是更高版本的一个容器运行史对然后这个不就是为什么我们以问题的PLAG会更好因为它结合了两点既有到底保障也有性能的提升然后对第二个是现代运行容器运行史的话它会提高更好的性能对我们下一书说一下PLAG的插步书题对我们在运为KBS的时候我们经常遇到的问题就是PLAGis not healthy它发生的原因可能常见的时候就是我们的容器运行史比方说延迟比较高或者是超时对导致容器运行史延迟或者超时的性能就是一般容器运行史本身的版本或者是一些思索问题对第二个就是你当前在节点上跑了过多的pold它这个release过程无法在三分钟内完成它就会给你提示一个PLAGis not healthy然后第三个就是可能遇到一些隐藏的coblet的bug对针对以上三种情况其实在我们日常运为会我们尽量会遇到第一种和第二种第三种遇到的情况比较少对然后针对以上三种情况的解决方案一般情况就是第一点就是我们可以找到对岩卡住的就是耗住的一些容器手动把它Cure掉然后如果无法找的话可以把整个运行史重提一下甚至如果直接卡住的话我们在必要的情况下可以把整个节点重提一下对然后第二点就是第二点就是我们在那个节点上的pold数量进行合理的安排然后它有个参数叫做maxpold对把它设置得更合理一些对然后第三点就是如果世代找不到问题就一直遇到的问题我们可以到coblet社区里面来搜寻相应的Ease看看有什么有对岩的解决方案对而主要是coblet社区是个社区很强大的它有众多的维护者然后很多人都乐意回答问题对对我的关于piag建设到此为止我们时间可能我刚才用的比较多然后最后就是说希望大家能够多多来参与signode的一个建设signode其实它重视的是一个稳定性所以其实简单来说就是我们有一个测试然后bugfix的或者是你去Open一些Ease然后这个是要大于一个做feature的因为很多时候做feature可能需要你有更多的一个通用性的一个功能然后可能才能推进来而且这个过程可能会相对看到的比较慢然后就是增加一些monitor或者是一些日制或者是一些metrics这些信息是我们非常欢迎的然后可能这种pr的合并速度可能也会相对快一点然后另外下面就提到的是文档还有一些其他的就是还有一些重要的医术可能或者是pr可能会被优先级比较高一点另外就是这边signode的一个周会是在每天的就每周的周二周三零层一点然后有兴趣的可以参加因为其实可能pr或者医术里面大家回复的可能还没有那么勤因为很多人都比较忙然后可能这个signode meeting上如果你有一些比较重要的医术可以在这个会上去讨论可能得到的就比较快一点然后剩下就是在比如说slick或者是哪里都可以找到我们然后这是目前的一些负责人然后surge后面还有个视频可能来不及放了就是关于如何来参与signode然后后面我可能有发到scaddle上面然后作为附件往后面后面就没有其他的了好 谢谢大家问题可以会后交流老师我想问一下就是kbs官方门道里边说每个node推荐只跑110个节点 是吧然后我想问一下是影响数量上升的一个瓶颈点或者风险这哪个位置这个设置其实并不是它只是个推荐纸其实就像刚才他提到的release的情况如果你是物理机的话其实你可能就是要跑很多所以这时候你要去做一个挑参而不是就是你可能需要找到你适合你的一个纸只是110是一个比较常见的一个限制大部分情况下可能100一个因为我们之前跑过大概300 400它release的时候其实就已经很明显的去为超时了在一个普通的比如说四和八级或者是比较小的这种配置里面甚至在一些大的配置里面它也很容易超时可能要细分因为真的有很多时候比如说你的存储或者是你的iO很高或者是你的CPU或者是就你要先找到你的超时原因可能这个在定位上就像刚才提到的这个其实你说的问题也非常好就是说怎么样能够快速定位到我的超时在哪里这个也还是很重要的但是如果你说是单个POD它启动的问题的话其实我们后面还会有一个演讲是关于POD启动速度的但是这个可能是针对POD或者是AI的POD的这种一个介绍可能会下午的会有一个主题我想问一下刚才在你的PPT里面也看到说你们要Still the weather last对吧要把Still the weather去掉对吧然后我看了一下现在的接口它的定义和Metroid的接口是差很多的就是以后后面Still会新开接口吗新开一个Metroid的接口还是怎么样不一样是有两个一个是State summary那个是之前State weather提供的那个接口对 可能State是按照新的那个标准来然后可能未来是按新的那个CRI的这套来做还在做有一个KEP在追踪就所有的这些哪些信息是Structure可能不会改但是有很多功能可能会加就有很多还没有做的内容可能要添加接口应该不会变吧这个我没有具体看可以后面后面我再确认一下就是它有一张列表就是说CRI的支持哪些然后哪些已经用CRI的接口可以拿到了哪些拿不到它这个应有了但是你说的那个接口的那个变化我还不太确定我理解是不会变接口只是会加参数就加那个支持的参数的好 谢谢你好在那个看待码过程中我发现那个在Couplet里面有一个event handle里面有一部分会去重新查看一下节点上的资源是不是够那为什么Schedule做了以后在Couplet上面还要再做呢可能还不一定有以后那个调度器还要它其实就是在节点上包括那个GPU的分配它其实你到了节点上以后它还有一个分配过程有时候但现在的话你有了那个DRA应该是可以做一些定义的额外的定义的但是这个我不太确定这个我没有实际操作过就是正常情况下就除了你说的那种自定义的资源是这样子的或者是那个NUM架构的GPU我记得之前也有这个问题就是说它先分配到先调度器只是告诉你调到哪个节点到这个节点以后它具体用哪些CPU包括刚才那个绑合的这些东西它是要在节点上还有一个额外的一个操作过程这个我不太确定这个我可以后后我再去查一下我感觉是不需要但是但是具体可能还得再研究一下谢谢就刚才PUT提到就是PREG从那个不停的LIST改成那个事件触发就我有点好奇它那个底层它是怎么实现的CRI我理解它是通过CRI还是怎么说它需要更包括版本的CRI的支持对CRI实现的支持对你的版本它不实现它会自动帮你回退到Generic PLG的对对LIST它得需要底层的时间对对好谢谢谢谢大家