摘要:企业经常在大规模使用Kubernetes(简称K8s)来编排大量容器时遇到摩擦,更不用说不断增加的集群数量了。由于其复杂性,诊断Kubernetes内的问题并不是那么容易。与此同时,IT正在研究人工智能来自动化配置、管理和调试复杂的后端技术。
企业IT中的GenAI被过度炒作。然而,一些开拓者希望狭窄的模型能使诊断Kubernetes问题更容易。
企业经常在大规模使用Kubernetes(简称K8s)来编排大量容器时遇到摩擦,更不用说不断增加的集群数量了。由于其复杂性,诊断Kubernetes内的问题并不是那么容易。与此同时,IT正在研究人工智能来自动化配置、管理和调试复杂的后端技术。
Komodor的联合创始人兼首席技术官Itiel Schwartz说:“尝试用人工智能解决IT问题并不新鲜。它通常承诺过高,交付不足。”然而,尽管他起初持怀疑态度,但现在他看到了利用微调生成的人工智能模型来减少障碍和简化Kubernetes操作的前景。
用于根本原因分析的微调人工智能
人工智能模型的准确性取决于其训练数据集。当今流行的大型语言模型(LLM),如OpenAI的GPT、Meta的Llama、Anthropic的Claude或谷歌的Gemini,都是在庞大的文本数据库上训练的。Schwartz说,虽然这适用于通用用途,但它们经常为超特异性devops函数产生无关的建议。
Schwartz认为,与其使用一式模型,窄模型更适合诊断Kubernetes问题。它们可以通过遵循更权威、受控的过程来帮助避免人工智能幻觉或错误——例如获取一段高度相关的数据,如日志、指标或相关更改。
其中一个工具是Komodor的KlaudiaAI,它是一个接受过对Kubernetes操作问题历史调查的微弱培训的人工智能代理。KlaudiaAI接受过根本原因分析培训,擅长识别问题、获取相关日志并提供具体的补救步骤。例如,当工程师遇到崩溃的pod时,KlaudiaAI可能会将此与日志中发现的API速率限制相关,并建议设置新的速率限制。
使用人工智能实现K8s管理自动化
当然,Komodor并不是唯一一家研究使用人工智能代理和自动化来简化Kubernetes管理的公司。K8sGPT是一个开源云原生计算基金会(CNCF)沙盒项目,使用Kubernetes特定分析器来诊断集群问题,并以通俗易懂的英语提供补救建议。Robusta是一个类似的人工智能副驾驶,专为Kubernetes故障排除而设计,如事件解决和警报。Cast AI使用生成式人工智能来自动扩展Kubernetes基础设施,以降低运营成本。
如果我们看一下主要的云服务提供商,ChatOps并不新鲜。例如,亚马逊提供AWS聊天机器人,它可以提供有关亚马逊弹性Kubernetes服务工作负载的警报和诊断信息,并根据聊天命令配置资源。亚马逊还有亚马逊Q,这是一个具有各种技能的人工智能助手,包括在AWS云上构建,因为它不是专门针对K8s管理。
同样,谷歌的生成式人工智能助手Gemini是谷歌云的通用工具,不是专门为补救Kubernetes问题而培育的。然而,谷歌Kubernetes引擎针对训练和运行AI/ML工作负载进行了优化,其GKE自动驾驶仪可以优化基础设施的性能。专注于Kubernetes的人工智能助手可能并不落后。
其他主要的云参与者也希望从生成性人工智能中获利,特别是在监控和可观察性领域。去年,Datadog推出了Bits AI,这是一个devops副驾驶,旨在对Datadog接触的任何数据源进行事件响应。Bits AI可以深入到表面痕迹和日志,并为事件解决提供补救建议。
然而,Schwartz说,持续存在的问题是,企业IT市场的大多数人工智能模型仍然用训练集撒网太宽,无法对Kubernetes诊断的特定领域有用。“如果你使用通用的人工智能模型来调查这些问题,它只会让你失望。我们一次又一次地尝试过,”Schwartz说。“当你缩小范围时,幻觉的可能性就会降低。”
也就是说,对细节的高度关注可能会带来缺点。例如,Schwartz指出,Klaudia通常比其他型号慢(可能需要20秒才能想出答案)。这是因为它优先考虑准确性而不是速度,使用迭代调查过程,直到根本原因完成。他说,好消息是,通过纳入更多的理智检查,该模型提高了准确性。
降低K8s的使用门槛
Kubernetes是现代IT无可争议的基础设施层。令人印象深刻的是,CNCF 2023年年度调查中84%的受访者表示他们正在使用或评估Kubernetes。而且,在为AI/ML工作负载优化Kubernetes方面取得了很大的进展。Schwartz说:“迁移到K8s的最大原因之一是能够运行更高效的ML。”
然而,安全性、复杂性和监控是重度云原生组织使用或部署容器的首要挑战。根据PerfectScale的说法,常见问题,如没有设置内存限制、没有正确分配pod的RAM或没有设置CPU请求,威胁到Kubernetes的可靠性。现在,问题是生成人工智能是否可以帮助运营商,如平台工程师或站点可靠性工程师,更好地与平台进行交互。
Schwartz说:“在大多数公司中,Gen AI并不是真正的生产级。”他承认其局限性,并认为它在人环场景中效果最好。尽管如此,他预计AIOps很快就会成为解决根本原因、配置错误和网络问题以及指导优化的有用盟友。
特定于Kubernetes的、微调的人工智能可以帮助操作员更快地诊断问题,如部署失败或作业失败,并在出现时将其与根本原因联系起来。Schwartz说:“Gen AI将承担这种工作并使其自动化。”
来源:AI中国一点号