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

Solution 1:

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.

Solution 2:

kubectl version --short will give you a short and sweet version of your k8-cluster

aathith@k8-master:~# kubectl version --short
Client Version: v1.18.1
Server Version: v1.18.1

edit 1:
In terminal 1

aathith@k8-master:~# kubectl proxy
Starting to serve on 127.0.0.1:8001

In terminal 2

aathith@k8-master:~# curl http://localhost:8001/version -k
{
  "major": "1",
  "minor": "18",
  "gitVersion": "v1.18.1",
  "gitCommit": "e0fccafd69541e3750d460ba0f9743b90336f24f",
  "gitTreeState": "clean",
  "buildDate": "2020-04-16T11:35:47Z",
  "goVersion": "go1.13.9",
  "compiler": "gc",
  "platform": "linux/amd64"
}