转自本人空间 http://user.qzone.qq.com/29185807/blog/1459325937一、controller manager创建endpointController
代码在k8s.io\kubernetes\cmd\kube-controller-manager\controller-manager.go main函数路口
代码k8s.io\kubernetes\cmd\kube-controller-manager\app\controllermanager.go Run函数 构建endpointcontroller
二、endpointcontroller初始化EndpointController结构体代码k8s.io\kubernetes\pkg\controller\endpoint\endpoints_controller.go 1、client 就是kubeClient,与apiserver连接的接口部分。用于service的list和watch的获取,pod的list和watch的获取 2、serviceStore与serviceController serviceStore,service信息的存储 serviceController,service信息的生产者 3、podStore与podController podStore,pod信息的存储 podController,pod信息的生产者 4、queue 处理队列
初始化代码k8s.io\kubernetes\pkg\controller\endpoint\endpoints_controller.go 从上面的代码可以到,结构体里的各个成员进行了初始化。
1、client 就是kubeClient,与apiserver连接的接口部分。用于service的list和watch的获取,pod的list和watch的获取 2、serviceStore与serviceController 初始化为framework.NewInformer 并将service的list和watch获取接口传入 3、podStore与podController 初始化为framework. |
【原创】k8s源码分析-----EndpointController
最新推荐文章于 2024-02-19 08:30:36 发布