fengye87
fengye87

Reputation: 2543

Usage of kube-scheduler and kube-controller-manager server ports

I'm a bit confused about communication model between K8s master components. How does kube-apiserver, kube-controller-manager and kube-scheduler communicate with each other?

According to official doc, it seems to me that only kube-controller-manager and kube-scheduler connects to kube-apiserver, but not the other way around. However, I found there were bunch of server-flavored flags provided by both kube-controller-manager and kube-scheduler, such as --bind-address or --client-ca-file. So they are both definitely acting as a server too, which I can further confirm using curl localhost:10251/healthz and curl localhost:10252/healthz.

So the big question mark in my head now is that, what functionalities were provided by kube-controller-manager's and kube-scheduler's server ports? And were they used by kube-apiserver?

Upvotes: 1

Views: 336

Answers (1)

Anton Kostenko
Anton Kostenko

Reputation: 8983

They are not used by kube-apiserver.

That is health check ports to export current health status and metrics. --client-ca-file is an option for outgoing connections.

Here is a related path of a source code of kube-scheduler.

Upvotes: 5

Related Questions