KoPylot[1]是一个开源的AI驱动的Kubernetes助手,旨在帮助开发人员和DevOps工程师管理和监控Kubernetes集群。它包括审计、诊断、聊天和kubectl的包装功能。
KoPylot
KoPylot 特点
在当前版本中,KoPylot 有四个主要功能。这些功能可以转换为kopylot
CLI 的子命令。子命令是Audit、Chat、Ctl和Diagnose。现在让我们深入研究这些命令。
🔍审计(Audit):
审计资源,例如 Pod、部署和服务。KoPylot 将采用单个资源并根据其清单文件查找漏洞。
审计(Audit)
💬 聊天(Chat):
用简单的英语询问 KoPylot 生成 kubectl 命令。你将能够在运行命令之前查看该命令。
聊天(Chat)
🩺诊断(Diagnose):
你可以使用诊断工具来帮助你调试应用程序的不同组件,例如 Pod、部署和服务。诊断命令将为你列出损坏资源的可能修复方法。
诊断(Diagnose)
☸️控制(Ctl):
kubectl 的包装器。传递给子命令ctl
的所有参数,均由 kubectl 解释。
控制(Ctl)
KoPylot 是如何工作的?
目前,KoPylot 的工作原理是从 Kubernetes 资源描述(kubectl describe…… )或清单中提取信息,并将其与提示一起输入 到OpenAI 的Davinci 模型[2]。提示告诉模型如何处理 Kubernetes 资源。
提示还负责指导模型应如何构建输出。例如,用于审核命令的提示要求模型将结果输出为包含漏洞及其严重性的两列 JSON。
KoPylot 路线图[3]中的目标之一是让内部托管模型取代 OpenAI 模型成为可能。这将解决向 OpenAI 服务器发送潜在敏感数据的问题。
输出有多好?
我在一个虚拟集群上测试了 KoPylot,其中有一些损坏的 pod,其中一些有漏洞,另一些则没有。我注意到Davinci 模型可以在诊断损坏的吊舱时提供良好的指导。有时建议太短而难以理解,但通过运行诊断命令 2-3 次,可以查明问题。
对于Chat命令,我比较了 Davinci 和 GPT-4 的输出。GPT-4 从模糊的用户提示中给出了更好的结果。