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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pumba — コンテナ向けカオステスト、ネットワークエミュレーション、およびストレステストツール | Kitploit
ツール/GitHubGitHub/alexei-led/pumba
コンテナセキュリティDevSecOpsカオスエンジニアリング
GitHubalexei-led/pumba

pumba

コンテナ向けカオステスト、ネットワークエミュレーション、およびストレステストツール

リポジトリを見る
3.1k21516時間5分前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Pumba
Docker、containerd、Podman 向けのカオステストツール

GitHub Release Release Build and Test Go Report Card Codecov License

クイックスタート · ユーザーガイド · ネットワークカオス · デプロイメント · コントリビューション


Pumba は、Docker、containerd、Podman コンテナ向けのカオステストおよびネットワークエミュレーションツールです。Netflix Chaos Monkey に触発された Pumba は、カオスエンジニアリングをコンテナレベルにもたらします。コンテナの kill、stop、pause、削除、ネットワーク遅延やパケットロスの注入、コンテナリソースのストレステストが可能です。

仕組み

root@kitploit:~
graph LR
    A[Pumba CLI] -->|Docker API / containerd API / Podman compat API| B[Container Runtime]
    B -->|List & Filter| C[Target Containers]

    A -->|kill / stop / pause / rm| C

    A -->|netem / iptables| D[Helper Container / Direct Exec]
    D -->|Shares network namespace| C
    D -->|Runs tc / iptables| E[Network Chaos]

サポートされているランタイム

サポートされているプラットフォーム

Pumba は Linux コンテナ を対象としています。すべてのカオスアクションは Linux のプリミティブ(netns、cgroups v2、iptables、tc qdisc、コンテナランタイムソケット)に依存します。リリース済みバイナリ:

Windows は意図的にビルドされていません。 カオスのプリミティブ — Linux の netns/cgroup への書き込み、tc/iptables サイドカー注入、POSIX シグナル転送(containerd ランタイムが使用する SIGCONT/SIGSTOP/SIGUSR1/SIGUSR2)— には Windows 版が存在しません。Docker Desktop の WSL2 バックエンドを使っても Windows で利用する合理的なユースケースはないため、Windows バイナリは公開されていません。Windows サポートを追加する PR は受け付けられません。pumba は Linux(ネイティブ、コンテナ、または VM)で実行してください。

機能

クイックスタート

インストール

お使いのプラットフォーム向けの 最新リリース をダウンロードするか、Docker を使用してください:

root@kitploit:~
# Binary
curl -sL https://github.com/alexei-led/pumba/releases/latest/download/pumba_linux_amd64 -o pumba
chmod +x pumba

# Docker (recommended)
docker pull ghcr.io/alexei-led/pumba:latest

最初のカオス

root@kitploit:~
# Kill a random container matching "test" every 30 seconds
pumba --interval=30s --random kill "re2:^test"

# Add 3 seconds network delay to mydb for 5 minutes
pumba netem --duration 5m delay --time 3000 mydb

# Drop 10% of incoming packets to myapp for 2 minutes
pumba iptables --duration 2m loss --probability 0.1 myapp

# Stress CPU of mycontainer for 60 seconds
pumba stress --duration 60s --stressors="--cpu 4 --timeout 60s" mycontainer

containerd ランタイム

root@kitploit:~
# Kill a container by ID via containerd
pumba --runtime containerd --containerd-namespace k8s.io kill <container-id>

# Add network delay via containerd (requires tc in the container image)
pumba --runtime containerd --containerd-namespace moby \
  netem --duration 5m delay --time 3000 <container-id>

Podman ランタイム

Pumba は、Docker 互換ソケットを介して Podman と通信します。--podman-socket はオプションです。空の場合、pumba は $CONTAINER_HOST、$PODMAN_SOCK、podman machine inspect、/run/podman/podman.sock、$XDG_RUNTIME_DIR/podman/podman.sock の順に探索します。

root@kitploit:~
# Kill a container by name via Podman (rootful socket auto-detected)
sudo pumba --runtime podman kill mycontainer

# Add network delay via Podman (requires rootful socket)
sudo pumba --runtime podman netem --duration 5m delay --time 3000 mycontainer

# Stress CPU via Podman (default child-cgroup mode)
sudo pumba --runtime podman stress --duration 60s --stressors="--cpu 4 --timeout 60s" mycontainer

# Explicit socket override
pumba --runtime podman --podman-socket unix:///run/podman/podman.sock kill mycontainer

