antithesis-setup-k8s – Kubernetes 测试环境配置 Skill

3周前更新 7 0 0 0

antithesis-setup-k8s 是用于指导 AI Agent 在 Kubernetes 集群中部署和配置 Antithesis 测试环境的部署型 Skill,适合需要搭建可复现分布式系统测试平台的开发与运维场景。

Skill 安装

多 Agent 安装
npx skills add https://github.com/antithesishq/antithesis-skills --skill antithesis-setup-k8s

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

Skill 详细介绍

antithesishq/antithesis-skills#antithesis-setup-k8s 是 Antithesis 官方 Skills 仓库中面向 Kubernetes 环境的一个安装/配置类 Skill。它的核心作用,是帮助 AI Agent 引导用户完成把 Antithesis 接入 Kubernetes 集群所需的准备工作,包括环境检查、必要组件安装、配置项确认,以及把 Antithesis 的测试能力挂接到已有的 K8s 工作流中。

它本身不是一个可以独立运行的程序。Skill 本质上是一组面向 Agent 的指令、流程和参考文档,真正执行动作的是 Agent 以及底层 Kubernetes、kubectl、Helm 等工具。它也不会替代 Antithesis 平台本身,Antithesis 提供的确定性模拟测试、故障注入、结果判定等能力仍然由 Antithesis 服务端提供,Skill 只是把接入 Kubernetes 的流程交给 Agent 来引导和自动化。

安装后,Agent 增加的主要能力包括:

  • 判断当前 Kubernetes 集群是否满足 Antithesis 接入所需的前置条件。
  • 按照官方流程执行或指导执行与 Antithesis 相关的 K8s 安装步骤。
  • 根据用户已有的集群、命名空间、镜像仓库、凭证配置,给出针对性的调整建议。
  • 在出现常见接入问题时,提供排查方向,而不是让用户自行翻查零散文档。

典型使用场景:

  • 团队已经在用 Kubernetes,希望把 Antithesis 集成进已有的测试或 CI 流程。
  • 需要在一套新建的 K8s 集群上首次部署 Antithesis 相关组件。
  • 希望由 Agent 辅助检查 YAML、配置项、权限和镜像来源,而不是手工比对文档。

不太适合的需求:

  • 与 Kubernetes 无关的 Antithesis 使用方式(例如纯本地运行、非容器化环境)。
  • 把 Antithesis 当作通用 Kubernetes 运维或监控工具。
  • 期望 Skill 自身完成全部部署——它负责的是引导、检查和结构化流程,实际执行仍依赖 Agent 与集群环境。

技术路线上,它属于 Antithesis 官方 Skills 集合中的一个具体条目,依附于 Antithesis 对 Kubernetes 的接入方式。判断它是否适配你的项目,关键在于:你是否确实要在 Kubernetes 上部署 Antithesis,而不是仅仅对 Antithesis 本身感兴趣。

Skill 安全评估

总体判断:来自 Antithesis 官方组织仓库(antithesishq),来源可信度较高。但它属于与 Kubernetes 部署强相关的 Skill,天然会涉及集群操作和凭证,因此安全评估的重点不在“Skill 是否恶意”,而在于“它会引导 Agent 在集群上执行什么动作、动用到哪些权限”。

主要关注点:

  • 来源可信度:Skill 属于 antithesishq 官方仓库下的 skills 集合。仍建议用户在安装前确认仓库、分支和版本,避免从第三方镜像或 fork 拉取被改写的版本。
  • Shell 与 kubectl 权限:接入 Kubernetes 通常需要执行 kubectl、helm 或类似命令。这意味着 Agent 在获得 Shell 权限时,理论上可以对集群执行创建、修改、删除资源的操作。建议只在明确的任务范围内授权,不要让 Agent 在无约束状态下对生产集群执行命令。
  • 集群上下文:kubectl 的行为高度依赖当前 kubeconfig 上下文。如果当前上下文指向生产集群,任何安装或修改动作都可能直接作用到生产环境。建议在单独命名空间或测试集群中先验证流程。
  • 凭证与配置文件:kubeconfig、镜像仓库凭证、Antithesis 相关 Token 或 API Key 可能被读取或写入。这些内容一旦泄露,影响范围超出单台机器。建议不要在不受信任的 Agent 会话中直接粘贴长期凭证。
  • 网络访问:拉取镜像、访问 Antithesis 服务通常需要网络出站。这属于正常用途,但需要在允许外网访问的环境中执行。
  • 文件写入与清单修改:Skill 可能引导 Agent 生成或修改 YAML、Helm values、配置文件。修改前建议保留原始文件或纳入 Git,便于回滚。
  • 命令注入 / Prompt Injection:如果 Agent 同时读取外部文档或用户粘贴的内容,需警惕其中混入的可执行指令。让 Agent 在执行前先列出计划命令,是一个实用习惯。

