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

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

使用Folium在Python中进行地图可视化的操作指南

《使用Folium在Python中进行地图可视化的操作指南》在数据分析和可视化领域,地图可视化是一项非常重要的技能,它能够帮助我们更直观地理解和展示地理空间数据,Folium是一个基于Python的地... 目录引言一、Folium简介与安装1. Folium简介2. 安装Folium二、基础使用1. 创建