Intuit 最近讨论了他们如何使用生成式 AI (GenAI) 管理监控和调试 Kubernetes 集群的复杂性。GenAI 实验的目的是简化检测、调试和修复流程。
Intuit 高级软件工程师 Lili Wan 和首席软件工程师 Anusha Ragunathan 详细介绍了该实验,并提供了 Intuit Kubernetes 服务平台的背景知识.
拥有超过 325 个 Kubernetes 集群,支持超过 7,000 个应用程序和服务,Intuit 在维护集群健康状况和最大限度地减少值班工程师的警报疲劳方面面临着挑战。
Intuit 的 Kubernetes 服务平台是庞大且复杂,难以有效观察和调试。应用程序的快速增长和集群的频繁变化进一步增加了复杂性。由于数据源和警报数量巨大,使得问题的检测和修复变得复杂,工程师经常会遇到警报疲劳。
Intuit 团队确定了三个需要改进的关键领域:检测、调试和修复。
为了增强检测能力,Intuit 实施了一个名为“集群黄金信号”的系统,该系统反映了服务黄金信号的概念。该系统通过过滤噪音并关注关键警报信号来提供集群运行状况的综合视图。
Kubernetes 集群的核心组件通过仪表板进行监控,仪表板将指标聚合到单个运行状况指标中:健康、降级或批判性地使用普罗米修斯表达式。这种方法使工程师能够快速隔离有问题的集群,并确定问题是与服务相关还是与平台相关,从而缩短检测问题的平均时间 (MTTD)。
为了进行更深入的调试,Intuit 集成了一个开放式源工具称为 K8sGPT。该工具可扫描 Kubernetes 集群,利用站点可靠性工程师整理的知识来诊断和分类问题。K8sGPT 使用特定于资源的分析器从集群中提取相关错误消息,并通过 AI 见解丰富它们。通过将 Prometheus 指标与黄金信号相结合,K8sGPT 可以提示公共模型搜索有关错误的其他详细信息。
这种集成提供了更多上下文来识别警报的潜在根本原因。
来源:GenAI 实验:监控和调试 Kubernetes 集群运行状况
另一方面,K8sGPT 是 CNCF 贡献最大的 10 个项目之一。第一次提交于 2023 年 3 月。目前,该项目拥有 5.6K 颗星和 88 名贡献者。K8sGPT 安装在 Kubernetes 集群中,支持 OpenAI、Azure、Cohere、Amazon Bedrock、Google Gemini 等模型和本地模型。在 KubeCon EU 2024 会议期间,K8sGPT 与 kube-burner、Kuasar、KRKN 和 easgress 等其他项目一起亮相。
它可以在 Windows、Mac 和 Linux 机器上运行,可以通过 brew、RPM、DEB 安装或 APK。
问题调试完毕后,下一步就是修复。K8sGPT 与 OpenAI、Google 和 Microsoft 等公司的公共大型语言模型 (LLM) 集成,以针对 Kubernetes 特定错误提出修复步骤。然而,公共大语言模型缺乏有关 Intuit 特定平台配置的背景信息。
为了解决这一差距,Intuit 开发了专有的 GenAI 操作系统 (GenOS),该系统托管本地模型,并通过检索增强技术使用 Intuit 特定数据进行了增强。生成 (RAG)。
Intuit 计划继续监测减少 MTTD 和平均解决时间 (MTTR) 方面的进展。他们还致力于探索 GenAI 在流量管理和 Java 虚拟机调试等其他领域的潜在应用。