我需要创建一个shell脚本来检查集群状态。**
我看到kubectl describe-nodes提供了大量数据我可以将它输出到json,然后解析它,但也许它只是矫枉过正。…
除迈克尔之外 回答 ,这只会告诉你有关API服务器或主服务器和内部服务(如KubeDns等),而不是节点。
这取决于您的需求和“状态”的定义。你可以跑 kubectl cluster-info 其次是 kubectl get nodes 并检查 STATUS 使用解析工具的所有节点的列 awk , jq 或kubectl自己的 -o jsonpath 用于验证所有节点是否就绪的选项。
kubectl cluster-info
kubectl get nodes
STATUS
awk
jq
-o jsonpath
检查您是否可以访问API服务器的最便宜的方法是 kubectl version 。此外 kubectl cluster-info 为您提供更多信息。
kubectl version
以下命令将显示调度程序,控制器和的健康状况 etcd
etcd
kubectl get cs
下面的命令列出了Kubernetes核心组件,如, etcd ,控制器,调度程序,kube-proxy,core-dns,网络插件。所有这些豆荚都应该运行以确保Kubernetes健康。
kubectl get pod -n kube-system
最后部署一个前端和后端Pod并验证pod间通信,以确保群集正常运行。