关于 antithesis-setup-k8s
用于为 Kubernetes 系统搭建 Antithesis 测试框架的技能,面向已有 Kubernetes 制品和镜像的项目。它将模板整理为精简的原始清单,并通过分类和验证流程完善配置。
主要功能
- 01初始化 antithesis/ 目录
- 02生成 Kubernetes 原始清单
- 03分类并精简被测系统配置
- 04运行 snouty validate
- 05可在本地 Kubernetes 环境验证
适用场景
- 01将 Helm 或 Kustomize 模板转为测试清单
- 02为 Antithesis 准备最小化的 Kubernetes 被测系统
- 03检查清单并验证本地部署
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ antithesishq/ antithesis-skills --skill antithesis-setup-k8s安装后在 Claude Code 中输入/antithesis-setup-k8s确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/apply-findings.mddirectory-init.mdhorizontal-classification.mdlandmines.mdmanifests.mdoperator-recipes.mdsubmit.mdvalidate-local.mdvalidate-snouty.mdvertical-classification.md详细介绍
Antithesis K8s 设置
技能版本: 2026-10-21 4f8d80b
目的和目标
搭建 antithesis/ 测试框架,使系统能够在 Antithesis 中启动并处于基本空闲、就绪状态。
成功标准:
- 部署定义位于
antithesis/config/manifests/,并引用所需的 SUT 镜像。这里仅使用原始 Kubernetes 清单(不使用 helm 或 kustomize) antithesis/config/manifests/是基于 k8s 的 SUT 的精简配置,也是 Antithesis 运行所必需的配置antithesis/config/上的snouty validate执行成功- 测试框架已准备就绪,可供
antithesis-workload技能添加或迭代测试模板、断言和工作负载代码 - 如果用户要求提交或启动运行,请使用
antithesis-launch技能,不要直接运行snouty launch
前置条件
-
用户必须拥有一组 Kubernetes 工件,可以是 helm chart、kustomize 模板或 Kubernetes 清单。
- 如果用户有 helm chart,必须提供一个可填入该 helm chart 的 values 文件。文件可以是标准的
values.yaml、带有 values 字段的 ArgoCD Application,或带有 values 字段的 FluxCD HelmRelease。 - 如果用户有一组 helm charts,请确定其中哪些(理想情况下为一个或几个,可组成一个独立应用)将作为 Antithesis 中的被测系统。可能需要询问用户想选哪一个。不要自行推断唯一的目标 SUT。
- 如果用户有 helm chart,必须提供一个可填入该 helm chart 的 values 文件。文件可以是标准的
-
用户必须已将镜像推送到 antithesis registry,或使用公共镜像。需要推送的镜像包括运行模板化 helm chart 所需的全部镜像。相关说明见
references/manifests.md。 -
如果未安装
snouty,请勿继续。安装选项见https://raw.githubusercontent.com/antithesishq/snouty/refs/heads/main/README.md。 -
如果
snouty版本低于 0.8.0,请勿继续。使用snouty --version查看版本,并使用snouty update更新。 -
此技能会运行
kubectl、kind、k3s、kapp,以操作活动的 Kubernetes 集群并验证清单能否在 Kubernetes 环境中启动。运行这些命令前请先询问用户。此技能只能操作自己创建的 Kubernetes 资源,并且必须在退出前清理所创建的所有资源。 -
此技能可能需要运行
helm或kustomize命令来生成清单。
文档依据
使用 antithesis-documentation 技能访问以下页面。优先使用 snouty docs。
- Kubernetes 设置指南:
https://antithesis.com/docs/getting_started/setup_guide/setup_k8s.md - Kubernetes 最佳实践:
https://antithesis.com/docs/best_practices/k8s_best_practices.md - 处理外部依赖:
https://antithesis.com/docs/reference/dependencies.md - 故障注入:
https://antithesis.com/docs/product/fault_injection.md
工作流程
此技能分为多个步骤,每个步骤对应一个不同的参考文件。请按顺序逐一阅读并执行以下各参考文件,完成项目设置。每完成一个步骤,都要检查新获得的信息是否会推翻前面步骤中的任何决定;如果会,请返回相应步骤重新执行,然后再继续。水平分类和垂直分类要求有一个可在 apply-findings 阶段应用于清单的工作文件。请保留这些发现,以便在 Antithesis 中使用此设置时分析发生了哪些变化。
开始运行此技能时,询问用户是要从头开始,还是继续之前的迭代。
流程(按顺序运行;如果后续步骤与之前的步骤相矛盾,请重新执行较早的步骤)
references/directory-init.md:初始化antithesis/目录。该目录将包含一组在 Antithesis 中运行的 Kubernetes 清单references/manifests.md:将客户的 Kubernetes 模板生成的原始 Kubernetes 清单整理到antithesis/config/manifests/references/horizontal-classification.md:尝试确定系统中哪些部分是测试所必需的references/vertical-classification.md:移除无法提升 Antithesis Kubernetes 体验的清单references/apply-findings.md:将分类步骤得出的结果应用到清单,以简化设置references/validate-snouty.md:对清单运行snouty validate并执行静态分析references/validate-local.md:将 Kubernetes 清单部署到本地 k3s 集群,以确保 SUT 正常运行references/submit.md:在本地测试并提交首次运行
流程的这些阶段并非单向关卡。如果任何阶段发现较早的分类判断有误,请返回并重新执行受影响的较早步骤,同时更新 working.md。
此外,用户可以跳过 validate-local.md 步骤。如果用户跳过某个步骤,请务必记录该步骤已跳过,并继续执行此技能。只有完成所有部分后,才能结束并说明任务已完成,不要提前退出。
参考目录(来自上述步骤)
references/landmines.md:指出会损害 Antithesis Kubernetes 体验的清单类型references/operator-recipes.md:提供将 Operator 管理的自定义资源展开为基础资源的操作方法——在垂直分类期间使用
参考
SUT 被测系统。
snouty validate
使用此命令快速验证对 Antithesis 脚手架的更改。详情请参阅 snouty validate --help。
工作文件
贯穿各轮、不断扩展的产物(antithesis/scratchbook/k8s-minimization/working.md)
地雷 一种平台层构造,通常会被最小化处理,并有已知的处理方法(Istio、cert-manager、external-secrets 等)