
k8sgpt是一个用于扫描 Kubernetes 集群、诊断和分类问题的工具支持简单的英语。它将 SRE 经验融入到分析器中并帮助提取最相关的信息并通过 AI 对其进行丰富。开箱即用可与 OpenAI、Azure、Cohere、Amazon Bedrock、Google Gemini 和本地模型集成。环境信息项目值Kubernetes 版本v1.34.8k8sgpt Operator 版本v0.2.27k8sgpt CLI 版本v0.3.44AI 后端DeepSeek (deepseek-v4-flash)项目地址https://github.com/k8sgpt-ai/k8sgpt.git一、安装 k8sgpt CLI1. 下载 k8sgptcurl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/latest/download/k8sgpt-linux-amd64.tar.gz tar -xzf k8sgpt-linux-amd64.tar.gz mv k8sgpt /usr/local/bin/2. 验证安装k8sgpt versionrootmaster01:~# k8sgpt version k8sgpt: 0.4.36 (d33935a), built at: unknown二、配置 k8sgpt CLI1.DeepSeek 模型说明模型名称说明deepseek-v4-flashDeepSeek V4 快速版284B 参数性价比高推荐deepseek-v4-proDeepSeek V4 旗舰版1.6T 参数性能最强deepseek-chat旧别名实际指向 deepseek-v4-flash2026-07-24 后停用deepseek-reasoner旧别名2026-07-24 后停用建议使用deepseek-v4-flash或deepseek-v4-pro避免使用即将停用的旧别名。2. 添加 DeepSeek 认证k8sgpt auth add \ -b openai \ --baseurl https://api.deepseek.com/v1 \ -m deepseek-v4-flash \ -p your-deepseek-api-key3. 验证 CLI 分析k8sgpt analyze --explain这些是在安装kubernetes过程当中产生的可以忽略后面会演示对我们真正有用的分析结果。为什么 k8sgpt 的分析不准确检测逻辑过于简单 - k8sgpt 只检查 ConfigMap 是否被 Pod 的 volumes 或 envFrom 直接引用但这些系统级 ConfigMap 是通过其他机制使用的如 kubelet 启动参数、API 服务器内部使用AI 没有上下文 - DeepSeek 模型不了解这些 ConfigMap 是 K8s 核心组件给出了通用的删除未使用资源三、安装 k8sgpt Operator需要提前安装helm地址GitHub - helm/helm: The Kubernetes Package Manager · GitHub1. 添加 Helm 仓库helm repo add k8sgpt https://charts.k8sgpt.ai/ helm repo update2. 搜索可用 charthelm search repo k8sgpt/输出示例NAME CHART VERSION APP VERSION DESCRIPTION k8sgpt/interplex 1.1.0 v0.0.11 A very fast cache written in Rust k8sgpt/k8sgpt-operator 0.2.27 0.2.25 Automatic SRE Superpowers within your Kubernete...3. 下载 chart 并安装cd /root/k8sgpt-operator helm pull k8sgpt/k8sgpt-operator --version 0.2.27 tar -xzf k8sgpt-operator-0.2.27.tgz # 安装 Operator helm install k8sgpt-operator k8sgpt-operator/ -n k8sgpt-operator-system --create-namespace4. 验证 Operator 运行状态kubectl get pods -n k8sgpt-operator-system预期输出NAME READY STATUS RESTARTS AGE k8sgpt-operator-controller-manager-xxxxx-xxxxx 2/2 Running 0 1m注意确保只有一个 controller-manager Pod 运行。如果出现两个说明之前有重复安装需要删除多余的helm list -n k8sgpt-operator-system helm uninstall 重复的release名 -n k8sgpt-operator-system四、创建 DeepSeek API Secret1. 对 API Key 进行 base64 编码echo -n your-deepseek-api-key | base64需要消耗少量的token这主要取决于你的k8s有多少需要分析的资源。2. 创建 Secretcat EOF | kubectl apply -f - apiVersion: v1 kind: Secret metadata: name: k8sgpt-deepseek-secret namespace: k8sgpt-operator-system type: Opaque data: openai-api-key: base64编码后的key EOF五、创建 K8sGPT 自定义资源1. 编写 CR 文件# /root/k8sgpt-cr.yaml apiVersion: core.k8sgpt.ai/v1alpha1 kind: K8sGPT metadata: name: k8sgpt-deepseek namespace: k8sgpt-operator-system spec: ai: enabled: true backend: openai baseUrl: https://api.deepseek.com/v1 model: deepseek-v4-flash secret: name: k8sgpt-deepseek-secret key: openai-api-key noCache: false version: v0.3.44字段说明字段说明backend使用openai兼容后端DeepSeek 兼容 OpenAI APIbaseUrlDeepSeek API 地址model模型名称当前支持deepseek-v4-flash最新和deepseek-chat旧别名versionk8sgpt 工作负载的版本即 Operator 部署的 k8sgpt Pod 中运行的二进制版本2. 部署 CRkubectl apply -f /root/k8sgpt-cr.yaml3. 验证部署kubectl get k8sgpt -n k8sgpt-operator-system kubectl get pods -n k8sgpt-operator-system预期输出NAME AGE k8sgpt-deepseek 3h56m NAME READY STATUS RESTARTS AGE k8sgpt-deepseek-84b974856f-8z27s 1/1 Running 0 3h31m k8sgpt-operator-controller-manager-84d89cb457-7cbrb 2/2 Running 0 3h59m六、验证功能1. 创建测试 Pod创建一个test-bad-pod使用nginx不存在的镜像标签模拟镜像拉取错误。kubectl run test-bad-pod --imagenginx:nonexistent-tag-12345 -n defaultrootmaster01:~# kubectl get pod NAME READY STATUS RESTARTS AGE test-bad-pod 0/1 ImagePullBackOff 0 6m30s2. 等待分析结果# 等待约 1-2 分钟 kubectl get results -n k8sgpt-operator-system预期输出NAME KIND BACKEND AGE VALID defaulttestbadpod Pod openai 1m true3. 查看分析详情kubectl get result defaulttestbadpod -n k8sgpt-operator-system -o yaml示例输出rootmaster01:~# kubectl run test-bad-pod --imagenginx:nonexistent-tag-12345 -n default pod/test-bad-pod created rootmaster01:~# kubectl get results -n k8sgpt-operator-system NAME KIND BACKEND AGE defaulttestbadpod Pod openai 2m12s rootmaster01:~# kubectl get result defaulttestbadpod -n k8sgpt-operator-system -o yaml apiVersion: core.k8sgpt.ai/v1alpha1 kind: Result metadata: creationTimestamp: 2026-07-11T08:38:40Z generation: 1 labels: k8sgpts.k8sgpt.ai/backend: openai k8sgpts.k8sgpt.ai/name: k8sgpt-deepseek k8sgpts.k8sgpt.ai/namespace: k8sgpt-operator-system name: defaulttestbadpod namespace: k8sgpt-operator-system ownerReferences: - apiVersion: core.k8sgpt.ai/v1alpha1 blockOwnerDeletion: true controller: true kind: K8sGPT name: k8sgpt-deepseek uid: 0ec94201-142d-456a-9ab2-eb47d368ed51 resourceVersion: 141914 uid: c7f05f0a-9bff-4de4-9cca-835022bc301e spec: autoRemediationStatus: {} backend: openai details: Error: Image tag *nonexistent-tag-12345* for nginx does not exist on the registry. \nSolution: 1. Check available tags (e.g., latest). 2. Update YAML: image: nginx:latest. 3. kubectl apply -f deploy.yaml or kubectl rollout restart deploy. error: - text: Back-off pulling image nginx:nonexistent-tag-12345: ErrImagePull: Error response from daemon: manifest for nginx:nonexistent-tag-12345 not found: manifest unknown: manifest unknown kind: Pod name: default/test-bad-pod parentObject: status: contentHash: 3344577a96d42a31dfbe9fb72ca34a29477651f2317fb4c42da63dd2144f272d lifecycle: historical4. 清理测试资源kubectl delete pod test-bad-pod -n default kubectl delete result defaulttestbadpod -n k8sgpt-operator-system七、日常使用查看分析结果kubectl get results -n k8sgpt-operator-system查看某个结果的详细信息kubectl get result result-name -n k8sgpt-operator-system -o yaml查看 Operator 日志kubectl logs -n k8sgpt-operator-system deployment/k8sgpt-operator-controller-manager -c manager --tail50查看 k8sgpt 工作负载日志kubectl logs -n k8sgpt-operator-system deployment/k8sgpt-deepseek --tail50八、常见问题1.helm search repo k8sgpt返回 No results found搜索时需要加/后缀helm search repo k8sgpt/2.helm pull报improper constraint: \u00a0--version和版本号之间包含了不间断空格从网页复制时常见重新手动输入空格即可。3.kind: K8sGpt报no matches for kindCRD 的 kind 是K8sGPTGPT 全大写不是K8sGpt。4. 分析结果 count 为 0集群当前没有问题需要报告。可以通过创建异常资源来验证功能是否正常。5. 出现两个 controller-manager Pod说明有重复安装检查并删除多余的 releasehelm list -n k8sgpt-operator-system helm uninstall 重复的release -n k8sgpt-operator-system