netem、iptables、stress は rootful Podman を必要とします。rootless の場合は、podman machine set --rootful(macOS)または rootful systemd ユニット(Linux)を示す明確なメッセージとともに即座に失敗します。

macOS での Podman 開発

macOS 上の Podman は Linux VM 内で実行されます。Pumba は対象コンテナと同じカーネル上で実行する必要があるため(ホスト側の /proc/<pid>/cgroup 読み取り)、pumba バイナリを podman machine VM 内で実行してください:

root@kitploit:~
# one-time setup
brew install podman
podman machine init --rootful --cpus 4 --memory 4096 --now
podman machine ssh sudo dnf install -y bats      # optional, for bats tests

# copy a linux/arm64 or linux/amd64 pumba binary into the VM
podman machine ssh sudo cp /path/to/pumba /usr/local/bin/

# run inside the VM
podman machine ssh sudo pumba --runtime podman --log-level debug ps
podman machine ssh sudo pumba --runtime podman netem --duration 10s delay --time 200 <container-id>

ヒント: tc/iptables を持たないコンテナでネットワークカオスを行うには、--tc-image を使用してサイドカーを起動してください:

root@kitploit:~
pumba --runtime containerd netem --tc-image ghcr.io/alexei-led/pumba-alpine-nettools:latest \
  --duration 5m delay --time 3000 <container-id>

Docker で実行

root@kitploit:~
docker run -it --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  ghcr.io/alexei-led/pumba --interval=10s --random kill "re2:^test"

Docker イメージ

レジストリイメージステータス
GitHub Container Registryghcr.io/alexei-led/pumba✅ プライマリ
Docker Hubalexeiled/pumba⚠️ 非推奨

イメージは linux/amd64 と linux/arm64 向けにネイティブビルドされています(QEMU 不使用)。

ドキュメント

デモ

asciicast

コミュニティとサポート

  • Issues: GitHub Issues
  • ブログ: Pumba - Chaos Testing for Docker

ライセンス

Apache License 2.0

ツールをダウンロード
ランタイムソケット(デフォルト)netem / iptables / stress備考
Docker/var/run/docker.sockroot またはソケットアクセスで動作デフォルトのランタイム。
containerd/run/containerd/containerd.sockroot が必要(サイドカーの overlayfs マウント)名前空間: k8s.io(Kubernetes)、moby(Docker 管理)、default(純粋な containerd)。
Podman/run/podman/podman.sock(rootful)rootful Podman が必要(それ以外は即エラー終了)Podman の Docker 互換 API を使用。macOS では pumba は podman machine 内で実行される(下記参照)。
OSamd64arm64備考
Linux✅✅プライマリターゲット。対象コンテナと同じカーネル上で pumba を実行してください。
macOS✅✅開発者向けの利便性のみ。リモートの Docker/Podman/containerd VM(例: Colima、podman machine)を操作するために使用します。
Windows❌❌サポート対象外であり、計画もありません。 下記参照。
カテゴリコマンド説明
コンテナカオスkill, stop, pause, rm, restartコンテナのライフサイクルを妨害
実行execコンテナ内でコマンドを実行
ネットワーク遅延netem delay送信トラフィックに遅延を追加
パケットロスnetem loss, iptables lossパケットをドロップ(送信および受信)
ネットワーク効果netem duplicate, corrupt, rateパケットの複製、破損、またはレート制限
ストレステストstressstress-ng による CPU、メモリ、I/O ストレス(子 cgroup または同一 cgroup への注入)
ターゲティングnames、regex(re2:)、labels、--random柔軟なコンテナ選択
スケジューリング--interval固定間隔でカオスを繰り返し実行
フラグデフォルト説明
--runtimedockerコンテナランタイム(docker、containerd、または podman)
--containerd-socket/run/containerd/containerd.sockcontainerd ソケットのパス
--containerd-namespacek8s.iocontainerd 名前空間(Kubernetes では k8s.io、Docker では moby)
--podman-socket(自動検出)Podman ソケット URI(例: unix:///run/podman/podman.sock)。空の場合は自動検出
ドキュメント説明
ユーザーガイドコンテナカオスコマンド、ターゲティング、スケジューリング、設定
ネットワークカオスnetem、iptables、高度なシナリオ、アーキテクチャ図
ストレステストstress-ng による CPU/メモリ/I/O ストレステスト
デプロイメントDocker、Kubernetes DaemonSet、OpenShift
コントリビューションソースからのビルド、テストの実行、プロジェクト構成