智能巡检与诊断
概述
CCE Agent 接入了 CCE 已有的集群巡检和故障诊断能力,并结合指标、日志、Kubernetes 事件、审计记录、资源配置和 CCE 专家知识库进行多源证据编排,输出"问题现象、证据、根因、恢复建议"结构化的分析结论。
本文介绍如何通过 CCE Agent 发起巡检与诊断,以及如何解读结果。
前提条件
- 已通过任一入口进入 CCE Agent 页面。
- 当前身份具备目标集群的云资源权限和集群角色权限。
一键集群健康巡检
在对话框中输入巡检类问题即可发起,例如"对当前集群做一次健康巡检""检查一下这个集群有没有问题"。
巡检覆盖范围:
| 巡检维度 | 检查内容 |
|---|---|
| 控制面 | 控制面组件状态与可用性 |
| 节点 | 节点状态、Node Condition、资源水位、磁盘与网络 |
| 集群组件 | 已安装组件的运行状态与版本 |
| 网络 | 网络组件状态、网络配置一致性 |
| Pod | 异常状态 Pod、频繁重启 Pod |
| 配额 | 集群与云资源配额余量 |
巡检结果按严重程度排序,每一项包含问题现象、支撑证据和处理建议。
Pod 启动与重启异常诊断
适用于 Pod 处于 Pending、ImagePullBackOff、CrashLoopBackOff 状态,或存在频繁重启、被驱逐、内存溢出终止等情况。
发起方式:
- 在 Pod 列表或详情页面对异常 Pod 单击"智能诊断",自动携带命名空间、资源标识、异常摘要和异常时间范围。
- 或在 CCE Agent 对话框中直接提问,例如"payment-api-7d9f 这个 Pod 一直 CrashLoopBackOff,帮我看下原因"。
诊断会根据 Pod 当前状态选择对应的检查路径,覆盖调度结果、镜像拉取、探针配置、容器退出码、资源请求与限制、所在节点状态和依赖资源,输出根因证据链。
节点 NotReady 与组件异常诊断
适用于节点处于 NotReady 状态、节点组件异常或节点资源异常的场景。
发起方式:在节点列表或详情页面对异常节点单击"智能诊断",或在对话中说明节点标识后提问。
诊断会关联云服务器实例健康状态、Node Condition、kubelet 与容器运行时状态、容器网络接口与容器存储接口状态、磁盘和网络情况,给出恢复建议,并在判断为底层实例或硬件问题时提示需要提交工单。
结果解读
诊断结论采用与查询一致的四段式结构,并在此基础上补充证据与根因:
| 部分 | 说明 |
|---|---|
| 查询范围 | 本次诊断的地域、集群、命名空间、目标资源和异常时间范围 |
| 问题现象 | 本次诊断确认的异常表现,以及与您描述是否一致 |
| 证据 | 支撑结论的原始数据,如事件、日志片段、资源状态和配置差异,可展开查看 |
| 根因与建议 | 经过假设、验证、排除后给出的最可能原因、判断依据,以及建议的处理步骤 |
证据不足时的处理:如果现有证据不足以确定根因,CCE Agent 不会给出过度确定的结论,而是明确说明尚未确认的部分和建议补充采集的信息。您也可以要求生成工单摘要,其中包含资源范围、已收集的证据和已执行的排查步骤,便于提交工单时复用。
专家知识库:分析过程中会检索 CCE 官方文档、历史故障案例和版本公告,并按集群版本、网络模式和运行时进行过滤,引用的内容会附带来源,便于您核对。
完整诊断示例
以下示例展示一次 Pod 启动失败诊断的完整过程,帮助您建立使用预期。
第一步:发起诊断
在工作负载页面发现 payment-api 存在异常 Pod,单击该 Pod 的「智能诊断」。入口自动携带命名空间 prod、Pod 名称和异常时间范围,您也可以补充一句描述,例如「这个 Pod 反复重启,帮我看下原因」。
第二步:观察执行过程
CCE Agent 会逐步展示正在调用的能力,例如「查询 Pod 详情」「查询 Kubernetes 事件」「查询容器日志」「查询节点状态」。您可以据此了解结论的数据来源,而不是只看到一个黑盒答案。
第三步:查看结论
- 查询范围:华北-北京 / cce-xxxxxx / prod / Pod payment-api-7d9f-x8k2l / 最近 1 小时
- 问题现象:容器
app在 30 分钟内重启 12 次,当前状态 CrashLoopBackOff - 证据:容器上次退出码 137;事件中存在 OOMKilled 记录;容器内存 limit 为 512Mi,重启前内存使用接近 limit;同一工作负载其他副本状态正常
- 根因与建议:更可能是该容器内存 limit 配置偏低导致被终止,而非应用崩溃。建议结合实际内存需求上调 limit 后观察,或排查是否存在内存泄漏。当前版本不会代您修改配置
第四步:继续追问
您可以在同一会话内继续追问,例如「这个容器过去一天的内存使用趋势怎么样」「同一节点上还有其他 Pod 被 OOM 吗」,会话会沿用已确定的目标范围。
使用限制
- 当前版本仅输出诊断结论和建议,不会执行封锁、排水、重启、扩缩容等任何变更操作。
- 诊断结论由大模型生成,可能存在不准确的情况,请在执行恢复操作前自行确认。
评价此篇文章