可操作的风险缓解建议:

  • 首次尝试时,把 Agent 的自动执行 Shell 权限设为“需确认”,由用户逐条确认 kubectl / helm 命令。
  • 使用独立的测试集群或独立命名空间,避免影响生产。
  • 凭证尽量通过环境变量或专用 Secret 注入,避免直接写进对话或明文文件。
  • 把生成的 YAML 和配置纳入版本控制,改动可追溯。

不适用“绝对安全”“已全面审计”之类表述。是否安全,最终取决于你授予 Agent 的权限和它操作的目标集群。

Skill 使用要求

一、Agent / 客户端

该 Skill 来自 Antithesis 官方 Skills 仓库,主要面向支持 Skills 机制的 AI Agent 使用。官方没有公布完整的第三方 Agent 兼容列表。从 Agent Skill 的工作方式来看,在支持 Skills、自定义 Skill 或类似指令加载机制的环境中,Claude Code、Codex、Cursor、Trae、OpenClaw、WorkBuddy 等主流 Agent 通常可以尝试使用,但不同 Agent 的加载方式、权限模型和兼容程度可能不同,具体以对应 Agent 当前版本为准。优先在能明确识别 Skill 目录并允许加载外部指令的 Agent 中使用。

二、运行环境 / 依赖

项目 要求
Agent 支持加载自定义 Skill 的 AI Agent
Kubernetes 集群 需要,因为 Skill 面向 K8s 接入场景
kubectl 通常需要,用于与集群交互
Helm 或等价部署工具 视实际接入方式而定
网络 通常需要,用于拉取资源或访问 Antithesis 服务

官方未在 Skill 识别标志中给出确定的版本约束,具体版本要求以 Antithesis 官方当前文档为准。不要在不确定的情况下强行套用某个 Node.js、Python 或 K8s 版本号。

三、权限

  • 文件读取:需要,用于读取 YAML、配置和 Skill 文档。
  • 文件写入:可选,用于生成或修改配置清单。
  • Shell:通常需要,用于执行 kubectl / helm 等命令。
  • 网络:通常需要。
  • Kubernetes 集群访问权限:必需,且需要有创建/修改相关资源的权限。

四、账号 / API Key

Skill 本身是否强制要求 Antithesis 账号或 API Key,官方资料中没有在此识别标志下明确说明。更普遍的情况是:真正需要凭证的是后续接入 Antithesis 服务的流程,而不是 Skill 的加载过程;这些凭证由 Antithesis 平台提供,并需要在 K8s 中以 Secret 或环境变量的方式注入。请以 Antithesis 官方当前文档为准,不要把 Skill 与 Antithesis 平台凭证混为一谈。

最小使用条件

  1. 一个可用的 Kubernetes 集群。
  2. 本机可执行的 kubectl(以及必要的部署工具)。
  3. 一个能加载该 Skill 的 AI Agent,并授予其执行集群命令的权限。
  4. 目标集群上的相应操作权限。

Skill 安装、使用与卸载教程

一、安装

LemonAIKit 页面已经提供该 Skill 的安装指令,直接复制页面上的安装指令,粘贴到对应 Agent 或终端执行即可。不建议手工复制仓库目录或自行拼装安装步骤,以免与官方当前结构不一致。

如果你不确定自己的 Agent 如何安装,可以直接问当前 Agent:

如何安装 antithesishq/antithesis-skills#antithesis-setup-k8s?

