欢迎光临
我们一直在努力

信创 AI 智能运维:kube‑ai /kubectl‑llm / K8sGPT /kubectl-ai 赋能 K8s 超能力

1 背景认知(小白必看,打牢基础)

1.1 核心概念释义(先懂术语再操作)

1.1.1 什么是 K8s(Kubernetes)?

  • 官方定义:开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序
  • 注解:可以理解为「容器的操作系统」—— 你开发的 APP(比如网站、小程序)打包成「容器」后,K8s 帮你自动管理:
    • 多台服务器(节点)上的容器调度
    • 容器故障后自动重启(自愈)
    • 根据访问量自动增减容器数量(扩容 / 缩容)
  • 为什么难用:K8s 命令极其复杂,比如「查看所有故障 Pod」需要输入 kubectl get pods –all-namespaces | grep -E 'Error|CrashLoopBackOff',新手记不住、易输错

1.1.2 什么是 AI 智能运维?

  • 核心逻辑:把「自然语言(中文 / 英文)」转换成「K8s 命令」,或把「故障日志」转换成「根因分析 + 修复方案」
  • 小白注解:不用记复杂命令,你说「查看所有异常重启的 Pod」,AI 工具直接帮你执行对应的 K8s 命令;K8s 报错时,AI 直接告诉你「为什么错、怎么改」
  • 核心价值:
    • 新手不用学命令也能运维 K8s
    • 老手减少重复工作,效率翻倍
    • 故障排查时间从小时级降到分钟级

1.1.3 什么是信创环境?

  • 官方定义:信息技术应用创新产业,核心是国产化替代(硬件、软件、操作系统全链路国产化)
  • 小白注解:简单说就是「不依赖国外软件 / 硬件」,要求:
    • 不连外网也能使用(本地模型部署)
    • 兼容国产化服务器(如华为鲲鹏、海光 CPU)
    • 兼容国产化操作系统(如麒麟 OS、统信 UOS)
  • AI 运维在信创场景的要求:必须支持「本地 LLM 模型」(如 llama3、通义千问国产化版本),不能强制依赖 OpenAI/Gemini 等国外 API

1.2 为什么需要 AI+K8s?(解决痛点)

传统运维痛点

AI 智能运维解决方案

命令太多记不住

自然语言直接转命令(说中文就行)

故障日志看不懂

AI 自动解析日志,给中文根因

排查故障靠经验

AI 基于海量案例给出最优修复方案

信创环境不兼容

支持本地模型,无外网也能用

新手上手慢

降低学习成本,1 天就能独立运维

1.3 四款工具定位详解

1.3.1 工具定位对比表

工具名称

核心定位

主打功能

适合场景

新手友好度

K8sGPT

K8s 故障诊断专家

自动巡检、故障根因分析、修复命令生成

排错、巡检、问题定位

⭐⭐⭐⭐⭐

kubectl-ai

自然语言转 kubectl 命令

中文直接生成 / 执行 K8s 命令

日常操作(查 Pod、扩副本、建部署)

⭐⭐⭐⭐⭐

kubectl-llm

轻量 LLM 命令执行工具

通用 LLM 对接、简单命令转换

极简需求、自定义 LLM

⭐⭐⭐⭐

kube-ai

AI 模型调度平台

大模型部署、AI 服务运维、GPU 调度

跑 AI 业务(如 LLM 推理、AI 绘图)

⭐⭐⭐

1.3.2 工具通俗比喻

  • K8sGPT:医院的「专科医生」—— 只看 K8s 的「病」(故障),诊断准、药方(修复命令)灵
  • kubectl-ai:日常的「贴心助理」—— 你让做什么(查 Pod、扩副本),就直接做,不用教
  • kubectl-llm:灵活的「小助手」—— 可以对接任何 AI 模型,但功能比较基础
  • kube-ai:AI 业务的「专属管家」—— 专门管理大模型,帮你部署、调度、监控 AI 服务

2 核心配置(环境准备,所有工具通用)

2.1 前置概念:什么是 kubectl?

  • 定义:K8s 的命令行工具,通过它可以操作 K8s 集群(比如查 Pod、建部署、删服务)
  • 注解:kubectl 就像你和 K8s 集群沟通的「电话」,所有操作都要通过它执行
  • 必须验证:安装后必须确保能连接到 K8s 集群,否则所有工具都用不了

2.2 通用前置条件(所有工具都需要配置)

2.2.1 步骤 1:安装 kubectl 并验证连接

2.2.1.1 安装 kubectl(按操作系统选择)
  • Windows 系统:
  • 下载安装包:https://dl.k8s.io/release/v1.29.0/bin/windows/amd64/kubectl.exe
  • 把 kubectl.exe 放到「C:\\Windows\\System32」文件夹
  • 打开 cmd 命令行,输入 kubectl version –short 验证
  • Mac 系统:

# 用brew安装(需先安装brew:https://brew.sh/)

