Closed11
Argo Workflow を分割していく
Argo Workflowが5000行に達してしまって、管理が出来ない状態になってしまったので、用途毎に切り分ける方法を模索する
まず現状は、 Kind: Workflow
に templates:
配下に全て記載しており、どこまでがtemplateでどこからがstepのentrypointなのかも探すのが地獄な状態
まず始めたのが、 container
を含む実行単位の template を全て kind: WorkflowTemplate
に変更
これを別ファイルにして、各ファイルを小さく定義。
次にWorkflowTemplateを別ファイルへ吐き出し。
結合は kubectl kustomize
で行う為、 kustomization.yaml
を定義する
kustomization.yaml
の記載方法だが、 WorkflowTemplate は単純に resouces
で書き並べて問題なし
次に、 dag
や steps
などの templateの呼び出しを行うものたちのまとまりを、Kustomize で patchesStrategicMerge
の定義でまとめるが、なんとうまくいかない
この問題にぶち当たる
もちろん、Argo Workflowほどの大きなアプリであれば、既に公式でCustomeResouceを定義してくれる。
これを、 kustomization.yaml
に openapi:
の定義をすることで、うまくいった。ありがとう公式
arguments
も同様の問題が解消された
ここまでやれば最小限の修正で小さくなったと思う。
このスクラップは2022/06/13にクローズされました