1、节点健康指标
- 节点状态:检查节点是否处于Ready状态,以及是否存在任何异常状态。
- 资源利用率:监控节点的CPU、内存、磁盘等资源的使用情况,确保没有资源瓶颈。
- 网络连通性:检查节点之间的网络连通性,Pod调度状态,确保Pod之间的通信正常等。
使用 kubectl get nodes -o wide 命令获取所有节点的状态信息,包括节点名称、IP地址、角色等。
kubectl get nodes -o wide
使用 kubectl cluster-info 命令显示当前连接到的集群的相关信息,如API服务器地址、版本号等。
kubectl cluster-info
使用 kubectl get nodes 命令可以获取所有节点的健康状态
kubectl get nodes
使用 kubectl get pods --all-namespaces 命令查看集群中所有命名空间中Pod的状态
kubectl get pods --all-namespaces #雷同 kubectl get pod -A
用于获取Kubernetes集群中各个组件的健康状态,如API服务器、控制器管理器、调度器等。
kubectl get componetstatuses
使用 kubectl top 命令来查看节点和Pod的资源使用情况。(需要安装集群指标监控组件metrics)
kubectl top node
使用 kubectl top pod --all-namespaces或者 kubectl top pod -A命令查看Pod详细资源使用情况。
kubectl top pod -A
使用 kubectl describe node vts-b 命令可以获取特定节点的详细信息,包括资源使用情况、事件记录等。
kubectl describe node vts-b
2、Pod健康指标
- Pod状态:检查Pod是否正常运行,是否出现CrashLoopBackOff、Pending等异常状态。
- 容器状态:检查Pod内各个容器的运行状态,确保容器没有崩溃或异常退出。
- 资源使用情况:监控Pod的CPU、内存等资源的使用情况,确保Pod没有资源不足的问题。
使用 kubectl describe pod calico-node-tw42m -n kube-system命令查看Pod的详细信息,包括其事件历史、容器状态、资源使用情况等。
kubectl describe pod calico-node-tw42m -n kube-system
使用 kubectl get events --sort-by=‘.metadata.creationTimestamp’ -n kube-system命令可以查看指定命名空间中的事件,按时间顺序排列。
kubectl get events --sort-by='.metadata.creationTimestamp' -n kube-system
3、服务健康指标
- 服务可用性:检查服务是否能够正常访问,包括服务的可用性、响应时间、错误率等,是否存在任何故障或延迟。
- 负载均衡:检查服务的负载均衡配置是否正确,确保请求能够均匀分发到各个Pod。
kubectl get services
kubectl describe service kubernetes
使用上面两条命令来获取服务的详细信息,包括其类型(如ClusterIP、NodePort、LoadBalancer等)、IP地址、端口号以及与之关联的Pod信息。
kubectl get services kubectl describe service kubernetes
使用 kubectl logs -f polardbx-hpfs-9scjk -n polardbx-operator-system命令可以查看Pod中容器的日志,这对于诊断Pod为什么崩溃非常有用。
kubectl logs -f polardbx-hpfs-9scjk -n polardbx-operator-system
4、网络健康指标
- 网络延迟:检查集群的网络连通性、检查集群内的网络延迟情况,确保网络通信顺畅。
- 丢包率:监控网络传输过程中的丢包情况,避免数据传输问题。
5、存储健康指标
- 持久卷状态:检查集群的存储状态,检查持久卷(Persistent Volume)的状态,确保存储资源可用。
- 持久卷声明状态:检查持久卷(Persistent Volume Claim)的状态,确保Pod能够正常挂载存储,容量使用情况等。
kubectl get sc kubectl get pv,pvc -A
使用上面两条命令来查看集群中所有的持久卷和持久卷声明。确保它们的状态是Bound,表示它们已经被正确地绑定到了Pod上。
这些健康检查指标可以通过Kubernetes提供的API、命令行工具(如kubectl)、监控系统(如Prometheus)等来获取和监控。通过对这些指标的持续监控和分析,可以及时发现和解决集群中的问题,确保集群的稳定性和高可用性。
当你觉得自己很难的时候,说明你在走上坡路,别急,美好正在马不停蹄地赶来的路上。