1.概述

  Kubernetes 集群巡检是一种监测和评估底层系统运行状况的重要手段,旨在快速发现系统中存在的潜在风险并提供修复建议。通过对 Kubernetes(K8s)集群进行定期巡检,可以有效保障集群稳定性、优化资源利用率、提升安全性,并降低运维风险,特别是在生产环境中,这种预防性措施尤为重要。

2.为什么要对 Kubernetes 集群巡检

  (1) 确保集群稳定性

  • Kubernetes 是一个动态系统,运行时会不断调度和管理容器。由于配置错误、资源不足或节点故障等问题,可能影响集群的稳定性。
  • 巡检有助于识别潜在问题并在故障发生前解决。

  (2) 提升集群性能

  • 通过检查资源分配和使用情况,可以优化集群资源利用率。
  • 找到性能瓶颈,防止 Pod 调度延迟或应用性能下降。

  (3) 保障安全性

  • Kubernetes 环境需要定期审查安全配置,如 RBAC 权限、网络策略、防火墙规则等,以防止安全漏洞。

  (4) 降低运维风险

  • 通过定期巡检,可以提前发现和解决问题,避免出现生产环境中的严重故障。

3.巡检内容

3.1 集群总览

  • Kubernetes 版本

  • 集群节点数

  • 资源总量:已分配 CPU 和内存

  • 资源使用率:最低、平均、最高 CPU 和内存使用率

  • 证书过期时间

3.2 K8s 核心组件状态  

  • 核心组件:kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet 等。

  • etcd 备份情况:确保关键数据安全。

3.3 K8s 存储网络组件状态

  • 网络连通性:检查服务的 DNS 解析和网络连通性。
  • CNI 插件状态:确认网络插件(如 Flannel、Calico)是否正常运行。
  • 存储状态:检查 Persistent Volume(PV)和 Persistent Volume Claim(PVC)是否正常,确保数据存储和挂载没有问题。

3.4 K8s节点健康状态

  检查集群中所有节点的健康状态,包括节点的运行状态、节点可用性、节点文件系统状态等。此外,还需要检查节点内核是否有死锁、docker 是否正常等,以确保整个集群的稳定性和可用性。

  • 节点运行状态:检查节点是否处于 Ready 状态。

  • 文件系统状态:检查节点文件系统健康状况。

  • 关键服务:确认节点内核、Docker 服务是否正常。

3.5 K8s节点资源状况

  K8s 是一个高度动态的系统,它需要确保节点资源的可用性以支持应用程序的正常运行。因此,在对集群进行巡检时,需要检查节点的资源使用情况,包括CPU、内存和磁盘等。通过检查资源使用情况,可以确保节点资源的可用性和可扩展性,并及时发现可能会影响应用程序性能的问题。

  • 资源使用情况:检查节点的 CPU、内存、磁盘使用率,确保资源分配合理。

  • 容量规划:发现资源瓶颈并进行扩展规划。

3.6 K8s集群之上容器云平台组件巡检

  主要检查集群核心组件及附加组件的状态以及重启状况。

  • 运行状态:检查容器云底层的核心组件及集成的附属组件(日志、网关、微服务治理等)的运行状态,以确保容器云平台的正常运行。
  • 重启状况:检查容器云底层的核心组件及集成的附属组件(日志、网关、微服务治理等)的重启情况,如重启次数、重启原因等,可以确保及时发现容器云平台自身组件的问题并进行修复。

3.7 运行巡检

  运行巡检主要针对于平台上运行的业务进行巡检,当进行运行巡检时,主要检查组件 pod 的运行状态和重启状况。

  • 运行状态:检查集群内各个 Pod 的运行状态,例如 Pod 是否处于 Running 状态、Pod 是否处于 CrashLoopBackOff 状态、Pod 是否处于 Pending 状态等,以确保及时发现异常 Pod。
  • 重启状况:检查集群内各个 Pod 的重启情况,如重启次数、重启原因等,以确保及时发现 Pod 的问题并进行修复。

