首页
学习
活动
专区
工具
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.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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) {

    76720

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券