作者:行疾
大模型技术的蓬勃发展持续引领 AI 出圈潮流,各行各业都在尝试采用 AI 工具实现智能增效。
2023 年云栖大会上,阿里云容器服务团队正式发布 ACK AI 助手,带来大模型增强智能诊断,帮助企业和开发者降低 K8s 的运维复杂度。这款国内首家云原生容器场景的原生 AI 产品 —— ACK AI 助手 beta 版现已全面上线, 功能欢迎大家试用。
Kubernetes 好似一台复杂的飞机发动机
Kubernetes复杂概念、运维体系犹如一台复杂的飞机发动机
“Kubernetes 是我在技术生涯中遇到的最令人沮丧、最痛苦、但却最美妙的东西。”
“Kubernetes 是一个复杂的软件,有许多可动组件和极高的可扩展性。正如你能用 Kubernetes 做很多事情一样,完成这些事情的方法也有很多种。如果你给某人一个Kubernetes 集群,却不告诉他们确切的操作方法,他们会找到你没有准备好的方法。他们会发现不同的工具,很快你们之间就会有分歧。”
这是两位 Kubernetes 用户的心声,Dimensional Research 和 Spectro Cloud 的一次联合调研报告发现,Kubernetes 为架构带来了一种独特的高复杂度,但也恰恰因此,Kubernetes才能为用户带来最为欣赏的灵活性。
CNCF 调研报告同样显示,Kubernetes 的使用者反馈使用容器服务的最大障碍和挑战是面对复杂的概念和运维体系的巨大学习成本。
参考:https://www.cncf.io/reports/cncf-annual-survey-2022/
Kubernetes 的运维体系的复杂,还体现在冗长的异常排查链路。可以看到下图为一次典型的 Kubernetes 上应用的异常恢复运维过程。
一次典型的容器场景故障恢复的完整过程
故障恢复的全过程需要至少经过如下三个环节,才能最终闭环问题。
-
使用可观测性发现异常 (Observability)2. 运维止血 (Ops)
-
问题根因定位
每一个环节都需要有 Kubernetes 观测、运维经验的人员参与,才能缩短整个问题发现的流程。
当完成整个链路的排查,最终修复问题,可能需要数小时的时长,造成业务影响,甚至最终造成资损。
容器服务 ACK 团队正在探索,通过新一代的基于 AI 智能的可观测 & AIOps 能力,如何大幅缩短平均恢复时间 (Mean Time To Recovery)。
AI 能力的跨时代飞跃从“人工+自能”到人工智能
今日大语言模型 (LLM) 展现出惊人的推理、学习能力,AI 的成熟度也发生了具体大飞跃。
以 ChatGPT 与 Warfare 为例的 AI 能力对比
如上图以 ChatGPT 与 Warfare 为例的 AI 能力对比,我们可以简单判断 AI 是否在成熟度上能对我们有一定的帮助 (Good/Evil):
大致 AI 的成熟度可体现在以下三个方面:
1. 可重复性 - AI 的推理和学习能力已经成熟到能帮助人胜任一些可重复的事务,并提供自动化。
2. 复杂度 - AI 能帮助我们完成一些复杂逻辑的推理。
3. 无人值守 - AI 能在没有或较少人为干涉的情况下进行工作。
所以当前随着 AI 能力的飞跃,我们可以通过 AI 能力提供下一代 AI-Powered Observability&AIOps 能力。
参考:https://www.cncf.io/blog/2023/09/05/ai-for-kubernetes-good-or-evil/
ACK AI 助手为 K8s 提供 AI 增强的 AIOps
ACK AI 助手已经上线智能快速诊断、智能问答两大能力
基于 ACK 可观测体系的监控数据,并结合容器服务 ACK 团队专业的 Kubernetes 经验沉淀,通过大模型 (LLM) 的分析推理能力进行问题的根因定位,提供更智能的 Kubernetes 产品使用体验。
目前提供主要的功能场景:
- 智能快速诊断
-
- 通过和 ACK 上观测体系的结合,自动快速获取异常信息状态。
- 结合 ACK 团队专业的 Kubernetes 经验沉淀,提供容器场景的专家知识,进行异常诊断智能判断。
- 结合大模型 (LLM) 的推理能力,对综合监控信息进行根因定位。
- 自动串联从问题观测发现、问题根因诊断、AIOps 的异常问题处理,与 ACK 专家诊断系统结合,闭环运维流程。
- 智能问答
-
- 结合 ACK 团队专业的 Kubernetes 经验沉淀,提供容器场景的专家知识问答。
- 结合大模型 (LLM) 的推理能力,对综合监控信息进行整合。
AIOps 的基础来自于 ACK 可观测体系的结合
示例一个异常 Deployment 的异常诊断拓扑结构
ACK AI 助手在快速故障诊断的场景下,能通过 ACK 上的可观测体系自动获取 ACK 集群上的异常监控状态信息的同时,也能根据 Kubernetes 的部署结构,智能感知下钻寻找根因。
如上图示例,用户看到某 Deployment 发生异常,实际的观测诊断信息需要结合 Kubernetes 的拓扑结构,下钻诊断 Deployment 下的某个异常 Pod,且可能还需要结合该异常 Pod 的事件,判断是否下钻诊断该异常 Pod 所在的节点 Node 等,最终下钻找到根因。最终诊断信息为一个拓扑树形结构。
由多年专家经验训练而得的 LLM
ACK AI 助手也融入了阿里云容器服务 ACK 团队沉淀的 Kubernetes 的异常诊断、故障恢复的经验。
如下是在 ACK 中一个 Pod 异常的专家系统故障诊断流程示例:
示例一个 Pod 异常的专家系统故障诊断流程
ACK AI 助手在实际故障诊断的过程中,会把故障诊断大体上拆分成几个阶段:
-
ACK AI 助手会根据可观测信息、拆分下钻问题并获取更多信息,从而浅析故障原因。
-
ACK AI 助手会把浅析的结论,结合 ACK 已有的专业故障诊断系统(专家系统)的经验沉淀,得到更准确的诊断结论。
参考:https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/pod-troubleshooting-1
典型使用场景一:智能快速诊断
如上图所示,是一个典型的 Pod 因为 Node Affinity(节点亲和性)配置,导致 Pod 无法被调度的场景。
ACK AI 助手可以通过在 ACK 控制台对应 Deployment/Pod 页面的异常状态附近找到“智能诊断”按钮,直接唤醒并发起 ACK AI 助手的快速诊断。
可以看到 ACK AI 助手会贴心的解释此异常的原因,以及给出修复建议。
如果 Deployment 的异常还是无法最终定位,ACK AI 助手也会在底部给出接下来您还可以直接对异常的 Pod 发起专家系统的故障诊断,从而给出更进一步的排查诊断结果。
目前 ACK AI 助手提供了 Deployment、Pod、Event、Node 的主要 Kubernetes 实体的智能诊断功能,您可以在发生异常时在 ACK 控制台对应页面找到“智能诊断”按钮。
典型使用场景二:智能问答
如上图所示,ACK AI 助手的智能问答功能,可以在 ACK 控制台右下角的 icon 图标唤醒。您可以随时向他提问,咨询关于 Kubernetes 和 ACK 产品的相关问题。
帮助您快速了解容器领域的专家知识,有效降低用户的学习成本。
如何开启 ACK AI 助手?
ACK AI 助手的智能问答功能,可以在 ACK 控制台右下角的 icon 图标唤醒。
ACK AI 助手可以通过在 ACK 控制台对应节点列表、Deployment、Pod、Pod 事件页面的异常状态附近找到“智能诊断”按钮,直接唤醒并发起 ACK AI 助手的快速诊断。
ACK AI 助手,自阿里云容器服务团队在 2023 年云栖大会上宣发以来,作为国内首家推出云原生容器场景的原生 AI 产品功能,目前已发布 beta 版并全面对客户开放,欢迎各位用户开始试用。
我们诚邀您点击阅读原文,登录容器服务 ACK 控制台体验 ACK AI 助手能力,并加入钉钉群交流反馈您的使用体验。(钉钉群号:70080006301)