99

假设我想找到我的 k8s master(s) 的 kubelet 和 apiserver 版本,最好的方法是什么?

我知道以下命令:

kubectl cluster-info

仅显示端点。

kubectl get nodes; kubectl describe node <node>;

它显示了非常详细的信息,但只有节点而不是主节点。

还有

kubectl version

但这仅显示 kubectl 版本,而不是 kubelet 或 apiserver 版本。

我可以使用哪些其他命令来识别集群的属性?

4

2 回答 2

123

kubectl version还显示 apiserver 版本。例如,这是我运行它时的输出:

$ 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"}

第二行(“服务器版本”)包含 apiserver 版本。如果 master 的 kubelet 版本没有注册为节点之一(如果它没有出现在 中,则不是kubectl get nodes),则无法获取 master 的 kubelet 版本,但在大多数部署中,它将是相同的版本作为 apiserver。

于 2016-07-06T17:59:31.063 回答
37

kubectl version --short会给你一个简短而甜蜜的 k8-cluster版本

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

编辑 1:
在终端 1

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

在 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"
}

于 2020-04-16T14:41:21.953 回答