k8sgpt-ai/k8sgpt-operator
Automatic SRE Superpowers within your Kubernetes cluster
k8sgpt‑operator – Kubernetes 的 AI 驱动分析与自动修复
它是什么 – 一个 Kubernetes Operator,在集群内运行 K8sGPT 引擎。它监视集群,将资源数据发送给可配置的 LLM(OpenAI、Azure OpenAI、Bedrock、LocalAI 等),接收诊断建议,并可自动应用安全、单步骤的修复(例如,替换失败的容器镜像)。所有 LLM 调用皆为只读;operator 本身构建 JSON‑patch,并在策略管控和预演后应用。
主要功能
- 自动修复(alpha,选择加入) – 检测
ImagePullBackOff等失败,要求 LLM 提供修复方案,生成语义补丁,进行预演,然后推出修正后的工作负载。LLM 永远没有写入权限。 - 多集群监控 – 通过提供
kubeconfig密钥,operator 可以从中央“种子”集群管理远程集群(对 Cluster‑API 集群群很有用)。 - 可插拔 AI 后端 – OpenAI、Azure OpenAI、Amazon Bedrock、LocalAI,以及通过
spec.ai.backend字段支持任何兼容的提供商。 - 分布式缓存 – 可选的 Interplex RPC 缓存、Azure Blob 或 S3 缓存,以避免重复的 LLM 调用。
- 可配置的分析 – 间隔、资源限制、镜像拉取策略、自定义容器镜像,以及通过
spec.filters选择的丰富分析器(核心和可选)。 - 结果对象 – 发现结果以
ResultCRD 形式发出,并标记来源 K8sGPT 实例、命名空间和后端,方便过滤。 - 集成(接收器) – 将结果发送到 Slack、Mattermost、CloudEvents 等。
安装(Helm)
helm repo add k8sgpt https://charts.k8sgpt.ai/
helm repo update
helm install release k8sgpt/k8sgpt-operator \
-n k8sgpt-operator-system --create-namespace
开始使用 – 使用您的 LLM 凭据创建密钥,然后应用 K8sGPT 自定义资源。OpenAI 示例:
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-sample
namespace: k8sgpt-operator-system
spec:
ai:
enabled: true
model: gpt-4o-mini
backend: openai
secret:
name: k8sgpt-sample-secret
key: openai-api-key
repository: ghcr.io/k8sgpt-ai/k8sgpt
version: v0.4.32
Operator 将启动 K8sGPT 部署,开始扫描,并创建您可以用 kubectl get results 查看的 Result 对象。
启用自动修复 – 添加修复 CR(valid_k8sgpt_remediation_sample.yaml)并设置 spec.autoRemediation.enabled: true。然后 operator 将尝试对检测到的镜像拉取失败进行单镜像修复,并受上述安全闸门约束。
为何重要 – 它将 LLM 驱动的可观测性和自我修复带到 Kubernetes,而不授予 LLM 直接写入权限,符合安全最佳实践,同时缩短常见集群问题的平均解决时间。
相关
- 项目
- 项目
- 项目
- 项目
- 项目