如何在 Claude Code 中安装 antithesishq/antithesis-skills#antithesis-setup-k8s?

如何在 Codex 中安装 antithesishq/antithesis-skills#antithesis-setup-k8s?

如何在 Cursor 中安装 antithesishq/antithesis-skills#antithesis-setup-k8s?

让 Agent 根据自己的 Skill 加载和管理机制指导安装,通常比套用一份通用教程更可靠。不同 Agent 的安装位置、识别方式和管理命令都可能不同,具体以对应 Agent 当前的 Skill 机制为准。

二、安装后如何使用

安装完成后,不需要额外启动命令。触发方式是让 Agent 处理与 Antithesis 接入 Kubernetes 相关的任务。以下几种自然语言用法可以直接使用:

使用 antithesis-setup-k8s,帮我检查当前 Kubernetes 集群是否满足接入 Antithesis 的前置条件。

使用 antithesis-setup-k8s,指导我在这套集群上完成 Antithesis 的接入配置,先列出你打算执行的步骤和命令。

使用 antithesis-setup-k8s,帮我排查 Antithesis 组件在 K8s 上部署后一直起不来的问题。

使用时的两个习惯建议:一是先让 Agent 列出计划再执行,尤其涉及集群写入操作;二是在测试命名空间先跑通,再考虑生产环境。

三、卸载

不同 Agent 的 Skill 安装位置和管理方式可能不同。常见做法是:

  • 使用对应 Agent 或 Skill 管理器提供的删除方式,移除该 Skill。
  • 直接询问当前 Agent 如何移除,让 Agent 按其自身机制给出步骤。

如何卸载 antithesishq/antithesis-skills#antithesis-setup-k8s?

如果没有统一的卸载命令,询问当前 Agent 通常比手工查找目录更稳妥。若官方后续提供明确的卸载方式,以官方说明为准。

常见问题

1. 这个 Skill 和 Antithesis 平台本身是什么关系?

Skill 负责的是引导 Agent 完成 Kubernetes 场景下的接入流程,真正的测试和判定能力来自 Antithesis 平台。Skill 不包含 Antithesis 服务端。

2. 可以同时安装到多个 Agent 吗?

通常可以,取决于各 Agent 的 Skill 管理机制是否互相隔离。但要注意,同一个集群被多个 Agent 同时操作时,容易出现配置冲突,建议同一时间只用一个 Agent 负责同一套环境。

3. 先在生产集群上试还是先用测试集群?

建议先在独立测试集群或独立命名空间里跑通。接入过程涉及资源创建和配置修改,生产环境风险明显更高。

4. 可以关闭 Agent 的 Shell 自动执行权限吗?

可以。关闭自动执行后,Agent 只会给出命令和建议,由你手动确认后再执行。对于首次接入或生产相关操作,这是更稳妥的做法。

5. 中国大陆使用是否有网络限制?

该 Skill 面向 Antithesis 的 Kubernetes 接入,相关镜像拉取和服务访问可能受网络环境影响。具体可用性取决于 Antithesis 服务和你所在网络的实际连通情况,建议提前确认出站访问条件。

6. Skill 会不会修改我已有的项目文件?

是否修改取决于 Agent 的实际执行动作,而不是 Skill 本身。如果只让它给出方案和命令,不授予写入权限,就不会改动本地文件。需要它生成配置时,建议先把改动纳入 Git。

7. 为什么安装后 Agent 没有识别到 Skill?

常见原因包括:安装路径不在 Agent 扫描的 Skill 目录内、Agent 需要重启或重新加载、版本不兼容,或名称与当前 Skill 不一致。可以先让 Agent 检查它识别到的 Skill 列表,再对照安装位置排查。

Skill 更新日志

