[[Litmus Injection pod-network-loss]] の仕組み。
1. [Pod Network Loss Experiment Details · Litmus Docs](https://docs.litmuschaos.io/docs/pod-network-loss/)
- LIB_IMAGEは [go-runner](https://github.com/litmuschaos/litmus-go)
- TC_IMAGE [gaiadocker/iproute2](https://hub.docker.com/r/gaiadocker/iproute2)
- tcを使っていることはわかる
2. go-runner コンテナが pod-network-loss experimentを実行
- [litmus-go/experiments/generic/pod-network-loss at master · litmuschaos/litmus-go · GitHub](https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/pod-network-loss)
- [litmus-go/pod-network-loss.go at f3997aa2dd0de8a76dfc25c1ef9b485cdf484f35 · litmuschaos/litmus-go · GitHub](https://github.com/litmuschaos/litmus-go/blob/f3997aa2dd0de8a76dfc25c1ef9b485cdf484f35/experiments/generic/pod-network-loss/experiment/pod-network-loss.go#L115)
- [litmus-go/loss.go at f3997aa2dd0de8a76dfc25c1ef9b485cdf484f35 · litmuschaos/litmus-go · GitHub](https://github.com/litmuschaos/litmus-go/blob/f3997aa2dd0de8a76dfc25c1ef9b485cdf484f35/chaoslib/litmus/network-chaos/lib/loss/loss.go#L13)
- [litmus-go/network-chaos.go at f3997aa2dd0de8a76dfc25c1ef9b485cdf484f35 · litmuschaos/litmus-go · GitHub](https://github.com/litmuschaos/litmus-go/blob/f3997aa2dd0de8a76dfc25c1ef9b485cdf484f35/chaoslib/litmus/network-chaos/lib/network-chaos.go#L22)
- LIBImage で`./helpers -name network-chaos` コマンドを実行 [litmus-go/network-chaos.go at f3997aa2dd0de8a76dfc25c1ef9b485cdf484f35 · litmuschaos/litmus-go · GitHub](https://github.com/litmuschaos/litmus-go/blob/f3997aa2dd0de8a76dfc25c1ef9b485cdf484f35/chaoslib/litmus/network-chaos/lib/network-chaos.go#L241)
3. helper network-chaosの実行
- [litmus-go/helper.go at 2fc42665611ed4c54054686013d80bb1251b7782 · litmuschaos/litmus-go · GitHub](https://github.com/litmuschaos/litmus-go/blob/2fc42665611ed4c54054686013d80bb1251b7782/bin/helper/helper.go#L59)
4. inject chaos
- [litmus-go/netem.go at 2fc42665611ed4c54054686013d80bb1251b7782 · litmuschaos/litmus-go · GitHub](https://github.com/litmuschaos/litmus-go/blob/2fc42665611ed4c54054686013d80bb1251b7782/chaoslib/litmus/network-chaos/helper/netem.go#L154)
- nsenter で対象のnsに入って、tc qdisc replace dev 'eth0' root netem ... を実行
- go-runnerが動作するコンテナは、どのノードでもよいのだろうか。
- litmus chaosengineリソースのspecでnodeSelectorをターゲットpodが存在しないnodeに指定しても、go-runnerはターゲットpodのnodeで実行される。
- [[Litmusのchaos injectionをk8sノードでみる]]