Pod障害 のシミュレーション
概要
このラボでは、Kubernetes環境内でPod障害をシミュレーションして、システムがどのように応答し回復するかを観察します。この実験は、Podが予期せず障害が発生した場合に、アプリケーションの回復力を逆境下でテストするように設計されています。
pod-failure.shスクリプトは、KubernetesのパワフルなカオスエンジニアリングプラットフォームであるChaos Meshを使用してPod障害をシミュレーションします。この制御された実験によって、以下が可能になります:
- Pod障害に対するシステムの即時対応を観察する
- 自動回復プロセスを監視する
- シミュレーションされた障害にもかかわらず、アプリケーションが利用可能であることを確認する
この実験は繰り返し実行可能であり、一貫した動作を確認したり、さまざまなシナリオや構成をテストしたりすることができます。これは私たちが使用するスクリプトです:
~/environment/eks-workshop/modules/observability/resiliency/scripts/pod-failure.sh
#!/bin/bash
# pod-failure.sh - Simulates pod failure using Chaos Mesh
# Generates a unique identifier for the pod failure experiment
unique_id=$(date +%s)
# Create a YAML configuration for the PodChaos resource
kubectl apply -f - <<EOF
apiVersion: chaos-mesh.org/v1alpha1
kind: PodChaos
metadata:
name: pod-failure-$unique_id
namespace: ui
spec:
action: pod-kill
mode: one
selector:
namespaces:
- ui
labelSelectors:
"app.kubernetes.io/name": "ui"
duration: "60s"
EOF
# Apply the PodChaos configuration to simulate the failure
#kubectl apply -f pod-failure.yaml