3.8 配置巡检

  配置巡检主要针对于平台上运行的业务资源配置、健康检测配置等进行巡检。主要检查容器镜像标签、容器运行时参数、资源限制设置、存储挂载设置、容器健康检测设置。

  • 容器镜像标签:检查容器镜像的标签是否合规,包括是否使用了 latest 标签、是否使用了明确的版本号等。
  • 容器运行时参数:检查容器运行时参数是否安全,包括是否禁止使用特权模式、是否开启了安全策略等。
  • 资源限制设置:检查容器资源限制设置是否合理,包括 CPU 和内存限制是否设置合理。
  • 存储卷挂载设置:检查容器存储卷挂载设置是否合理,包括是否禁止了对主机文件系统的挂载、是否使用了 ReadOnlyRootFilesystem 等。
  • 容器健康检测设置:检查容器健康检测设置是否合理,包括是否设置了 liveness 和 readiness 探针、探针的检测间隔是否设置合理等。

  通过对这些配置进行扫描和分析,生成的配置巡检报告可以给出针对每个组件的配置建议和优化方案,帮助用户提高系统的安全性和可靠性。

3.9 安全巡检

  安全巡检主要针对于平台上运行的业务镜像进行扫描,并对镜像中的各类安全漏洞,给出详细信息链接,以便用户进行修复。具体来说,安全巡检主要包含了扫描镜像安全漏洞、漏洞报告、建议和解决方案、自动化定期检测。

  • 扫描镜像安全漏洞:通过对集群内已部署的业务镜像进行扫描,获取镜像存在的安全漏洞信息。
  • 分析漏洞影响:对扫描出的安全漏洞进行分析,评估其对业务的影响程度,并给出相应的风险评级。
  • 提供建议和解决方案:根据扫描出的安全漏洞和评估结果,给出相应的建议和漏洞详细信息,帮助用户修复漏洞,提升业务的安全性。
  • 定期检测和自动化:安全巡检需要定期进行,以保持业务的安全性。目前,安全巡检支持自动化运行,针对每个新部署的业务组件均会自动进行检测,并生成相关报告。

4. 小结

  Kubernetes 集群巡检不仅是确保系统健康的重要环节,也是优化集群性能、保障安全性和提升运维效率的关键措施。通过定期巡检,运维团队可以迅速发现和解决潜在问题,确保生产环境的高可用性和安全性。借助自动化工具和标准化流程,巡检工作可以更高效、更全面地完成,为 Kubernetes 集群的长期稳定运行提供坚实保障。

参考:https://blog.csdn.net/qq_21127151/article/details/141905827

参考:https://www.rainbond.com/docs/enterprise/scanner/

