すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:ワークフローの永続化

最終更新日:Dec 28, 2024

ワークフローの状態などのワークフロー関連のリソースは定期的に削除されます。ワークフローの履歴を分析および追跡するために、永続化ポリシーを設定してワークロードをデータベースに永続化できます。このようにして、ワークフローまたはワークフローのポッドが削除された後でも、ワークフローログを表示できます。このトピックでは、ApsaraDB RDS for MySQL を例として、永続化ポリシーを設定してワークフローをデータベースに永続化する方法について説明します。

ステップ 1: ApsaraDB RDS for MySQL インスタンスを作成し、データベースを作成する

ApsaraDB RDS for MySQL インスタンスを作成し、インスタンス上にデータベースを作成し、データベースアカウントを設定する必要があります。ApsaraDB RDS for MySQL インスタンスとクラスターが同じ VPC に存在することを確認し、VPC の CIDR ブロックとの間のアクセスを許可するように IP ホワイトリストを設定します。詳細については、ステップ 1: ApsaraDB RDS for MySQL インスタンスを作成し、データベースを構成する を参照してください。

構成が完了したら、データベースアカウントのユーザー名とパスワードを記録します。

説明

ApsaraDB RDS for MySQL の課金については、課金対象項目 を参照してください。

ステップ 2: 永続化設定を追加する

Argo Workflows ConfigMap に永続化設定を追加して、ワークフローをデータベースに永続化できます。デフォルトでは、永続化設定を有効にするために、Argo Workflow コントローラーと Argo Server を手動で再起動する必要があります。

  1. データベースアカウントのユーザー名とパスワードを格納するために使用される、argo-mysql-config という名前の Secret を argo 名前空間に作成します。

    apiVersion: v1
    stringData:
      username: database-username # 実際のユーザー名に置き換えます。
      password: database-password # 実際のパスワードに置き換えます。
    kind: Secret
    metadata:
      name: argo-mysql-config
      namespace: argo
    type: Opaque
  2. argo 名前空間の workflow-controller-configmap を変更します。data フィールドに永続化設定を追加します。

    data:  
      persistence: |
        connectionPool:
          maxIdleConns: 100
          maxOpenConns: 0
          connMaxLifetime: 0s     # 0 は接続に最大有効期間がないことを意味します。
        archiveTTL: 30d
        archive: true
        mysql:
          host: rm-xxx.mysql.cn-beijing.rds.aliyuncs.com
          port: 3306
          database: argo-workflow
          tableName: argo_workflows
          userNameSecret:
            name: argo-mysql-config
            key: username
          passwordSecret:
            name: argo-mysql-config
            key: password

    パラメーター

    説明

    host

    ApsaraDB RDS for MySQL インスタンスのエンドポイント。

    database

    データベースの名前。

    archive

    ワークフローの永続化を有効にするには、値を true に設定します。

    archiveTTL

    保存期間。上限はありません。この例では、パラメーターは 30d に設定されています。これは、ワークフローがデータベースに 30 日間永続化されることを意味します。

  3. 永続化設定を有効にするために、Argo Workflows コントローラーと Argo Server を再起動します。