kubectl 使用命令获取集群状态

Kubectl using command to get cluster status

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

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

检查您是否可以连接到 API 服务器的最便宜的方法是 kubectl version。此外 kubectl cluster-info 为您提供了更多信息。

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

这取决于你的需要和这里"status"的定义。您可以 运行 kubectl cluster-info 后跟 kubectl get nodes 并使用 awkjq 或 kubectl 自己的 STATUS 等解析工具检查所有节点的 STATUS 列=15=] 选项来验证所有节点是否准备就绪。

下面的命令将显示调度程序、控制器和 etcd

的运行状况

kubectl get cs

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

kubectl get pod -n kube-system

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

下面是根据需求获取集群状态的命令:

  • 要获取有关您的 Kubernetes master 位于 运行 处的信息,CoreDNS 位于 运行 处,kubernetes-dasboard 位于 运行 处,请使用 kubectl cluster-info

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

  • 要仅获取节点使用的健康状态,kubectl get componentstatuskubectl get cs

*显示资源使用的详细信息kubectl describe node <node>