版本列表
无版本号
更新 PR #204 的技能版本
无版本号
更新 PR #198 的技能版本
无版本号
更新 PR #201 的技能版本
无版本号
更新 PR #200 的技能版本
无版本号
更新 PR #195 的技能版本
无版本号
更新 PR #199 的技能版本
无版本号
更新 PR #194 的技能版本
无版本号
更新 PR #191 的技能版本
无版本号
更新 PR #189 的技能版本
无版本号
更新 PR #188 的技能版本
无版本号
更清晰地说明如何编辑 Kubernetes 设置的 CPU 和内存请求 (#186)
无版本号
更新 PR #184 的技能版本
无版本号
chore: 为 PR #182 回填 changelog 条目并提升技能版本 (#183) * 更新 PR #182 的 changelog 回填:PR #182 合并时没有 changelog 标签,因此 pr-merge-changelog 工作流短路,未添加任何条目。 通过运行 `.ci-scripts/changelog.py add-entry` 并传入 `find_merged_pr.py` 本应输出的条目文本复现。 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018gQyXJukB6xdZzEieUvMTu * 更新 PR #182 的技能版本 回填:同样的短路跳过了版本提升。通过 运行 `.ci-scripts/update_skill_versions.py update --sha 5b6aeb5` 复现, 使用工作流本应传入的 #182 合并提交 SHA。 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018gQyXJukB6xdZzEieUvMTu --------- Co-authored-by: Carl Sverre Co-authored-by: Claude Opus 5 (1M context)
无版本号
fix: 修复损坏的故障注入文档链接并解析重定向 (#182) * fix: 修复损坏的故障注入文档链接并解析重定向 故障注入文档已移至 /docs/product/fault_injection/。有三个 技能指向了会 404 的过时路径:antithesis-setup 和 antithesis-workload 使用了 /docs/concepts/fault_injection.md,而 antithesis-setup-k8s 使用了 /docs/environment/fault_injection.md(该路径 302 重定向到 concepts 路径,然后 404)。 同时将重定向的 agent-documentation URL 替换为其目标: docs.anthropic.com 和 docs.claude.com 的 Claude Code 页面现在指向 code.claude.com,developers.openai.com/codex 指向 learn.chatgpt.com/docs, discord.gg 指向 discord.com/invite。 有三个重定向被有意保留:snouty releases/latest/download URL 会解析为一个版本固定、带签名且令牌会过期的 资产 URL;claude.ai/install.sh 是规范的 安装程序入口点;以及 GitHub issue 模板 URL 对于未认证请求 只会重定向到登录页面。 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018gQyXJukB6xdZzEieUvMTu * fix: 将 Codex 链接指向 CLI 文档页面 评审反馈:所有四处 Codex 引用都应指向 learn.chatgpt.com/docs/codex/cli,而不是文档根目录或旧的 openai.com/index/openai-codex/ 公告页面。 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018gQyXJukB6xdZzEieUvMTu * chore: 从 lychee.toml 中移除失效的 openai.com 排除项 该排除项是在 #36 中添加的,因为 openai.com 对 GitHub Actions runner 返回 403。它唯一覆盖的 URL 是两个 openai.com/index/openai-codex/ 链接,现在已指向 learn.chatgpt.com/docs/codex/cli,因此它不再匹配任何内容。 www.npmjs.com 排除项保留;PREREQUISITES.md 仍然链接到那里。 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018gQyXJukB6xdZzEieUvMTu --------- Co-authored-by: Carl Sverre Co-authored-by: Claude Opus 5 (1M context)
无版本号
更新 PR #180 的技能版本
无版本号
更新 PR #179 的技能版本
无版本号
更新 PR #178 的技能版本
无版本号
feat: 创建 antithesis-setup-k8s 技能,以便使用 Kubernetes 环境开始使用 Antithesis (#178) * feat: 创建 antithesis-setup-k8s 技能,以便使用 Kubernetes 环境开始使用 Antithesis 此技能的目的是让被测系统在 Kubernetes 中运行,并在 Antithesis 中运行。该技能需要 helm chart 或 Kubernetes manifest,并以启动 basic_k8s_test 结束,从而让 客户在 Antithesis 中运行起来。 此技能目前不包含插桩或 SDK 断言。 * feat: 移除 k8s-onboarding-assistant,并将 antithesis-setup-k8s 提升为使用 Kubernetes 作为容器编排工具的 antithesis-setup 替代方案 移除 antithesis-k8s-onboarding-assistance 技能。它 已被 antithesis-setup-k8s 取代。 * 从 antithesis-setup-k8s 中移除可选依赖项

暂无评论

none
暂无评论...