Kubernetes集群巡检内容的更多相关文章

  1. 基于Python+Django的Kubernetes集群管理平台

    ➠更多技术干货请戳:听云博客 时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调 ...

  2. Centos7上安装Kubernetes集群部署docker

    一.安装前准备1.操作系统详情需要三台主机,都最小化安装 centos7.3,并update到最新 [root@master ~]# (Core) 角色 主机名 IPMaster master 192 ...

  3. 使用acs-engine在Azure中国区部署kubernetes集群详解

    转载请注明出处:http://www.cnblogs.com/wayneiscoming/p/7649642.html 1. acs-engine简介 ACS是微软在2015年12月推出的一项基于容器 ...

  4. Traefik实现Kubernetes集群服务外部https访问

    转载请注明出处:http://www.cnblogs.com/wayneiscoming/p/7707942.html traefik 是一个前端http反向代理服务器以及负载均衡器,支持多种微服务后 ...

  5. Kubernetes集群部署史上最详细(二)Prometheus监控Kubernetes集群

    使用Prometheus监控Kubernetes集群 监控方面Grafana采用YUM安装通过服务形式运行,部署在Master上,而Prometheus则通过POD运行,Grafana通过使用Prom ...

  6. Kubernetes集群部署关键知识总结

    Kubernetes集群部署需要安装的组件东西很多,过程复杂,对服务器环境要求很苛刻,最好是能连外网的环境下安装,有些组件还需要连google服务器下载,这一点一般很难满足,因此最好是能提前下载好准备 ...

  7. 如何在CentOS上创建Kubernetes集群

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由编程男孩 发表于云+社区专栏 介绍 Kubernetes(常简称为K8s)是用于自动部署.扩展和管理容器化(containerized ...

  8. 二进制安装部署kubernetes集群---超详细教程

    本文收录在容器技术学习系列文章总目录 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以打赏博主一杯咖啡钱 ...

  9. Kubernetes — 从0到1:搭建一个完整的Kubernetes集群

    准备工作 首先,准备机器.最直接的办法,自然是到公有云上申请几个虚拟机.当然,如果条件允许的话,拿几台本地的物理服务器来组集群是最好不过了.这些机器只要满足如下几个条件即可: 满足安装 Docker ...

  10. CentOS上手工部署kubernetes集群

    本文完全是根据二进制部署kubernets集群的所有步骤,同时开启了集群的TLS安全认证. 环境说明 在下面的步骤中,我们将在三台CentOS系统的物理机上部署具有三个节点的kubernetes1.7 ...

随机推荐

  1. Azure 入门系列 (第五篇 Azure Storage)

    本系列 这个系列会介绍从 0 到 1 搭建一个 Web Application 的 Server. 间中还会带上一些真实开发常用的功能. 一共 6 篇 1. Virtual Machine (VM) ...

  2. Redis 入门 - 收官

    <Redis 入门>系列文章总算完成了,希望这个系列文章可以想入门或刚入门的同学提供帮助,希望能让你形成学习Redis系统性概念. 当时为什么要写这个系列文章,是因为我自己就是迷迷糊糊一路 ...

  3. [TK] Rudolf and Subway ( CodeForces #933 div.3 - G )

    形式化题意 给定一个带权无向图,求从 \(s\) 点到 \(e\) 点的路径上途径边权种类的最小值. 思路 题图 我们把边权种类相同的点连成的子图抽象成一个 "平台" ,从题目给我 ...

  4. 数列专题2 求数列的前n项和

    \({\color{Red}{欢迎到学科网下载资料学习 }}\) [ [基础过关系列]高二数学同步精品讲义与分层练习(人教A版2019)] ( https://www.zxxk.com/docpack ...

  5. 数据库周刊54丨2020 年度报告:PingCAP、腾讯云数据库、人大金仓、GoldenDB ;CPU 100% SQL优化案例;Mysql内存溢出处理;sql server PK openGauss;Oracle 巡检说明书;避免删库跑路黑天鹅……

    热门资讯 1.PingCAP 2020 年度报告|相信开放的力量 [摘要]本文为PingCAP 2020年度报告.盘点了PingCAP里程碑大事件:完成D轮2.7亿美元融资,创造全球数据库历史新的里程 ...

  6. 鸿蒙NEXT开发声明式UI是咋回事?

    大家好,我是 V 哥,ArkTS 是 HarmonyOS 优选的主力应用开发语言,它在 TypeScript 的基础上进行了扩展,提供了声明式 UI 描述.自定义组件和动态扩展 UI 元素的能力.这些 ...

  7. 立即报名 | 云原生 + AI Meetup 成都站 11.4 正式开启

    2023 年,KubeSphere 社区已经在深圳.杭州.上海三个城市各组织了一场线下 Meetup.第四站,我们将走进天府成都. 11 月 4 日,云原生 + AI Meetup 成都站将正式开启! ...

  8. direasch目录扫描

    direasch目录扫描工具 安装: 1.github源码下载解压 使用 git 安装:(推荐git clone https://github.com/maurosoria/dirsearch.git ...

  9. Special relativity

    狭义相对论的理解,需要四维时空的想象! 6.14 狭义相对论,与麦克斯韦方程组有紧密的联系. 爱因斯坦对于牛顿的时空观的颠覆,与奥地利的一位著名的物理学家有关,马赫. 年轻的爱因斯坦在专利局闲暇之余爱 ...

  10. Python如何完成一个上课点名系统!

    阅读目录 一.准备工作 二.预览 三.思路 四.源代码 五.总结 一.准备工作 1.Tkinter Tkinter 是 python 内置的 TK GUI 工具集.TK 是 Tcl 语言的原生 GUI ...