workbuddy生成的kubernetes yaml需经四步质量保障:一、用kube-score静态扫描识别critical/high风险;二、ci/cd中嵌入自动化校验并设失败阈值;三、kubectl --dry-run=client验证语法与结构;四、人工复核资源限制、安全上下文、探针及云平台特有注解等关键字段。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您使用 WorkBuddy 生成了 Kubernetes 部署文件(如 Deployment、Service 等 YAML),但尚未验证其配置合规性与生产就绪程度,则可能是由于生成过程未集成静态质量检查环节,导致清单可能缺失资源限制、安全上下文或探针等关键字段。以下是评估并保障该类配置质量的具体路径:
一、使用 kube-score 进行静态分析
kube-score 是一个轻量级命令行工具,专为 Kubernetes 清单设计,不依赖集群运行时,仅对 YAML/JSON 文件做离线语义审查,覆盖资源请求、安全策略、健康探针、镜像标签等 30+ 项最佳实践检查项。它能快速识别 WorkBuddy 输出中易被自然语言指令忽略的配置短板。
1、通过 curl 下载最新版 kube-score 二进制文件(Linux AMD64):
curl -L https://github.com/zegl/kube-score/releases/download/1.25.0/kube-score_1.25.0_linux_amd64.tar.gz | tar xz
2、赋予执行权限:
chmod +x kube-score
3、将 WorkBuddy 生成的 YAML 文件保存为 nginx-deploy.yaml,执行扫描:
./kube-score score nginx-deploy.yaml
4、重点关注输出中标记为 CRITICAL 或 HIGH 的条目,例如 “Container has no resource requests/limits” 或 “Pod is not configured with a security context”。
二、在 CI/CD 流水线中嵌入自动化校验
将 kube-score 集成至 GitOps 工作流,可确保所有经 WorkBuddy 生成并提交的 YAML 在合并前强制通过质量门禁。该方式避免人工遗漏,统一团队配置基线,尤其适用于多成员协同编辑同一套部署模板的场景。
1、在 .gitlab-ci.yml 或 .github/workflows/lint.yml 中添加 job:
score-manifests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
2、安装 kube-score:
- name: Install kube-score
run: curl -L https://github.com/zegl/kube-score/releases/download/1.25.0/kube-score_1.25.0_linux_amd64.tar.gz | tar xz && sudo mv kube-score /usr/local/bin/
3、扫描所有新增或修改的 YAML 文件:
- name: Run kube-score
run: find . -name "*.yaml" -o -name "*.yml" | xargs -r kube-score score --output-format ci
4、设置失败阈值:若输出含 CRITICAL 级别问题,CI 将自动终止,阻止低质量配置进入集群。
WorkBuddy 桌宠工厂 —— 给一张角色图、一个 codex.pet 链接、一条 codex-pets.net 下载 URL、或一份现成的精灵表,就能自动创建一只可联动 WorkBuddy 状态的桌面宠物。当用户说"创建桌宠"、"做一只桌宠"、"用这张图做桌宠"、"从 codex.pet 安装桌宠"、"导入 codex 桌宠 XX"、"装一下 codex-pets.net 上的 XX&quo
三、结合 kubectl --dry-run=client 验证语法与结构
该步骤用于确认 YAML 是否符合 Kubernetes API 的基本结构要求,属于基础校验层。它不检查最佳实践,但可拦截字段拼写错误、apiVersion 不匹配、缩进异常等导致 kubectl apply 直接报错的问题,是 kube-score 分析前的必要前置动作。
1、执行客户端预检:
kubectl apply -f nginx-deploy.yaml --dry-run=client -o wide
2、若返回类似 “deployment.apps/nginx created” 的提示,说明语法与字段层级合法;若报错如 “error: unable to recognize …: no matches for kind”,则需核查 kind 值拼写或 apiVersion 版本是否过时。
3、如需查看渲染后完整结构(含默认值填充),追加 -o yaml 参数:
kubectl apply -f nginx-deploy.yaml --dry-run=client -o yaml
4、对比原始 WorkBuddy 输出与 dry-run 渲染结果,确认 resources.requests、livenessProbe、securityContext 等字段是否被隐式补全或仍为空。
四、人工复核关键字段完整性
尽管 WorkBuddy 支持自然语言生成 YAML,但当前版本对部分 TKE 或私有云特有约束(如腾讯云 LB 注解、NetworkPolicy 白名单、mTLS 证书挂载)尚无法全自动推导。此时需依据部署目标环境,对生成文件进行定向复核,确保适配性字段无遗漏。
1、打开生成的 YAML 文件,定位 spec.template.spec.containers[0] 节点。
2、检查是否存在 resources 字段,且包含 requests.cpu、requests.memory、limits.cpu、limits.memory 四个子项。
3、查找 securityContext.runAsNonRoot: true 与 securityContext.capabilities.drop: ["ALL"] 是否已配置。
4、确认 livenessProbe 和 readinessProbe 的 httpGet.path、port 及 initialDelaySeconds 是否匹配容器实际监听端点。
5、若部署至腾讯云 TKE,检查 Service YAML 中是否包含注解:service.beta.kubernetes.io/qcloud-loadbalancer-id 或 service.kubernetes.io/tke-cluster-id。