brew install kubectl

  • Linux 系统(国产化麒麟 OS / 统信 UOS 通用):

# 下载kubectl

curl -LO "https://dl.k8s.io/release/$(curl -LSs https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# 赋予执行权限

chmod +x ./kubectl

# 移动到系统目录(全局可用)

sudo mv ./kubectl /usr/local/bin/kubectl

2.2.1.2 验证 kubectl 连接

# 查看kubectl版本(预期结果:显示Client和Server版本,无报错)

kubectl version –short

# 查看集群信息(预期结果:显示集群地址、核心服务状态,无报错)

kubectl cluster-info

  • 注意:如果执行命令报错「The connection to the server xxx was refused – did you specify the right host or port?」,说明没连接到 K8s 集群,需先联系管理员获取集群配置(kubeconfig 文件)

2.2.2 步骤 2:安装 Krew(kubectl 插件管理器,推荐)

  • 什么是 Krew:kubectl 的「应用商店」,可以一键安装 / 升级 kubectl 的插件(比如 kubectl-ai、kubectl-llm)
  • 安装命令(全系统通用):

(

set -x; cd "$(mktemp -d)" &&

OS="$(uname | tr '[:upper:]' '[:lower:]')" &&

ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\\(arm\\)\\(64\\)\\?.*/\\1\\2/' -e 's/aarch64$/arm64/')" &&

KREW="krew-${OS}_${ARCH}" &&

curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&

tar zxvf "${KREW}.tar.gz" &&

./"${KREW}" install krew

)

  • 步骤 3:把 Krew 加入环境变量(必须做,否则找不到命令)

# Linux/Mac系统(直接执行)

export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

# Windows系统(cmd命令行执行)

set PATH=%USERPROFILE%\\.krew\\bin;%PATH%

  • 验证 Krew 安装:

# 预期结果:显示krew版本,无报错

kubectl krew version

2.3 各工具核心依赖详解(提前准备不踩坑)

工具名称

必须依赖

可选依赖(信创 / 本地优先)

依赖通俗解释

K8sGPT

1. kubectl(已装)2. 网络(连外网 / 本地模型)

1. Ollama(本地模型部署)>2. localAI(国产化模型)

Ollama:可以在自己电脑上跑 AI 模型,不用连外网

kubectl-ai

1. kubectl(已装)2. API 密钥(OpenAI/Gemini)

1. Ollama(本地模型)2. 通义千问 API(国产化)

API 密钥:相当于你用 AI 模型的「登录密码」,需要去对应平台申请

kubectl-llm

1. kubectl(已装)>2. LLM API 地址

1. LM Studio(本地 LLM 管理) 智谱 AI API(国产化)

LLM API 地址:AI 模型的「服务器地址」,本地部署就是localhost: 端口

kube-ai

1. Helm(K8s 包管理器)2. K8s 集群(1.24 + 版本)

1. GPU(跑大模型需要)2. 国产化镜像仓库(如华为云)

Helm:K8s 的「软件管家」,用来一键安装复杂应用(比如 kube-ai)

2.3.1 补充:Helm 安装(kube-ai 必须)

  • 安装命令(Linux/Mac):

# 下载Helm

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3

# 赋予执行权限

chmod 700 get_helm.sh

# 安装

./get_helm.sh

  • Windows 安装:
  • 下载安装包:https://get.helm.sh/helm-v3.14.0-windows-amd64.zip
  • 解压后把「helm.exe」放到「C:\\Windows\\System32」
  • 打开 cmd,输入 helm version 验证
  • 验证 Helm:

# 预期结果:显示Helm版本,无报错

helm version

2.3.2 补充:Ollama 安装(信创本地模型首选)

  • 什么是 Ollama:轻量级本地 LLM 部署工具,一键安装大模型(如 llama3、mistral),不用配置复杂环境
  • 安装命令(Linux/Mac):

curl -fsSL https://ollama.com/install.sh | sh

  • Windows 安装:
  • 下载安装包:https://ollama.com/download/OllamaSetup.exe
  • 双击安装,自动配置环境变量
  • 验证 Ollama:

# 拉取一个轻量模型(llama3:8b,约4GB)

ollama pull llama3:8b

# 预期结果:显示下载进度,完成后无报错

  • 小白注意:拉取模型需要约 4GB 存储空间,确保硬盘有足够空间;国产化模型(如通义千问本地化版本)可通过 Ollama 导入,具体参考厂商文档

3 分工具完整安装 + 配置 + 实操(步骤不省略,新手可照做)

3.1 K8sGPT(故障诊断首选,排错神器)

3.1.1 工具核心定位

  • 专门解决「K8s 故障排查」问题:自动巡检集群→发现故障→分析根因→给出修复命令
  • 信创适配:完美支持 Ollama 本地模型,无外网也能用
  • 新手友好度:最高(操作最简单,输出结果最易懂)

3.1.2 安装步骤(全平台详细版)

