点击上方蓝字 👆关注【云原生百宝箱】公众号,别让消息溜走
后台回复【加群】,与牛人互动不停
KoPylot[1]是一个开源的AI驱动的Kubernetes助手,旨在帮助开发人员和DevOps工程师管理和监控Kubernetes集群。它包括审计、诊断、聊天和kubectl的包装功能。
在当前版本中,KoPylot 有四个主要功能。这些功能可以转换为kopylotCLI 的子命令。子命令是Audit、Chat、Ctl和Diagnose。现在让我们深入研究这些命令。
审计资源,例如 Pod、部署和服务。KoPylot 将采用单个资源并根据其清单文件查找漏洞。
用简单的英语询问 KoPylot 生成 kubectl 命令。你将能够在运行命令之前查看该命令。
你可以使用诊断工具来帮助你调试应用程序的不同组件,例如 Pod、部署和服务。诊断命令将为你列出损坏资源的可能修复方法。
kubectl 的包装器。传递给子命令ctl的所有参数,均由 kubectl 解释。
目前,KoPylot 的工作原理是从 Kubernetes 资源描述(kubectl describe…… )或清单中提取信息,并将其与提示一起输入 到OpenAI 的Davinci 模型[2]。提示告诉模型如何处理 Kubernetes 资源。
提示还负责指导模型应如何构建输出。例如,用于审核命令的提示要求模型将结果输出为包含漏洞及其严重性的两列 JSON。
KoPylot 路线图[3]中的目标之一是让内部托管模型取代 OpenAI 模型成为可能。这将解决向 OpenAI 服务器发送潜在敏感数据的问题。
我在一个虚拟集群上测试了 KoPylot,其中有一些损坏的 pod,其中一些有漏洞,另一些则没有。我注意到Davinci 模型可以在诊断损坏的吊舱时提供良好的指导。有时建议太短而难以理解,但通过运行诊断命令 2-3 次,可以查明问题。
对于Chat命令,我比较了 Davinci 和 GPT-4 的输出。GPT-4 从模糊的用户提示中给出了更好的结果。
你可以按照以下步骤使用KoPylot:
1. 向OpenAI[4]请求 API 密钥。
2. 使用以下命令导出密钥:
export KOPYLOT_AUTH_TOKEN=your_api_key
注意:如果您想避免将密钥放在 .bashrc、.oh-my-zsh/custom 目录或 .bash_history 或 .zsh_history 中,可能的技巧是执行以下操作:
export KOPYLOT_AUTH_TOKEN=$(cat ../../../keys/openai)
1. 使用 pip 安装 KoPylot:
pip install kopylot
1. 运行 KoPylot:
kopylot --help
Usage: kopylot [OPTIONS] COMMAND [ARGS]...
╭─ Options ──────────────────────────────────────────────────────────────────────────╮
│ --version │
│ --install-completion [bash|zsh|fish|powershell Install completion for the │
│ |pwsh] specified shell. │
│ [default: None] │
│ --show-completion [bash|zsh|fish|powershell Show completion for the │
│ |pwsh] specified shell, to copy it │
│ or customize the │
│ installation. │
│ [default: None] │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────╮
│ audit Audit a pod, deployment, or service using an LLM model. │
│ chat Start a chat with kopylot to generate kubectl commands based your │
│ inputs. │
│ ctl A wrapper around kubectl. The arguments passed to the ctl subcommand are │
│ interpreted by kubectl. │
│ diagnose Diagnose a resource e.g. pod, deployment, or service using an LLM model. │
╰────────────────────────────────────────────────────────────────────────────────────╯
总的来说,KoPylot 是一个用于诊断 Kubernetes 工作负载和排除故障的有用工具。其基于网络的聊天界面和 CLI 使其易于使用,并且可供所有级别的用户访问。
遗憾的是,自四月初以来,该项目还没有看到任何承诺,这引起了明显的担忧。
[1] KoPylot: https://github.com/avsthiago/kopylot[2] OpenAI 的Davinci 模型: https://platform.openai.com/docs/models/overview[3] KoPylot 路线图: https://github.com/avsthiago/kopylot#️-roadmap[4] 向OpenAI: https://help.openai.com/en/articles/4936850-where-do-i-find-my-secret-api-key
原文作者:云原生AI百宝箱;如有侵权,请联系管理员删除。