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

Ken*_* Ho 61 kubernetes kubectl

假设我想找到我的k8s主人的kubelet和apiserver版本,最好的方法是什么?

我知道以下命令:

kubectl cluster-info
Run Code Online (Sandbox Code Playgroud)

它只显示端点.

kubectl get nodes; kubectl describe node <node>;
Run Code Online (Sandbox Code Playgroud)

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

还有

kubectl version
Run Code Online (Sandbox Code Playgroud)

但这只显示kubectl版本而不是kubelet或apiserver版本.

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

Ale*_*son 89

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"}
Run Code Online (Sandbox Code Playgroud)

第二行("服务器版本")包含apiserver版本.没有办法获得master的kubelet版本,如果它没有被注册为其中一个节点(如果它没有显示,则不是这样kubectl get nodes),但在大多数部署中它将是相同的版本作为apiserver.

  • 您还可以在大多数命令中添加`-o yaml`以获取更多详细信息,例如`kubectl get nodes -o yaml`将为您提供节点的kubelet版本. (10认同)

AAT*_*RAN 28

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

aathith@k8-master:~# kubectl version --short
Client Version: v1.18.1
Server Version: v1.18.1
Run Code Online (Sandbox Code Playgroud)

编辑 1:
在终端 1

aathith@k8-master:~# kubectl proxy
Starting to serve on 127.0.0.1:8001
Run Code Online (Sandbox Code Playgroud)

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

Run Code Online (Sandbox Code Playgroud)