kubernetes源码阅读一,Controller模式

Controller模式

kube-scheduler可以说是k8s大脑,负责给pod分配node主机.在阅读源码时发现 传统的阅读方法很不好阅读这种面向对象思想的项目,后来发现,找出关键的类理解其成员变量及方法/以及作者的类注释,非常有帮助.最终发现kube-scheduler整体多处使用了controller模式[HTML_REMOVED]cache-->process-->handler,类似生产者消费者 >

Controller类图

notify

Controller运行过程

notify

Controller变体ShareIndexInformer

可以把sharedinformer理解为加强版的Controller 自带了process方法,只需要传入handler即可

notify