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


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


相关推荐
IT利刃出鞘13 分钟前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
java_logo15 分钟前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
好用斋2 小时前
拾光坞安装网盘聚合LitePan:把Docker命令翻译成图形界面
运维·docker·容器
对象存储与RustFS2 小时前
Velero 接 RustFS 实操:K8s 集群备份落到自建对象存储
后端·docker·云原生
weirong5 小时前
图解 client-go Informer:手写一个 mini-Informer 才敢说懂
kubernetes
.冰块.5 小时前
流量大了自动加 Pod!K8s HPA 扩缩容与 ResourceQuota/LimitRange 资源管控实战
linux·云原生·容器·kubernetes·hpa·quota·limitrange
方便面不加香菜6 小时前
Docker Container -- 容器命令详解
运维·docker·容器
Z21-X7 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
qq_452396238 小时前
第三篇:《从 ZooKeeper 到 KRaft 的迁移实战:前置条件、三阶段流程与回滚策略》
分布式·zookeeper·云原生
分布式存储与RustFS9 小时前
Longhorn 的卷备份别堆本地盘:用 RustFS 给它当 S3 备份目标
运维·云原生·开源·对象存储·分布式存储·s3·性能基准