[[2021-06-17_Thu]] #argo #litmus #sockshop
[[Argo Workflow ループ]]を使って、次のように記述する。
```shell-session
- name: argowf-chaos-pod-cpu-hog
steps:
- - name: run-chaos-pod-cpu-hog
template: run-chaos-pod-cpu-hog
arguments:
parameters:
- name: appLabel
value: "{{item}}"
withItems:
- user
- user-db
- shipping
- carts
- carts-db
- orders
- orders-db
- catalogue
- catalogue-db
- payment
- front-end
```
しかし、このままだと各itemを並列実行してしまう。
[Field Reference - Argo Workflows - The workflow engine for Kubernetes](https://argoproj.github.io/argo-workflows/fields/) によると、workflow.specに parallelism を指定して、並列実行するpod数を指定できる。
parallelismを1に指定することで逐次実行できる。
```shell-session
$ argo submit --watch experiments/argowf.yaml
...
Name: argowf-chaos-g5nbh
Namespace: sock-shop
ServiceAccount: argo-chaos
Status: Running
Conditions:
PodRunning True
Created: Thu Jun 17 17:13:29 +0900 (30 seconds ago)
Started: Thu Jun 17 17:13:29 +0900 (30 seconds ago)
Duration: 30 seconds
Progress: 0/1
Parameters:
appNamespace: sock-shop
adminModeNamespace: litmus
chaosServiceAccount: sock-shop-chaos-engine
STEP TEMPLATE PODNAME DURATION MESSAGE
● argowf-chaos-g5nbh argowf-chaos-pod-cpu-hog
└───● run-chaos-pod-cpu-hog(0:user) run-chaos-pod-cpu-hog argowf-chaos-g5nbh-361683437 30s
```