3.1.2.1 Windows 系统安装
  • 下载安装包:https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.32/k8sgpt_windows_amd64.zip
  • 解压到「C:\\Windows\\System32」文件夹(直接解压,无需新建文件夹)
  • 打开 cmd 命令行,输入 k8sgpt version 验证(预期结果:显示版本号)
  • 3.1.2.2 Mac 系统安装

    # 方式1:brew安装(推荐)

    brew install k8sgpt

    # 方式2:手动安装(brew安装失败时用)

    curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.32/k8sgpt_darwin_amd64.tar.gz

    tar -xzf k8sgpt_darwin_amd64.tar.gz

    chmod +x k8sgpt

    sudo mv k8sgpt /usr/local/bin/

    # 验证(预期结果:显示版本号)

    k8sgpt version

    3.1.2.3 Linux / 国产化系统(麒麟 OS / 统信 UOS)安装

    # 下载安装包

    curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.32/k8sgpt_linux_amd64.tar.gz

    # 解压

    tar -xzf k8sgpt_linux_amd64.tar.gz

    # 赋予执行权限

    chmod +x k8sgpt

    # 移动到系统目录(全局可用)

    sudo mv k8sgpt /usr/local/bin/

    # 验证(预期结果:显示版本号)

    k8sgpt version

    3.1.3 核心配置:对接 AI 后端(二选一,信创选本地 Ollama)

    3.1.3.1 方式 1:对接 OpenAI(需要外网,备用)
  • 申请 OpenAI API Key:https://platform.openai.com/api-keys(需要注册账号,可能需要科学上网)
  • 执行配置命令:
  • k8sgpt auth add –backend openai –model gpt-4o-mini

  • 按提示粘贴 API Key(粘贴时看不到输入,正常现象,粘贴后按回车)
  • 验证配置:
  • k8sgpt auth list

    预期结果:显示 openai 后端已配置,状态为「active」

    3.1.3.2 方式 2:对接本地 Ollama(信创推荐,无外网可用)
  • 确保已安装 Ollama 并拉取模型(参考 2.3.2 节,已安装可跳过)
  • 执行配置命令:
  • k8sgpt auth add –backend ollama –model llama3:8b

  • 验证配置:
  • k8sgpt auth list

    预期结果:显示 ollama 后端已配置,状态为「active」

    3.1.4 基础实操(小白三步曲,排错全流程)

    3.1.4.1 步骤 1:一键巡检 K8s 集群(核心功能)

    # 执行巡检(会检查所有命名空间的Pod、Deployment、Service等资源)

    k8sgpt analyze

    • 预期结果:
      • 无故障:显示「No problems found」
      • 有故障:列出故障资源名称、故障类型(如 CrashLoopBackOff、ImagePullBackOff)
    • 小白注解:CrashLoopBackOff = 容器启动后马上崩溃,反复重启;ImagePullBackOff = 拉取镜像失败(镜像不存在或没权限)
    3.1.4.2 步骤 2:查看故障中文解释(懂原理)

    # 巡检并显示中文根因分析

    k8sgpt analyze –explain

    • 预期结果示例:

    资源名称:nginx-7f96f8c9c6-2xqzk(命名空间:default)

    故障类型:CrashLoopBackOff

    根因分析:容器启动命令错误,配置文件中指定的启动脚本不存在

    可能原因:1. 镜像打包错误;2. 启动参数配置错误

    3.1.4.3 步骤 3:获取修复命令(直接用)

    # 巡检+解释+修复命令(小白最常用)

    k8sgpt analyze –explain –with-doc

    • 预期结果示例:

    修复命令:kubectl edit deployment nginx -n default

    操作说明:

    1. 执行上述命令后,会打开配置文件

    2. 找到「spec.containers.command」字段,修改为正确的启动命令(如["nginx", "-g", "daemon off;"])

    3. 保存退出后,K8s会自动重启Deployment

    • 小白操作提示:执行 kubectl edit 命令后,会用系统默认编辑器打开文件(Linux 可能是 vim,Windows 可能是记事本),vim 编辑器操作:按「i」进入编辑模式,修改后按「Esc」,输入「:wq」保存退出

    3.1.5 新手常见问题

  • 报错「failed to connect to ollama」:检查 Ollama 是否启动(执行 ollama serve 启动)
  • 巡检无结果但实际有故障:添加 –verbose 参数查看详细日志(k8sgpt analyze –verbose
  • 中文解释乱码:升级 K8sGPT 到最新版(brew upgrade k8sgpt 或重新下载安装包)
  • 3.2 kubectl-ai(Google 官方,日常操作首选)

    3.2.1 工具核心定位

    • 专门解决「记不住 K8s 命令」问题:中文直接生成 / 执行 K8s 命令,不用记参数
    • 信创适配:支持 Ollama 本地模型,兼容国产化 API(如通义千问)
    • 新手友好度:最高(操作最简单,支持中文对话)

    3.2.2 安装步骤(二选一,推荐 Krew 安装)

    3.2.2.1 方式 1:Krew 安装(全系统通用,推荐)

    # 执行安装命令

    kubectl krew install ai

    # 验证安装(预期结果:显示插件版本)

    kubectl ai version

    3.2.2.2 方式 2:脚本一键安装(Krew 安装失败时用)

    # 执行脚本(自动下载并安装)

    curl -sSL https://raw.githubusercontent.com/GoogleCloudPlatform/kubectl-ai/main/install.sh | bash

    # 验证安装(预期结果:显示插件版本)

    kubectl ai version

    • Windows 系统注意:脚本安装可能需要 Git Bash 或 WSL 环境,推荐直接用 Krew 安装

    3.2.3 核心配置:设置 API 密钥(二选一,信创选本地 Ollama)

    3.2.3.1 方式 1:对接 Gemini(Google 官方模型,需要外网)
  • 申请 Gemini API Key:https://aistudio.google.com/app/apikey(需要 Google 账号)
  • 设置环境变量(临时生效,重启终端后需要重新设置):
  • # Linux/Mac

    export GEMINI_API_KEY="你的Gemini API Key"

    # Windows cmd

    set GEMINI_API_KEY="你的Gemini API Key"

    • 小白注解:环境变量是「临时配置」,如果想永久生效,Linux/Mac 可以把命令写入「~/.bashrc」或「~/.zshrc」,Windows 可以在「系统环境变量」中添加
    3.2.3.2 方式 2:对接本地 Ollama(信创推荐,无外网可用)
  • 确保已安装 Ollama 并拉取模型(参考 2.3.2 节)
  • 设置环境变量,指定使用 Ollama:
  • # Linux/Mac

    export KUBECTL_AI_PROVIDER="ollama"

    export KUBECTL_AI_MODEL="llama3:8b"

    # Windows cmd

    set KUBECTL_AI_PROVIDER="ollama"

    set KUBECTL_AI_MODEL="llama3:8b"

    3.2.4 基础实操(中文直接用,新手常用命令)

    3.2.4.1 实操 1:查看资源(最常用)

    # 查看所有命名空间的Pod

    kubectl ai "查看所有命名空间的Pod"

    # 查看default命名空间的Deployment

    kubectl ai "查看default命名空间的所有Deployment"

    # 查看节点状态

    kubectl ai "查看所有节点的健康状态"

    • 预期结果:工具会先显示生成的 K8s 命令,然后询问「是否执行?(y/n)」,输入「y」后执行,显示结果
    • 小白注意:如果想直接执行不询问,添加 –execute 参数(如 kubectl ai "查看所有Pod" –execute
    3.2.4.2 实操 2:创建资源(不用写 YAML 文件)

    # 创建nginx部署,3个副本

    kubectl ai "创建一个名为nginx的Deployment,使用nginx:1.24镜像,3个副本"

    # 创建Service,暴露80端口

    kubectl ai "为nginx Deployment创建一个ClusterIP类型的Service,暴露80端口"

    • 预期结果:生成对应的 YAML 配置和 kubectl 命令,执行后可以用 kubectl get deployment 和 kubectl get svc 查看创建的资源
    3.2.4.3 实操 3:修改资源(扩容 / 缩容 / 更新镜像)

    # 扩容nginx到5个副本

    kubectl ai "把nginx Deployment的副本数调整为5"

    # 更新镜像版本

    kubectl ai "把nginx Deployment的镜像更新为nginx:1.25"

    # 缩容到2个副本

    kubectl ai "把nginx Deployment的副本数减少到2"

    3.2.4.4 实操 4:删除资源(安全删除)

    # 删除nginx Deployment和Service

    kubectl ai "删除名为nginx的Deployment和对应的Service"

    • 小白提示:删除前工具会确认,避免误删;如果想删除所有 Evicted(驱逐)的 Pod,可以执行 kubectl ai "删除所有Evicted状态的Pod" –execute

    3.2.5 新手常见问题

  • 报错「API key not found」:忘记设置环境变量,重新执行 3.2.3 节的配置命令
  • 中文指令不识别:尽量用简洁的指令(如「查看所有 Pod」而不是「我想看看集群里所有的 Pod 信息」)
  • 生成命令错误:添加 –dry-run 参数只看命令不执行(如 kubectl ai "创建nginx" –dry-run),确认命令正确后再执行
  • 3.3 kubectl-llm(轻量工具,极简需求首选)

    3.3.1 工具核心定位

    • 轻量级 LLM 对接工具,功能简单但灵活,支持对接任何 LLM 模型
    • 信创适配:可对接本地 LM Studio、国产化 LLM API(如智谱 AI)
    • 新手友好度:较高(操作简单,但功能比 kubectl-ai 少)

    3.3.2 安装步骤(Krew 一键安装)

    # 安装

    kubectl krew install llm

    # 验证(预期结果:显示帮助信息)

    kubectl llm –help

    3.3.3 核心配置(编辑配置文件,新手耐心看)

    3.3.3.1 步骤 1:打开配置文件

    # 执行命令打开配置文件

    kubectl llm config edit

    • 预期结果:打开系统默认编辑器(Linux 是 vim,Windows 是记事本),配置文件内容如下(默认是空的,需要手动添加):
    3.3.3.2 步骤 2:配置 OpenAI(需要外网,备用)

    在配置文件中添加以下内容(替换为自己的 API Key):

    [openai]

    api_key = "sk-你的OpenAI API Key"

    model = "gpt-3.5-turbo"

    api_base = "https://api.openai.com/v1"

    • 保存退出(vim:按「i」编辑,编辑后按「Esc」,输入「:wq」保存)
    3.3.3.3 步骤 3:配置本地 Ollama(信创推荐)

    在配置文件中添加以下内容:

    [ollama]

    model = "llama3:8b"

    api_base = "http://localhost:11434/v1"

    • 保存退出后,设置环境变量指定使用 ollama:

    # Linux/Mac

    export KUBECTL_LLM_PROVIDER="ollama"

    # Windows cmd

    set KUBECTL_LLM_PROVIDER="ollama"

    3.3.4 基础实操(简单命令转换)

    3.3.4.1 实操 1:自然语言转命

    # 列出所有Pod

    kubectl llm "列出所有命名空间的Pod"

    # 查看故障Pod

    kubectl llm "查看所有状态不是Running的Pod"

    • 预期结果:显示生成的 K8s 命令,需要手动复制执行(不支持自动执行,这是和 kubectl-ai 的主要区别)
    3.3.4.2 实操 2:对话模式(连续提问)

    # 启动对话模式

    kubectl llm chat

    • 进入后可以连续提问,比如:
    • 「如何查看 Deployment 的日志?」
    • 「如何扩容 Deployment?」
    • 「如何删除 Pod?」
    • 工具会连续回复对应的 K8s 命令,适合集中学习

    3.3.5 新手常见问题

  • 配置文件保存后不生效:检查配置文件格式是否正确(YAML 格式对缩进敏感,不要用 Tab 缩进)
  • 对话模式无法退出:按「Ctrl+C」退出
  • 生成命令错误:尽量使用简洁的指令,避免复杂描述
  • 3.4 kube-ai(AI 模型调度平台,AI 业务专用)

    3.4.1 工具核心定位

    • 专门用于在 K8s 上部署、调度、管理 AI 模型(如 LLM、AI 绘图模型)
    • 信创适配:支持国产化镜像仓库、国产化 GPU(如华为昇腾)
    • 新手友好度:中等(操作相对复杂,适合有 AI 业务需求的用户)

    3.4.2 安装步骤(Helm 一键安装)

    3.4.2.1 步骤 1:添加 kube-ai 仓库

    # 添加仓库

    helm repo add kubeai https://charts.kubeai.org

    # 更新仓库

    helm repo update

    3.4.2.2 步骤 2:安装 kube-ai

    # 创建命名空间(专门存放kube-ai相关资源)

    kubectl create namespace kubeai

    # 安装kube-ai

    helm install kubeai kubeai/kubeai –namespace kubeai

    3.4.2.3 步骤 3:验证安装

    # 查看kube-ai相关Pod(预期结果:所有Pod状态为Running)

    kubectl get pods -n kubeai

    # 查看kube-ai服务(预期结果:显示服务地址和端口)

    kubectl get svc -n kubeai

    • 注意:安装过程可能需要几分钟,期间 Pod 状态会显示「Pending」或「ContainerCreating」,耐心等待即可;如果长时间处于「Pending」,可能是 K8s 集群资源不足(需要至少 2CPU、4GB 内存)

    3.4.3 核心配置(国产化适配:对接国产化镜像仓库)

    • 信创场景下,需要对接国产化镜像仓库(如华为云 SWR、阿里云 ACR),修改安装命令如下:

    helm install kubeai kubeai/kubeai –namespace kubeai \\

      –set image.registry="你的国产化镜像仓库地址" \\

      –set image.repository="kubeai" \\

      –set image.tag="latest"

    • 替换「你的国产化镜像仓库地址」为实际地址(需要提前在镜像仓库中拉取 kube-ai 镜像)

    3.4.4 基础实操(部署一个 LLM 模型)

    3.4.4.1 步骤 1:部署 llama3-8b 模型

    # 部署模型(使用预定义的YAML文件)

    kubectl apply -f https://raw.githubusercontent.com/substratusai/kubeai/main/models/huggingface/llama3-8b.yaml

    • 注解:YAML 文件是 K8s 的「配置文件」,里面定义了模型的镜像、资源需求(CPU/GPU)、暴露端口等信息
    3.4.4.2 步骤 2:查看模型部署状态

    # 查看模型资源(预期结果:状态从Pending→Running)

    kubectl get models

    # 查看模型对应的Pod(预期结果:Pod状态为Running)

    kubectl get pods -l app=llama3-8b

    • 注意:部署大模型需要较多资源(llama3-8b 需要至少 4GB 内存),如果集群资源不足,Pod 会处于「Pending」状态,需要扩容集群资源
    3.4.4.3 步骤 3:测试模型服务

    # 端口转发(把模型服务暴露到本地)

    kubectl port-forward svc/llama3-8b 8080:80

    • 打开浏览器,访问「http://localhost:8080」,会看到模型服务的 API 文档,可通过 API 调用模型(新手可忽略,主要用于开发人员对接)

    3.4.5 新手常见问题

  • 安装后 Pod 状态为「ImagePullBackOff」:镜像拉取失败,检查网络是否能访问镜像仓库,或对接国产化镜像仓库
  • 部署模型后 Pod 处于「Pending」:集群资源不足,增加 CPU / 内存或使用 GPU 节点
  • 端口转发后无法访问:检查 Pod 是否正常运行,或端口是否被占用(更换其他端口,如 8081)
  • 4 高阶用法(提升效率,新手进阶)

    4.1 K8sGPT 高阶用法

    4.1.1 按命名空间 / 资源类型过滤巡检

    # 只巡检default命名空间

    k8sgpt analyze –namespace default

    # 只巡检kube-system命名空间的Pod和Deployment

    k8sgpt analyze –namespace kube-system –filter Pod,Deployment

    # 排除某个命名空间(不巡检kube-public)

    k8sgpt analyze –exclude-namespace kube-public

    4.1.2 输出报告(用于存档 / 分享)

    # 输出JSON格式报告(可导入Excel分析)

    k8sgpt analyze –explain –with-doc –output json > k8s故障报告.json

    # 输出文本格式报告

    k8sgpt analyze –explain –with-doc –output text > k8s故障报告.txt

    4.1.3 Operator 模式(自动巡检 + 告警)

    • 什么是 Operator 模式:在 K8s 上部署一个常驻服务,自动定时巡检,发现故障后发送告警(如邮件、钉钉)

    # 初始化Operator

    k8sgpt operator init

    # 查看Operator Pod(预期结果:状态为Running)

    kubectl get pods -n k8sgpt-operator

    # 配置定时巡检(每10分钟巡检一次)

    kubectl apply -f – <

    apiVersion: k8sgpt.ai/v1

    kind: K8sGPT

    metadata:

      name: k8sgpt-operator

      namespace: k8sgpt-operator

    spec:

      schedule: "*/10 * * * *"  #  cron表达式,每10分钟执行一次

      backend: ollama

      model: llama3:8b

      enableAI: true

    EOF

    4.2 kubectl-ai 高阶用法

    4.2.1 自定义模型参数(控制生成质量)

    # 设置温度参数(0-1,越低越精准,越高越灵活)

    kubectl ai "创建nginx部署" –temperature 0.3

    # 设置最大令牌数(控制命令长度)

    kubectl ai "查看所有Pod的详细信息" –max-tokens 1000

    4.2.2 批量执行命令(通过文件输入)

  • 创建一个文本文件「commands.txt」,内容如下:
  • 查看default命名空间的Pod

    查看kube-system命名空间的Deployment

    查看所有节点的CPU使用率

  • 执行批量命令:
  • kubectl ai –file commands.txt –execute

    • 预期结果:工具会依次执行文件中的每个指令,适合批量操作

    4.2.3 对接国产化 AI 模型(如通义千问)

  • 申请通义千问 API Key:https://dashscope.console.aliyun.com/
  • 设置环境变量:
  • export KUBECTL_AI_PROVIDER="dashscope"

    export DASHSCOPE_API_KEY="你的通义千问API Key"

    export KUBECTL_AI_MODEL="qwen-turbo"

  • 正常使用:
  • kubectl ai "查看所有异常Pod"

    4.3 kubectl-llm 高阶用法

    4.3.1 自定义 Prompt 模板(优化命令生成)

  • 打开配置文件:
  • kubectl llm config edit

  • 添加 Prompt 模板:
  • prompt:

      template: "你是信创K8s运维专家,只生成简洁、正确的K8s命令,不添加额外解释,命令必须可以直接执行"

  • 保存后,生成的命令会更简洁,无多余解释
  • 4.3.2 对接本地 LM Studio(可视化管理模型)

  • 安装 LM Studio:https://lmstudio.ai/(支持 Windows/Mac/Linux)
  • 在 LM Studio 中下载模型(如 llama3:8b),并启动本地 API 服务
  • 配置 kubectl-llm:
  • [lmstudio]

    api_base = "http://localhost:1234/v1"

    model = "llama3:8b"

  • 设置环境变量:
  • export KUBECTL_LLM_PROVIDER="lmstudio"

  • 正常使用:
  • kubectl llm "查看所有Pod"

    4.4 kube-ai 高阶用法

    4.4.1 GPU 调度(跑大模型必备)

  • 确保 K8s 集群已配置 GPU(如 NVIDIA GPU、华为昇腾)
  • 部署需要 GPU 的模型:
  • kubectl apply -f – <

    apiVersion: kubeai.org/v1

    kind: Model

    metadata:

      name: llama3-70b

    spec:

      image: substratusai/llama3:70b-instruct

      resources:

        limits:

          nvidia.com/gpu: 1  # 请求1块NVIDIA GPU

      ports:

      – containerPort: 8080

    EOF

  • 查看 GPU 使用情况:
  • kubectl describe nodes | grep -A 10 "Allocatable" | grep "nvidia.com/gpu"

    4.4.2 弹性扩缩容(根据负载自动调整副本)

  • 部署模型时启用 HPA(Horizontal Pod Autoscaler):
  • kubectl apply -f – <

    apiVersion: autoscaling/v2

    kind: HorizontalPodAutoscaler

    metadata:

      name: llama3-8b-hpa

    spec:

      scaleTargetRef:

        apiVersion: apps/v1

        kind: Deployment

        name: llama3-8b

      minReplicas: 1

      maxReplicas: 5

      metrics:

      – type: Resource

        resource:

          name: cpu

          target:

            type: Utilization

            averageUtilization: 70

    EOF

    • 当 CPU 使用率超过 70% 时,自动扩容副本;低于 30% 时,自动缩容

    4.4.3 多模型路由(统一入口访问多个模型)

  • 部署多个模型(如 llama3-8b、mistral-7b)
  • 创建路由配置:
  • kubectl apply -f – <<EOF

    apiVersion: kubeai.org/v1

    kind: ModelRoute

    metadata:

      name: llm-router

    spec:

      rules:

      – path: /llama3

        backend: llama3-8b:8080

      – path: /mistral

        backend: mistral-7b:8080

    EOF

  • 通过统一入口访问不同模型:
    • 访问「/llama3」→ 路由到 llama3-8b 模型
    • 访问「/mistral」→ 路由到 mistral-7b 模型
  • 5 选型建议

    5.1 按类型选型

    5.1.1 纯小白(刚接触 K8s,不会命令)

    • 首选组合:kubectl-ai + K8sGPT
    • 使用逻辑:
      • 日常操作(查 Pod、建部署、扩副本)用 kubectl-ai(说中文就行)
      • 遇到故障(Pod 崩溃、启动失败)用 K8sGPT(一键诊断 + 修复)
    • 信创适配:搭配 Ollama 本地模型,无外网也能用

    5.1.2 有基础的新手(会少量命令,想提升效率)

    • 首选工具:kubectl-ai
    • 补充工具:kubectl-llm(自定义 LLM 模型)
    • 使用逻辑:用 kubectl-ai 处理日常操作,用 kubectl-llm 对接自己熟悉的 AI 模型(如通义千问)

    5.1.3 有 AI 业务需求的新手(需要在 K8s 上跑大模型)

    • 首选工具:kube-ai
    • 搭配工具:K8sGPT(监控 AI 服务故障)
    • 使用逻辑:用 kube-ai 部署 / 管理 AI 模型,用 K8sGPT 排查 AI 服务的故障(如模型启动失败、推理超时)

    5.2 按场景选型(直接对照选择)

    应用场景

    推荐工具

    推荐理由

    信创适配方案

    日常 K8s 命令操作(查、建、改、删资源)

    kubectl-ai

    中文直接生成 + 执行命令,最易用

    对接 Ollama 本地模型

    K8s 故障排查、巡检、根因分析

    K8sGPT

    专门做故障诊断,修复方案精准

    对接 Ollama/localAI

    极简需求、自定义 LLM 模型

    kubectl-llm

    轻量灵活,支持任何 LLM

    对接 LM Studio / 国产化 LLM

    在 K8s 上部署、管理 AI 模型

    kube-ai

    专门优化 AI 模型调度,支持 GPU

    对接国产化镜像仓库 + GPU

    无外网环境、纯国产化部署

    K8sGPT + kubectl-ai + Ollama

    本地闭环,不依赖外网

    Ollama + 国产化模型(如通义千问本地化)

    新手学习 K8s 命令

    kubectl-llm(对话模式)

    连续提问,集中学习命令

    对接本地模型,无外网干扰

    5.3 最佳实践组合(推荐采用)

    5.3.1 通用场景组合

    • 核心工具:kubectl-ai(日常操作) + K8sGPT(故障排查)
    • 辅助工具:Ollama(本地模型)
    • 配置步骤:
    • 安装 kubectl、Krew、Ollama
    • 安装 kubectl-ai 和 K8sGPT
    • 配置两者对接 Ollama 本地模型
    • 使用流程:
    • 日常操作:用 kubectl-ai 说中文执行命令
    • 遇到故障:用 K8sGPT 一键诊断 + 修复
    • 学习命令:用 kubectl-ai 的「–dry-run」参数查看生成的命令,逐步记忆

    5.3.2 信创场景组合

    • 核心工具:K8sGPT + kubectl-ai + kube-ai(如有 AI 业务)
    • 国产化组件:Ollama + 通义千问本地化模型 + 华为鲲鹏服务器 + 麒麟 OS
    • 配置要点:
    • 所有工具从国产化镜像仓库拉取(避免外网依赖)
    • 所有 AI 模型使用本地部署(Ollama 导入国产化模型)
    • 对接国产化监控工具(如华为云 StackMonitor)

    6 常见问题(避坑指南)

    6.1 环境配置类问题

    6.1.1 kubectl 连接不上 K8s 集群?

    • 检查集群配置文件(kubeconfig)是否正确:kubectl config view
    • 检查集群地址是否可达:ping 集群IP
    • 联系管理员获取正确的 kubeconfig 文件,放到「~/.kube/config」(Linux/Mac)或「C:\\Users\\ 你的用户名.kube\\config」(Windows)

    6.1.2 Krew 安装后提示「kubectl: command not found」?

    • 原因:Krew 的路径没加入环境变量
    • 解决方案:重新执行 2.2.2 节的「加入 PATH」命令,或手动添加路径:
      • Linux/Mac:echo 'export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"' >> ~/.bashrc,然后执行 source ~/.bashrc
      • Windows:在「系统环境变量」的「Path」中添加「% USERPROFILE%.krew\\bin」

    6.1.3 Ollama 拉取模型失败?

    • 检查网络是否正常(外网拉取需要科学上网,信创场景建议用本地导入)
    • 检查硬盘空间是否足够(llama3:8b 约 4GB,llama3:70b 约 35GB)
    • 国产化场景:从厂商提供的镜像源拉取模型,或本地导入模型文件

    6.2 工具使用类问题

    6.2.1 工具提示「API 密钥无效」?

    • 检查密钥是否正确(复制时是否多了空格 / 换行)
    • 检查密钥是否过期(OpenAI/Gemini 密钥有有效期,需要定期更换)
    • 信创场景:切换到本地模型(Ollama),无需 API 密钥

    6.2.2 生成的命令执行报错?

    • 用「–dry-run」参数查看生成的命令,手动检查是否有语法错误
    • 简化指令,避免复杂描述(如「查看所有异常 Pod」比「查看所有不是 Running 状态且重启次数大于 3 的 Pod」更容易生成正确命令)
    • 升级工具到最新版(工具会不断优化命令生成逻辑)

    6.2.3 信创环境下工具无法使用?

    • 确保工具支持本地模型(K8sGPT、kubectl-ai 支持,kubectl-llm 部分支持)
    • 确保所有依赖从国产化镜像仓库拉取(避免外网依赖)
    • 检查工具是否兼容国产化操作系统(K8sGPT、kubectl-ai、kube-ai 均兼容麒麟 OS / 统信 UOS)

    6.3 性能优化类问题

    6.3.1 本地模型响应慢?

    • 升级硬件(增加 CPU 核心数、内存大小,GPU 加速效果最明显)
    • 选择更小的模型(llama3:8b 比 llama3:70b 响应快很多)
    • 关闭其他占用资源的程序(确保模型有足够的 CPU / 内存)

    6.3.2 K8s 集群资源不足?

    • 减少不必要的资源占用(删除无用的 Pod/Deployment)
    • 扩容集群节点(增加服务器数量)
    • 调整工具的资源请求(如 kube-ai 部署时减少 CPU / 内存限制)

    7 附录(必备资源)

    7.1 工具官方文档

    • K8sGPT:https://k8sgpt.ai/docs/
    • kubectl-ai:https://github.com/GoogleCloudPlatform/kubectl-ai
    • kubectl-llm:https://github.com/arthurbdiniz/kubectl-llm
    • kube-ai:https://kubeai.org/docs/

    7.2 国产化资源

    • 通义千问本地化:https://dashscope.console.aliyun.com/
    • 华为云镜像仓库:https://console.huaweicloud.com/swr/
    • 麒麟 OS 官方下载:https://www.kylinos.cn/
    • Ollama 国产化模型导入教程:https://ollama.com/docs/import

    7.3 K8s 新手学习资源

    • K8s 官方文档(中文):https://kubernetes.io/zh-cn/docs/home/
    • K8s 命令参考手册:https://kubernetes.io/zh-cn/docs/reference/generated/kubectl/kubectl-commands
    • 新手入门视频教程:https://www.bilibili.com/video/BV1mt411r7xz/
    赞(0)
    未经允许不得转载:171主机测评 » 信创 AI 智能运维:kube‑ai /kubectl‑llm / K8sGPT /kubectl-ai 赋能 K8s 超能力
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址