首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

kubernetes垃圾回收器GarbageCollector Controller源码分析(一)

GarbageCollector通过restMapper定期重置可删除的资源类型,更新GraphBuilder中的monitors,monitors将创建所有资源类型的变更通知回调函数,将变化的资源对象加入到...GraphBuilder的graphChanges队列,GraphBuilder的runProcessGraphChanges()会一直从队列中获取变化,构建一个缓存对象之间依赖关系的图形,以及触发dependencyGraphBuilder...:基于informers提供的事件,GraphBuilder更新 // uidToNode,一个缓存我们所知的依赖关系的图,并将 // 项放入attemptToDelete和attemptToOrphan...//uidToNode不需要锁保护,因为只有单线程GraphBuilder.processGraphChanges()读写它。..., GC is the consumer. // GraphBuilder是attemptToDelete和attemptToOrphan的生产者,GC是消费者。

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

kubernetes垃圾回收器Garbage Collector Controller源码分析(二)

\pkg\controller\garbagecollector\graph_builder.go中,runProcessGraphChanges中一直死循环处理变化的资源对象: func (gb *GraphBuilder...(graphChanges队列里数据来源于各个资源的monitors监听资源变化回调addFunc、updateFunc、deleteFunc)func (gb *GraphBuilder) processGraphChanges...1、 出队 从graphChanges队列取出资源对象,从GraphBuilder.uidToNode中读取该资源节点(uidToNode维护着资源对象依赖关系图表结构),found为true时表示图表存在该资源节点...func (gb *GraphBuilder) addDependentToOwners(n *node, owners []metav1.OwnerReference) { //遍历owner...func (gb *GraphBuilder) processTransitions(oldObj interface{}, newAccessor metav1.Object, n *node) {

74220

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券