client 是连接到 kube-apiserver 的客户端。我们要理解k8s的设计: 1. etcd是核心的数据存储,对资源的修改会进行持久化 2. 只有kube-apiserver可以访问etcd 所以,kube-scheduler要了解资源的变化情况,只能通过kube-apiserver。 // 定义了 Shared Informer,其中这个client是用来连接kube-apiserver的 c.InformerFactory = ...
kubernetes 中所有组件的启动流程都是类似的,首先会解析命令行参数、添加默认值,kube-scheduler 的默认参数在 k8s.io/kubernetes/pkg/scheduler/apis/config/v1alpha1/defaults.go 中定义的。然后会执行 run 方法启动主逻辑,下面直接看 kube-scheduler 的主逻辑 run 方法执行过程。 Run() 方法主要做了以下工作: 配...