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上でコンテナをビルドし、イメージレジストリにプッシュする。