Kubernetes(k8s):如何进行 Kubernetes 集群健康检查?

2024-04-03 16:36

本文主要是介绍Kubernetes(k8s):如何进行 Kubernetes 集群健康检查?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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💖点点关注,收藏不迷路💖

这篇关于Kubernetes(k8s):如何进行 Kubernetes 集群健康检查?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873429

相关文章

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估