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)等来获取和监控。通过对这些指标的持续监控和分析,可以及时发现和解决集群中的问题,确保集群的稳定性和高可用性。


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


相关推荐
chuanauc1 小时前
Kubernets K8s 学习
java·学习·kubernetes
小张是铁粉1 小时前
docker学习二天之镜像操作与容器操作
学习·docker·容器
烟雨书信2 小时前
Docker文件操作、数据卷、挂载
运维·docker·容器
IT成长日记2 小时前
【Docker基础】Docker数据卷管理:docker volume prune及其参数详解
运维·docker·容器·volume·prune
这儿有一堆花2 小时前
Docker编译环境搭建与开发实战指南
运维·docker·容器
LuckyLay2 小时前
Compose 高级用法详解——AI教你学Docker
运维·docker·容器
Uluoyu2 小时前
redisSearch docker安装
运维·redis·docker·容器
IT成长日记6 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
疯子的模样10 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
虚伪的空想家11 小时前
rook-ceph配置dashboard代理无法访问
ceph·云原生·k8s·存储·rook