Kubernetes(k8s):如何进行 Kubernetes 集群健康检查?
- 一、节点健康检查
- 1、使用 kubectl 查看节点状态
- 2、查看节点详细信息
- 3、检查节点资源使用情况
- 2、Pod 健康检查
- 2.1、 使用 kubectl 查看 Pod 状态
- 2.2、 查看特定 Pod 的详细信息,包括事件和条件
- 3、服务健康检查
- 3.1、使用 kubectl 查看服务状态
- 3.2、查看特定服务的详细信息,包括端口和端点
- 4、使用 kubectl 查看存储状态
- 5、集群组件健康检查
- 6、使用 Kubernetes Dashboard 进行综合监控
💖The Begin💖点点关注,收藏不迷路💖 |
在使用 Kubernetes(k8s)部署应用程序时,保证集群的健康状态至关重要。通过定期的健康检查,可以及时发现并解决可能导致应用程序中断或故障的问题,确保集群的稳定性和可靠性。
一、节点健康检查
1、使用 kubectl 查看节点状态
[root@k8s-master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane 10m v1.24.1
k8s-node01 Ready <none> 8m9s v1.24.1
k8s-node02 Ready <none> 5m48s v1.24.1
[root@k8s-master ~]#
将列出所有节点的状态,包括节点的名称、状态、版本等信息。确保所有节点都处于 Ready 状态,表示节点正常运行且可用。
2、查看节点详细信息
使用kubectl describe nodes <node-name>
命令来查看特定节点的详细信息。
kubectl describe nodes <node-name>[root@k8s-master ~]# kubectl describe nodes k8s-node01
节点基本信息:节点的名称、标签、操作系统、架构等基本信息。
节点资源信息:节点的CPU、内存、存储等资源使用情况。
节点条件:节点的健康状态、是否Ready等条件。
节点事件:与节点相关的事件和警告信息。
容器运行时信息:节点上正在运行的容器运行时信息。
Pod信息:在节点上运行的Pod的详细信息。
网络信息:节点的网络配置和状态信息。
3、检查节点资源使用情况
kubectl top nodes
2、Pod 健康检查
2.1、 使用 kubectl 查看 Pod 状态
##查看所有命名空间中的 Pod 状态
kubectl get pods --all-namespaces
列出所有命名空间中的 Pod 状态,包括 Pod 的名称、所属命名空间、状态、就绪状态、重启次数等信息。确保所有 Pod 都处于 Running 状态,并且就绪状态为 1/1,表示 Pod 正常运行且没有异常。
2.2、 查看特定 Pod 的详细信息,包括事件和条件
kubectl describe pod <pod-name> -n <namespace>kubectl describe pod dashboard-metrics-scraper-8c47d4b5d-jzqhn -n kubernetes-dashboard
如果 Pod 处于 Running 状态,则表示 Pod 健康;如果 Pod 处于 Pending 或 Failed 状态,则可能存在问题。
3、服务健康检查
3.1、使用 kubectl 查看服务状态
kubectl get services --all-namespaces
列出所有命名空间中的服务状态,包括服务的名称、类型、ClusterIP、外部端点等信息。确保所有服务都处于正常状态,可以正常访问和提供服务。
3.2、查看特定服务的详细信息,包括端口和端点
kubectl describe svc <service-name> -n <namespace> kubectl describe svc dashboard-metrics-scraper -n kubernetes-dashboard
4、使用 kubectl 查看存储状态
kubectl get pv,pvc --all-namespaces
列出所有命名空间中的持久卷(PersistentVolume)和持久卷声明(PersistentVolumeClaim)的状态,包括名称、状态、容量、访问模式等信息。确保存储系统正常工作,PV 和 PVC 的状态为 Bound 表示正常绑定。
## 查看详细信息
kubectl describe pv <pv-name> kubectl describe pvc <pvc-name> -n <namespace>
5、集群组件健康检查
查看 Kubernetes 系统命名空间中各个组件的状态,例如 kube-scheduler、kube-controller-manager、etcd 等。
kubectl get pods -n kube-system
6、使用 Kubernetes Dashboard 进行综合监控
部署 Kubernetes Dashboard,在 Kubernetes Dashboard 中查看各种资源的信息,包括节点、Pod、服务、持久卷等。可以在 Dashboard 中浏览各种指标和图表,了解集群的运行情况,并对资源进行管理和调整。
💖The End💖点点关注,收藏不迷路💖 |