#litmus [[Litmus 2.0 Betaインストール]] の次に、ワークフローを作成してみる。 [How to create the workflow | Litmus Docs](https://litmusdocs-beta.netlify.app/docs/d0-create) 1. Target Agentの選択 - Internal Cluster - External Clusters 2. Workflowの選択 - Predefined Workflow - Custom Workflow カスタムワークフローを使用している場合は、実験を選択し、同じものをカスタマイズするオプションが与えられます。このセクションでは、カスタム・ワークフロー・マニフェストをアップロードしたり、MyHub の実験を使用して新しいワークフローを構築する場合、以下の手順で行います。ハブを選択し、実験を選択し、ワークフローがスケジュールされるべきネームスペースを指定して、ワークフローを作成します。また、新しい環境変数を追加して実験用のカオスエンジンを調整し、「実験の追加」をクリックします。さらに実験を追加することができ、選択した実験をドラッグすることでシーケンスを変更することができます。実験が完了したら、「実験の追加を終了」をクリックすると、追加したすべての変更を含むカスタム ワークフロー マニフェストが生成されます。 3. Workflowのチューン 4. Reliability Score ワークフローのスケジュールから、Agentの選択画面がでてくるのだけど、どのAgentも選択できない状態になっている。 ![[Pasted image 20210611165513.png|300]] 接続されているAgentのリストはこんな感じ。 ![[Pasted image 20210611165624.png|300]] Pendingなのがだめなのか? litmusのpodの様子を眺めてると、subscriberだけRESTARTSがやけに多い。 ```shell-session $ kubectl get pods -n litmus 21:11:59 NAME READY STATUS RESTARTS AGE argo-server-58cb64db7f-b8lcl 1/1 Running 0 28h chaos-exporter-547b59d887-x52tw 1/1 Running 0 28h chaos-operator-ce-84ddc8f5d7-h762n 1/1 Running 0 28h event-tracker-5bc478cbd7-hbl4c 1/1 Running 0 28h litmuschaos-litmus-2-0-0-beta-frontend-6bdfcbf949-q6fr4 1/1 Running 0 47h litmuschaos-litmus-2-0-0-beta-mongo-0 1/1 Running 0 47h litmuschaos-litmus-2-0-0-beta-server-656b758975-vvqwk 2/2 Running 1 47h subscriber-958948965-9hhzm 1/1 Running 285 28h workflow-controller-78fc7b6c6-9fd2f 1/1 Running 0 28h ``` podのログをみてみると、servieaccountまわりでエラーがでている。litmus saがlitmus namespace内のpodsにアクセスできないというエラー。 ```shell-session $ kubectl logs -n litmus -f subscriber-958948965-9hhzm 21:12:35 2021/06/11 12:12:01 Go Version: go1.14.15 2021/06/11 12:12:01 Go OS/Arch: linux/amd64 time="2021-06-11T12:12:01Z" level=error msg="failed to get deployment pods app=chaos-exporter , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:01Z" level=error msg="failed to get deployment pods name=chaos-operator , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:01Z" level=error msg="failed to get deployment pods app=argo-server , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:01Z" level=error msg="failed to get deployment pods app=event-tracker , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:01Z" level=error msg="failed to get deployment pods app=workflow-controller , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:31Z" level=error msg="failed to get deployment pods app=chaos-exporter , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:31Z" level=error msg="failed to get deployment pods name=chaos-operator , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:31Z" level=error msg="failed to get deployment pods app=argo-server , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:31Z" level=error msg="failed to get deployment pods app=event-tracker , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" time="2021-06-11T12:12:31Z" level=error msg="failed to get deployment pods app=workflow-controller , err : pods is forbidden: User \"system:serviceaccount:litmus:litmus\" cannot list resource \"pods\" in API group \"\" in the namespace \"litmus\"" ``` ```shell-session $ kubectl get sa -n litmus NAME SECRETS AGE argo 1 3d18h argo-chaos 1 3d18h argo-server 1 3d18h default 1 4d17h event-tracker-sa 1 3d18h litmus 1 3d18h litmus-admin 1 3d18h litmus-cluster-scope 1 3d18h litmus-server-account 1 4d13h ``` `litmusctl agent connect`のステップで "Subscriber already present. Please enter a different namespace" といわれる。 - ValidNS [litmusctl/namespace.go at bcf17917056679c06d56ba7c4a835082614a6e57 · litmuschaos/litmusctl](https://github.com/litmuschaos/litmusctl/blob/bcf17917056679c06d56ba7c4a835082614a6e57/pkg/common/k8s/namespace.go#L55) - [litmusctl/agent.go at bcf17917056679c06d56ba7c4a835082614a6e57 · litmuschaos/litmusctl](https://github.com/litmuschaos/litmusctl/blob/bcf17917056679c06d56ba7c4a835082614a6e57/pkg/common/chaos/agent.go#L65) subscriberを削除したら通らないかと思ったけど、Replicasetによりpodが再起動してしまう。 レプリカ数をゼロにして、停止させる。[[KubernetesのReplicasetの停止]] ```shell-session $ kubectl scale -n litmus deploy subscriber --replicas=0 deployment.apps/subscriber scaled ``` 再度`litmusctl agent connect` すると、途中で長い待ち時間が入る。 litmusctlがWatchPodを実行しているため。 [litmusctl/register.go at bcf17917056679c06d56ba7c4a835082614a6e57 · litmuschaos/litmusctl](https://github.com/litmuschaos/litmusctl/blob/bcf17917056679c06d56ba7c4a835082614a6e57/pkg/common/chaos/register.go#L60) そのため、再度podを復活させると、抜けるはず。 ```shell-session $ kubectl scale -n litmus deploy subscriber --replicas=1 deployment.apps/subscriber scaled ``` ここまできて、全てのpodが起動した。 しかし、ワークフローの作成時にagentの候補がでてこない。 ```shell-session $ kubectl logs -n litmus -f deploy/litmuschaos-litmus-2-0-0-beta-server -c graphql-server 2021/06/14 05:24:43 Error unmarshalling the result in project struct: mongo: no documents in result ``` 2.0 を使うのをやめるのもいいかも。 ## Uninstallation https://litmusdocs-beta.netlify.app/docs/next/agent-uninstall https://litmusdocs-beta.netlify.app/docs/next/litmus-uninstall