What is command to find detailed information about Kubernetes master(s) using kubectl?

Kenny Ho picture Kenny Ho · Jul 6, 2016 · Viewed 90.3k times · Source

Let say I want to find the kubelet and apiserver version of my k8s master(s), what's the best way to do it?

I am aware of the following commands:

kubectl cluster-info

which only shows the endpoints.

kubectl get nodes; kubectl describe node <node>;

which shows very detail information but only the nodes and not master.

There's also

kubectl version

but that only shows the kubectl version and not the kubelet or apiserver version.

What other commands can I use to identify the properties of my cluster?

Answer

Alex Robinson picture Alex Robinson · Jul 6, 2016

kubectl version also shows the apiserver version. For example, this is the output when I run it:

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.4", GitCommit:"3eed1e3be6848b877ff80a93da3785d9034d0a4f", GitTreeState:"clean"}
Server Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.4", GitCommit:"3eed1e3be6848b877ff80a93da3785d9034d0a4f", GitTreeState:"clean"}

The second line ("Server Version") contains the apiserver version. There isn't a way to get the master's kubelet version if it isn't registered as one of the nodes (which it isn't if it isn't showing up in kubectl get nodes), but in most deployments it'll be the same version as the apiserver.