结构图:
API server 是中心.
scheduler 源码分析.
$ git ls-files |grep scheduler |less
可以看到 scheduler 的主要目录,有cmd, algorithm, api ...
可以猜出来这个文件是干啥的.
cmd是 就是command吗,main 函数的入口.
打开 plugin/cmd/kube-scheduler/scheduler.go 发现启动了一个SchedulerServer.
深入进去
plugin/cmd/kube-scheduler/app/options/options.go -> pkg/apis/componentconfig/types.go
看到其实 KubeSchedulerConfiguration, 就是一个http的server.
看来这个与openstack不同,不是采用rpc通信.