Skip to content

K8sGPT 集群 AI 故障分析部署(k8sgpt 命名空间)

架构

  k8sgpt-operator(controller-manager,2容器含 rbac-proxy)
        │ 监听 K8sGPT CR,拉起分析服务器,按 interval 触发全集群扫描

  k8sgpt 分析服务器(Deployment,镜像固定 v0.4.9)
        │ 逐项 Analyzer 扫描(Pod/Service/Deployment/Node/Ingress...)
        │ 发现问题 → 构造 prompt → 调用 AI 后端 → 写入 Result CR
        │ 新结果 → sink(cloudevents) → feishu-adapter 转格式 → 飞书群机器人

  AI 后端:阿里百炼 DashScope(OpenAI 兼容模式),模型 qwen-plus
        发送前 anonymize 脱敏(资源名 base64 打码),分析数据不留内网之外明文

  结果: kubectl get results.core.k8sgpt.ai -A(Result CR,含问题描述+AI 解决方案)
  监控: ServiceMonitor 已接入 rancher-monitoring
组件副本说明
k8sgpt-operator1(含 kube-rbac-proxy)调谐 K8sGPT CR、动态 RBAC、触发分析
k8sgpt 分析服务器1执行 Analyzer + 调用 AI 后端
k8sgpt-feishu-adapter1cloudevents → 飞书互动卡片转换(python stdlib,无三方依赖)
AI 后端外部 SaaSDashScope qwen-plus,按 token 计费

镜像与 Chart(全部来自内部 Harbor 192.168.122.156:30000)

内容内部地址来源
operator 镜像k8sgpt/k8sgpt-operator:v0.2.27ghcr.io(经 nju/daocloud 镜像站同步)
分析服务器镜像k8sgpt/k8sgpt:v0.4.9ghcr.io
rbac-proxy 镜像k8sgpt/kube-rbac-proxy:v0.19.1quay.io(daocloud 镜像站)
operator chartoci://…/charts/k8sgpt-operator:0.2.27charts.k8sgpt.ai

最佳实践配置要点

配置理由
AI 后端OpenAI 兼容 + baseUrl 指向 DashScope国内可达、qwen-plus 性价比高
anonymized: true送出前资源名打码公有云 API 数据安全(代价:AI 对打码名理解略降,可换内网 vLLM 后关闭)
language: 简体中文中文报告(不能填 chinese,实测仍回英文)团队阅读
analysis.interval: 10m10 分钟一轮时效与 API 费用的平衡
backOff: 3 次重试抗 API 限流/超时稳定性
autoRemediation 关闭不允许 AI 自动改集群生产红线
镜像固定版本 + 内部 Harbor不用 ghcr latest可重复部署、离线可用
integrations.trivy 关闭不引入额外镜像需要时再开
飞书通知sink=cloudevents + 适配器转互动卡片K8sGPT 无飞书原生 sink;webhook 存 Secret;详见 飞书适配器详解

查看分析结果

bash
kubectl get results.core.k8sgpt.ai -A
kubectl -n k8sgpt get result <NAME> -o jsonpath='{.spec.details}'   # AI 给出的解决方案

部署命令

bash
export KUBECONFIG=~/.kube/config-122.31
cd k8sgpt/
./deploy.sh          # 一键部署 + 验证(sync / check 子命令见脚本头注释)

密钥

DashScope API Key 保存在 .secrets.env 与 Secret k8sgpt-backend(勿提交公共仓库)。