Kubectl使用命令获取集群状态

时间:2019-02-26 09:53:10

标签: kubernetes google-cloud-platform kubectl

我需要创建一个检查群集的shell脚本 状态。

我看到kubectl describe-nodes提供了很多数据 我可以将其输出到json,然后解析它,但也许只是过分杀了。 有没有一种简单的方法可以使用kubectl命令来获取集群的状态?只是它的上/下

4 个答案:

答案 0 :(得分:2)

用于检查是否可以访问API服务器的最便宜的方法是kubectl version。此外,kubectl cluster-info还为您提供了更多信息。

答案 1 :(得分:2)

除了Michael的answer,这只会告诉您有关API服务器或主服务和内部服务(如KubeDns等)的信息,而不会告诉您有关节点的信息。

这取决于您的需要和“状态”的定义。您可以先运行kubectl cluster-info,然后运行kubectl get nodes,然后使用STATUSawk或kubectl自己的jq之类的解析工具检查所有节点的-o jsonpath列验证所有节点是否准备就绪的选项。

答案 2 :(得分:1)

以下命令将显示调度程序,控制器和etcd的运行状况

kubectl get cs

下面的命令列出了Kubernetes的核心组件,例如etcd,控制器,调度程序,kube-proxy,core-dns,网络插件。所有这些吊舱都应运行,以确保Kubernetes处于健康状态。

kubectl get pod -n kube-system

最后部署一个前端和后端Pod,并验证Pod间的通信,以确保群集正常运行。

答案 3 :(得分:0)

以下是根据要求获取集群状态的命令:

  • 要获取有关Kubernetes主服务器运行位置,CoreDNS运行位置,kubernetes-dasboard运行位置的信息,请使用 kubectl cluster-info

  • 要获取详细信息以进一步调试和诊断群集问题,请使用kubectl cluster-info dump

  • 要仅获取节点使用的运行状况,请kubectl get componentstatuskubectl get cs

*要显示有关资源的详细信息,请使用kubectl describe node <node>