antithesis-setup-k8s について
Kubernetes ベースのシステム向けに Antithesis のテスト環境を準備するスキルです。Kubernetes アーティファクトとイメージがあるプロジェクトを対象に、テンプレートを絞り込んだマニフェストへ変換し、分類と検証を通じて構成を整えます。
主な機能
- 01antithesis/ ディレクトリの初期化
- 02Kubernetes 生マニフェストの生成
- 03SUT 構成の分類と最小化
- 04snouty validate の実行
- 05ローカル Kubernetes での任意検証
活用シーン
- 01Helm や Kustomize テンプレートのテスト用マニフェスト化
- 02Antithesis 向け Kubernetes SUT の最小構成準備
- 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/が、Antithesis の実行に必要な k8s ベースの SUT の最小限のセットアップであること。antithesis/config/に対するsnouty validateが成功すること。- ハーネスが、
antithesis-workloadスキルでテストテンプレート、アサーション、ワークロードコードを追加または反復できる状態になっていること。 - ユーザーが実行の送信または開始を求めた場合は、
antithesis-launchスキルを使用してください。snouty launchを直接実行しないでください。
前提条件
-
ユーザーは Kubernetes アーティファクト一式を用意している必要があります。helm チャート、kustomize テンプレート、または Kubernetes マニフェストを使用できます。
- ユーザーが helm チャートを使用する場合は、その helm チャートにテンプレートとして適用できる values ファイルを提供する必要があります。標準の
values.yaml、values フィールドを含む ArgoCD Application、または values フィールドを含む FluxCD HelmRelease の形式を使用できます。 - ユーザーが helm チャートを複数持っている場合は、そのうちどのサブセット(できれば単独のアプリケーションを構成する 1 つか 2 つ)を Antithesis でテストするシステムにするか特定してください。どれを選ぶか、ユーザーに尋ねる必要がある場合もあります。テスト対象の SUT が 1 つだと推測してはいけません。
- ユーザーが helm チャートを使用する場合は、その helm チャートにテンプレートとして適用できる values ファイルを提供する必要があります。標準の
-
ユーザーは、すでにイメージを antithesis レジストリにプッシュしているか、パブリックイメージを使用している必要があります。プッシュするイメージは、テンプレート化された helm チャートの実行に必要なすべてのイメージです。手順については
references/manifests.mdを参照してください。 -
snoutyがインストールされていない場合は、作業を続行しないでください。インストール方法についてはhttps://raw.githubusercontent.com/antithesishq/snouty/refs/heads/main/README.mdを参照してください。 -
snoutyが 0.8.0 より古い場合は、作業を続行しないでください。バージョンはsnouty --versionで確認できます。更新するにはsnouty updateを使用してください。 -
このスキルでは、マニフェストを Kubernetes 環境で起動できることを検証するため、稼働中の Kubernetes クラスターにアクセスする
kubectl、kind、k3s、kappを実行します。これらのコマンドを実行する前に、ユーザーに確認してください。このスキルでは、自ら作成した 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
ワークフロー
このスキルは複数のステップに分かれており、各ステップは別々のリファレンスファイルに記載されています。プロジェクトを完全にセットアップするため、以下に記載された各リファレンスファイルを 1 つずつ読み、実装してください。各ステップを実装した後、そこで得た知見によって先行するステップの決定が無効になっていないか確認してください。無効になっている場合は、そのステップに戻ってやり直してから先へ進んでください。水平分類と垂直分類では、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:SUT が機能することを確認するため、ローカルの k3s クラスターに Kubernetes マニフェストをデプロイしますreferences/submit.md:ローカルでテストし、初回実行を送信します
このパイプラインの各ステージは、一方向の関門ではありません。いずれかのステップで、それ以前の分類判断が誤っていたことが判明した場合は、該当する前のパスに戻って再実行し、working.md を更新してください。
また、validate-local.md のステップはユーザーがスキップする場合があります。ユーザーがステップをスキップした場合は、そのステップがスキップされたことを記録し、スキルを続行してください。すべての項目が完了するまでタスクが完了したと告げて終了しないでください。
参照カタログ(上記のステップで使用)
references/landmines.md:Antithesis の Kubernetes エクスペリエンスを損なうマニフェストの種類を特定しますreferences/operator-recipes.md:オペレーターが管理するカスタムリソースをプリミティブに展開するためのレシピです。vertical-classification で使用します。
参照
SUT テスト対象システム。
snouty validate
Antithesis のスキャフォールディングへの変更をすばやく検証するには、このコマンドを使用してください。詳細は snouty validate --help を参照してください。
working file
各パスを通じて更新されていく作業ファイル(antithesis/scratchbook/k8s-minimization/working.md)
landmine 一般に最小化の対象となる、プラットフォーム層の構成要素です。既知のレシピがあります(Istio、cert-manager、external-secrets など)。