使用 kubectl 查找有关 Kubernetes master的详细信息的命令是什么?

识趣 发表于: 2021-12-03   最后更新时间: 2021-12-03 23:51:06   850 游览

我想知道我的k8s的kubelet和apiserver版本,有什么好办法?

我知道以下命令:

kubectl cluster-info

其中只显示endpoints。

kubectl get nodes; kubectl describe node <node>;

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

还有

kubectl version

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

请问有人知道嘛?

发表于 2021-12-03

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

第二行Server Version包含了apiserver版本。如果master没有注册为node,就没有办法获得master的kubelet版本(如果它没有显示在kubectl get nodes中就不是),但其实它的版本与apiserver是相同的。

kubectl version --short 显示一个精简的k8s集群version:

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

还有可通过api获取

命令行窗口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"
}
你的答案

查看kubernetes相关的其他问题或提一个您自己的问题