更多ceph-csi其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 external-provisioner源码分析(3)-组件启动参数分析 本文将对external-provisioner组件的启动参数进行分析. 基于tag v1.6.0 https://github.com/kubernetes-csi/external-provisioner/releases/tag/v1.6.0 关联链接 external-provisioner组件的源码分析分为三…
更多ceph-csi其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi源码分析(2)-组件启动参数分析 ceph-csi组件的源码分析分为五部分: (1)组件介绍与部署yaml分析: (2)组件启动参数分析: (3)rbd driver分析: (4)cephfs driver分析: (5)liveness driver分析. 本文将对ceph-csi组件的启动参数进行分析. 基于tag v3.0.0 https://github.com/cep…
前言 之前探讨scheduler的调度流程时,提及过preempt抢占机制,它发生在预选调度失败的时候,当时由于篇幅限制就没有展开细说. 回顾一下抢占流程的主要逻辑在DefaultPreemption.preempt方法,步骤包括: 拿最新版本的pod,刷新lister的缓存 确保抢占者有资格抢占其他Pod 寻找抢占候选者 与注册扩展器进行交互,以便在需要时筛选出某些候选者. 选出最佳的候选者 在提名选定的候选人之前,先进行准备工作. 代码位于/pkg/scheduler/framework/p…
[源码分析] 消息队列 Kombu 之 启动过程 0x00 摘要 本系列我们介绍消息队列 Kombu.Kombu 的定位是一个兼容 AMQP 协议的消息队列抽象.通过本文,大家可以了解 Kombu 是如何启动,以及如何搭建一个基本的架子. 因为之前有一个综述,所以大家会发现,一些概念讲解文字会同时出现在后续文章和综述之中. 0x01 示例 下面使用如下代码来进行说明. 本示例来自https://liqiang.io/post/kombu-source-code-analysis-part-5系列…
更多ceph-csi其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi组件源码分析(1)-组件介绍与部署yaml分析 基于tag v3.0.0 https://github.com/ceph/ceph-csi/releases/tag/v3.0.0 概述 ceph-csi扩展各种存储类型的卷的管理能力,实现第三方存储ceph的各种操作能力与k8s存储系统的结合.调用第三方存储ceph的接口或命令,从而提供ceph数据卷的创建/删除.挂载/解除挂…
前言 当api-server处理完一个pod的创建请求后,此时可以通过kubectl把pod get出来,但是pod的状态是Pending.在这个Pod能运行在节点上之前,它还需要经过scheduler的调度,为这个pod选择合适的节点运行.调度的整理流程如下图所示 本篇阅读源码版本1.19 调度的流程始于Scheduler的scheduleOne方法,它在Scheduler的Run方法里被定时调用 代码位于/pkg/scheduler/scheduler.go func (sched *Sch…
settings里面的配置:'''当下面配置了这个(scrapy-redis)时候,下面的调度器已经配置在scrapy-redis里面了'''##########连接配置######## REDIS_HOST = '127.0.0.1' REDIS_PORT = # REDIS_PARAMS = {,,'retry_on_timeout': True,'encoding': REDIS_ENCODING,}) REDIS_ENCODING = "utf-8" # REDIS_URL =…
今天做了一些图来说明angular,由于angular实在太复杂了,不知道用什么图表示比较好,所以就胡乱画了一些,希望有人能看得懂. 一.源码文件编译合并顺序图 二.angular.module函数功能图 三.publishExternalAPI函数功能图 四.注入器工厂函数createInjector内部的providerCache和instanceCache 上一期:angular源码分析:angular的整个加载流程 下期预告:angular源码分析:angular中$rootscope的…
angular的工具函数 在angular的API文档中,在最前面就是讲的就是angular的工具函数,下面列出来 angular.bind //用户将函数和对象绑定在一起,返回一个新的函数 angular.bootstrap //angular启动函数,一般不用,除了e2e测试 angular.copy //对象拷贝 angular.element //jQlite,作用类似于jQuery angular.equals //对象比较.用 == 对两个对象进行比较,除非他们是同一个对象的引用,否…
本文主要解析下canal server的启动过程,希望能有所收获. 一.序列图 1.1 启动 1.2 停止 二.源码分析 整个server启动的过程比较复杂,看图难以理解,需要辅以文字说明. 首先程序的入口在CanalLauncher的main方法中. 2.1 加载配置文件 String conf = System.getProperty("canal.conf", "classpath:canal.properties"); Properties properti…