Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
chaos-operator — クラウドネイティブなワークロードにカオス実験を注入し、宣言的なCRDを通じて耐障害性テストとワークロードの堅牢化を自動化するKubernetesオペレーター。 | Kitploit
ツール/GitHubGitHub/litmuschaos/chaos-operator
クラウドインフラストラクチャセキュリティクラウドセキュリティDevSecOpsカオスエンジニアリング
GitHublitmuschaos/chaos-operator

chaos-operator

クラウドネイティブなワークロードにカオス実験を注入し、宣言的なCRDを通じて耐障害性テストとワークロードの堅牢化を自動化するKubernetesオペレーター。

リポジトリを見る
1571061ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Kubernetes上でカオス実験を注入するためのLitmus chaos-operator

Slack Channel GitHub Workflow Docker Pulls GitHub issues Twitter Follow Codacy Badge Go Report Card CII Best Practices FOSSA Status codecov YouTube Channel

Litmus chaos operatorは、Kubernetesアプリケーション開発者やSREが、アプリケーションやKubernetesインフラストラクチャに対して管理された方法でカオスを注入するために使用されます。その目的は、カオス実験の実行を自動化することで、Kubernetes上のアプリケーションワークロードの検証と強化のプロセスを容易にすることです。カオス注入ワークフローの例は、次のようにシンプルです:

  • Litmusインフラストラクチャコンポーネント(RBAC、CRD)、Operator、Experimentカスタムリソースバンドルをoperatorマニフェスト経由でインストールする
  • テスト対象アプリケーション(AUT)にアノテーションを付けて、カオスを有効にする
  • AUTに紐付いたChaosEngineカスタムリソースを作成し、実行する実験を記述する

Chaos Operatorが提供する利点は次のとおりです:

  • 標準化されたカオス実験スペック
  • ステートレス/ステートフル/ベンダー固有の分類されたカオスバンドル
  • テスト実行の回復力
  • アノテーションに基づいてカオスをバックグラウンドサービスとして実行する機能

カオスオペレーターとは何か、そしてどのように構築されるのか?

Chaos OperatorはKubernetes Operatorです。Kubernetes Operatorは、Kubernetes APIに直接アクセスできるカスタムコントローラーに過ぎず、特定のリソースやアプリケーションのライフサイクルを管理し、常にリソースが「望ましい状態」にあることを保証しようとします。この保証を実現するロジックは、一般に「リコンサイル」関数と呼ばれます。

Chaos Operatorは、人気のあるOperator-SDKフレームワークを使用して構築されています。このフレームワークは、新しいオペレータープロジェクト向けのブートストラップサポートを提供し、チームがビジネス/運用ロジックに集中できるようにします。

Litmus Chaos Operatorは、ChaosEngineの状態をリコンサイルするのに役立ちます。ChaosEngineは、開発者/DevOpsエンジニアが特定のステートレス/ステートフルなKubernetesデプロイメントに対して指定したカオス意図を保持するカスタムリソースです。オペレーターは、その主要リソースであるChaosEngineのCRUD操作に応じて特定のアクションを実行します。また、オペレーターはセカンダリリソース(エンジンランナーポッド)も定義します。これは、リコンサイル関数を実装するためにオペレーターによって作成・管理されます。

カオスエンジンとは何か?

ChaosEngineは、特定のアプリケーションのカオスワークフローを定義する中核となるスキーマです。現在、以下を定義しています:

  • プライマリ(AUT)および補助(依存)アプリケーションのアプリケーション情報(ネームスペース、ラベル、種類)
  • 実験の実行に使用されるServiceAccount
  • アプリケーションでのカオスアノテーションチェックをオン/オフするフラグ
  • アプリケーションで実行するカオス実験
  • 実験の属性(実験CRで指定されたデフォルトを上書きします)
  • 実験実行後にカオスリソースを保持/クリーンアップするフラグ

ChaosEngineは、セカンダリ(リコンサイル)リソースの所有者として参照され、KubernetesのdeletePropagationにより、ChaosEngine CRの削除時にこれらのリソースも削除されることが保証されます。

参考用のサンプルChaosEngineSpecはこちら: https://v1-docs.litmuschaos.io/docs/getstarted/#prepare-chaosengine

Litmusカオスチャートとは何か、どのように使えばよいか?

Litmus Chaos Chartsは、「カオス実験バンドル」をインストールするために使用され、実験の性質(一般的なKubernetesカオス、ベンダー/プロバイダー固有のカオス(OpenEBSなど)、アプリケーション固有のカオス(NuoDBなど))に基づいて分類されます。これらは、オペレーターが実験を実行するために問い合わせる低レベルのカオス(テスト)パラメーターを保持するカスタムリソースで構成されています。spec.definition._fields_と対応する_values_は、カオス実験を実行する最終的な実行アーティファクト(通常はK8sジョブリソースであるlitmusbook)を構築するために使用されます。また、実験を実行するために必要な権限も定義します。

参考用のサンプルChaosEngineSpecはこちら:

root@kitploit:~
apiVersion: litmuschaos.io/v1alpha1
description:
  message: |
    Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
  name: pod-delete
  labels:
    name: pod-delete
    app.kubernetes.io/part-of: litmus
    app.kubernetes.io/component: chaosexperiment
    app.kubernetes.io/version: latest
spec:
  definition:
    scope: Namespaced
    permissions:
      - apiGroups:
          - ""
          - "apps"
          - "batch"
          - "litmuschaos.io"
        resources:
          - "deployments"
          - "jobs"
          - "pods"
          - "configmaps"
          - "chaosengines"
          - "chaosexperiments"
          - "chaosresults"
        verbs:
          - "create"
          - "list"
          - "get"
          - "patch"
          - "update"
          - "delete"
    image: "litmuschaos/go-runner:latest"
    imagePullPolicy: Always
    args:
    - -c
    - ./experiments -name pod-delete
    command:
    - /bin/bash
    env:

    - name: TOTAL_CHAOS_DURATION
      value: '15'

    # Period to wait before/after injection of chaos in sec
    - name: RAMP_TIME
      value: ''

    - name: FORCE
      value: 'true'

    - name: CHAOS_INTERVAL
      value: '5'

    ## percentage of total pods to target
    - name: PODS_AFFECTED_PERC
      value: ''

    - name: LIB
      value: 'litmus'    

    - name: TARGET_PODS
      value: ''

    ## it defines the sequence of chaos execution for multiple target pods
    ## supported values: serial, parallel
    - name: SEQUENCE
      value: 'parallel'
    labels:
      name: pod-delete
      app.kubernetes.io/part-of: litmus
      app.kubernetes.io/component: experiment-job
      app.kubernetes.io/version: latest

どうやって始めるのか?

LitmusChaosのドキュメントlitmus docsを参照してください

どうやって貢献するのか?

問題の報告、ドキュメントの改善、コアフレームワークやツールへの貢献などを通じて貢献できます。

コントリビューションガイドをご覧ください

ライセンス

FOSSA Status

ツールをダウンロード