Kubernetes(k8s)集群健康检查常用的五种指标

文章目录

1、节点健康指标

  • 节点状态:检查节点是否处于Ready状态,以及是否存在任何异常状态。

  • 资源利用率:监控节点的CPU、内存、磁盘等资源的使用情况,确保没有资源瓶颈。

  • 网络连通性:检查节点之间的网络连通性,Pod调度状态,确保Pod之间的通信正常等。

使用 kubectl get nodes -o wide 命令获取所有节点的状态信息,包括节点名称、IP地址、角色等。

bash 复制代码
kubectl get nodes -o wide

使用 kubectl cluster-info 命令显示当前连接到的集群的相关信息,如API服务器地址、版本号等。

bash 复制代码
kubectl cluster-info

使用 kubectl get nodes 命令可以获取所有节点的健康状态

bash 复制代码
kubectl get nodes

使用 kubectl get pods --all-namespaces 命令查看集群中所有命名空间中Pod的状态

bash 复制代码
kubectl get pods --all-namespaces
#雷同
kubectl get pod -A

用于获取Kubernetes集群中各个组件的健康状态,如API服务器、控制器管理器、调度器等。

bash 复制代码
kubectl get componetstatuses

使用 kubectl top 命令来查看节点和Pod的资源使用情况。(需要安装集群指标监控组件metrics)

bash 复制代码
kubectl top node

使用 kubectl top pod --all-namespaces或者 kubectl top pod -A命令查看Pod详细资源使用情况。

bash 复制代码
kubectl top pod  -A

使用 kubectl describe node vts-b 命令可以获取特定节点的详细信息,包括资源使用情况、事件记录等。

bash 复制代码
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的详细信息,包括其事件历史、容器状态、资源使用情况等。

bash 复制代码
kubectl describe pod calico-node-tw42m -n kube-system

使用 kubectl get events --sort-by='.metadata.creationTimestamp' -n kube-system命令可以查看指定命名空间中的事件,按时间顺序排列。

bash 复制代码
kubectl get events --sort-by='.metadata.creationTimestamp' -n kube-system

3、服务健康指标

  • 服务可用性:检查服务是否能够正常访问,包括服务的可用性、响应时间、错误率等,是否存在任何故障或延迟。

  • 负载均衡:检查服务的负载均衡配置是否正确,确保请求能够均匀分发到各个Pod。

kubectl get services

kubectl describe service kubernetes

使用上面两条命令来获取服务的详细信息,包括其类型(如ClusterIP、NodePort、LoadBalancer等)、IP地址、端口号以及与之关联的Pod信息。

bash 复制代码
kubectl get services

kubectl describe service kubernetes

使用 kubectl logs -f polardbx-hpfs-9scjk -n polardbx-operator-system命令可以查看Pod中容器的日志,这对于诊断Pod为什么崩溃非常有用。

bash 复制代码
kubectl logs -f polardbx-hpfs-9scjk -n polardbx-operator-system

4、网络健康指标

  • 网络延迟:检查集群的网络连通性、检查集群内的网络延迟情况,确保网络通信顺畅。

  • 丢包率:监控网络传输过程中的丢包情况,避免数据传输问题。

5、存储健康指标

  • 持久卷状态:检查集群的存储状态,检查持久卷(Persistent Volume)的状态,确保存储资源可用。

  • 持久卷声明状态:检查持久卷(Persistent Volume Claim)的状态,确保Pod能够正常挂载存储,容量使用情况等。

bash 复制代码
kubectl get sc

kubectl get pv,pvc -A

使用上面两条命令来查看集群中所有的持久卷和持久卷声明。确保它们的状态是Bound,表示它们已经被正确地绑定到了Pod上。

这些健康检查指标可以通过Kubernetes提供的API、命令行工具(如kubectl)、监控系统(如Prometheus)等来获取和监控。通过对这些指标的持续监控和分析,可以及时发现和解决集群中的问题,确保集群的稳定性和高可用性。


当你觉得自己很难的时候,说明你在走上坡路,别急,美好正在马不停蹄地赶来的路上。


相关推荐
唐大爹7 小时前
项目实战:k8s部署考试系统
云原生·容器·kubernetes
wusam10 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器
一直在进步的派大星11 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
Zl15975315975314 小时前
k8s基础环境部署
云原生·容器·kubernetes
花酒锄作田15 小时前
[kubernetes]二进制方式部署单机k8s-v1.30.5
kubernetes
陌殇殇殇16 小时前
使用GitLab CI构建持续集成案例
运维·ci/cd·云原生·容器·kubernetes·gitlab
技术钱16 小时前
docker简介
运维·docker·容器
roman_日积跬步-终至千里16 小时前
【docker】docker常见命令
运维·docker·容器
Gogeof17 小时前
云原生化 - 基础镜像(简约版)
微服务·云原生·基础镜像
daxian_am46119 小时前
k8s image error
java·数据库·kubernetes