项目介绍:Kubernetes Copilot
Kubernetes Copilot 是一个由 OpenAI 提供支持的工具,旨在简化 Kubernetes 集群的操作。这个工具利用了 OpenAI 的高级 AI 模型,如 ChatGPT(GPT-4 或 GPT-3.5),为 Kubernetes 的管理提供了多项自动化功能。
项目功能
- 自动化操作: 使用 ChatGPT 模型自动化处理 Kubernetes 集群操作。
- 问题诊断及分析: 能够诊断和分析 Kubernetes 工作负载中可能出现的问题。
- 生成 Kubernetes 配置: 根据用户提供的指令生成 Kubernetes 清单文件。
- 安全扫描: 使用原生的
kubectl
和trivy
命令,提供对 Kubernetes 集群的访问及安全漏洞扫描功能。 - 终端搜索功能: 用户无需离开终端即可访问网络并进行谷歌搜索。
安装指南
要安装 Kubernetes Copilot,只需在终端中运行以下命令:
go install github.com/feiskyer/kube-copilot/cmd/kube-copilot@latest
使用方法
在开始使用前,需要配置以下环境变量:
- kubectl 安装: 确保本地机器已安装
kubectl
,并正确配置 kubeconfig 文件以访问 Kubernetes 集群。 - Trivy 安装: 安装
trivy
以评估容器镜像的安全问题(仅在使用audit
命令时需要)。 - OpenAI API 密钥: 设置
OPENAI_API_KEY
环境变量以启用 ChatGPT 功能。- 如使用 Azure OpenAI 服务,还需设置
OPENAI_API_TYPE=azure
和OPENAI_API_BASE=https://<replace-this>.openai.azure.com/
。
- 如使用 Azure OpenAI 服务,还需设置
- 谷歌搜索功能: 默认情况下谷歌搜索是禁用的。启用时需设置
GOOGLE_API_KEY
和GOOGLE_CSE_ID
。
以上设置完成后,可在终端中直接运行命令:
kubectl-copilot [command]
可用命令包括:
analyze
: 分析给定资源的问题audit
: 审核 Pod 的安全问题completion
: 为指定的 shell 生成自动补全脚本diagnose
: 诊断 Pod 的问题execute
: 根据提示指令执行操作generate
: 生成 Kubernetes 清单help
: 显示命令帮助信息
Python 版本
如果你对 Python 实现感兴趣,可以参考 feiskyer/kube-copilot-python
项目。
贡献方式
Kubernetes Copilot 项目在 GitHub 上是开源的,使用 Apache 许可证。项目地址为:
- Go 实现:
feiskyer/kube-copilot
- Python 实现:
feiskyer/kube-copilot-python
如果希望为项目贡献代码,欢迎按照以下步骤参与:
- Fork 项目仓库并克隆到本地机器。
- 为你的修改创建一个新分支。
- 进行修改并提交带有描述性信息的提交消息。
- 将修改推送到你的 fork 仓库。
- 向主仓库提交 pull request。