Argo Workflows@ワークフロー¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. Argo Workflowsの仕組み¶
アーキテクチャ¶
ワークフローエンジンである。
workflow-controller、DB、から構成される。
Argo Workflows Archive¶
ワークフローの処理の状況を保管する。
RDBMS として、PostgreSQL と MySQL を使用できる。
phase カラムや progress カラムを永続化できる。
type archivedWorkflowMetadata struct {
ClusterName string `db:"clustername"`
InstanceID string `db:"instanceid"`
UID string `db:"uid"`
Name string `db:"name"`
Namespace string `db:"namespace"`
Phase wfv1.WorkflowPhase `db:"phase"`
StartedAt time.Time `db:"startedat"`
FinishedAt time.Time `db:"finishedat"`
Labels string `db:"labels,omitempty"`
Annotations string `db:"annotations,omitempty"`
Progress string `db:"progress,omitempty"`
}
02. workflow-controller¶
workflow-controllerとは¶
特に ArgoCD Workflow の Custom Controller として、ArgoCD Workflow のマニフェストを作成/変更する。
application-controller を分離されている理由は、ArgoCD Workflow のマニフェストは ArgoCD のデプロイ先 Cluster に作成するためである。
なお、フロントエンド部分として argocd-server が必要である。

03. ユースケース¶
CIパイプライン¶
Argo Workflows 上でコンテナをビルドし、イメージレジストリにプッシュする。