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

Container Service for Kubernetes:ワークフローの永続性

最終更新日:Dec 25, 2024

実行ステータスなどのワークフロー関連のリソースは、定期的に削除されます。 ワークフローの履歴を分析および追跡するために、データベース内のワークロード永続化のための永続化ポリシーを構成できます。 これにより、ワークフローまたはその実行中のポッドが削除されても、ワークフローログにアクセスできるようになります。 このトピックでは、ApsaraDB RDS for MySQLデータベースを例として、永続化ポリシーを設定する方法を示します。

手順1: ApsaraDB RDS for MySQLインスタンスの設定とデータベースの作成

  1. ApsaraDB RDS for MySQLインスタンスを作成します。

  2. 前の手順で作成したインスタンスに新しいデータベースを設定し、アカウントを設定します。

  3. インスタンスの仮想プライベートクラウド (VPC) を設定します。 VPCがクラスターで使用されているVPCと一致することを確認します。

    重要

    IPホワイトリストを設定するときは、このVPCのCIDRブロックを含めます。

詳細な手順については、「手順1: RDS MySQLインスタンスの迅速な作成とデータベースの設定」をご参照ください。

設定後、後で使用するためにデータベースのユーザー名とパスワードを記録します。

説明

RDSの課金方法については、「課金可能項目」をご参照ください。

ステップ2: 永続性設定の追加

Argo Workflows ConfigMapに永続化関連のパラメーターを追加して、データベース内のワークフローデータを永続化することができます。 データベースに保存されたデータは永続的です。 デフォルトでは、ArgoコアコンポーネントはConfigMapデータベース構成の変更を自動的に検出することはできません。 設定後、Argo WorkflowコントローラーとArgo Serverを手動で再起動して変更を適用する必要があります。

  1. クラスターのargo名前空間に、argo-mysql-configという名前のシークレットを作成して、データベースのユーザー名とパスワードを保存します。

    apiVersion: v1
    stringData:
      username: database-username # Replace with your RDS database account.
      password: database-password # Replace with your RDS 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 means connections don't have a max lifetime.
        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

    次の表に、設定ファイルで使用される主要なパラメーターを示します。

    パラメーター

    説明

    ホスト

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

    データベース

    前の手順でApsaraDB RDS for MySQLインスタンスに作成したデータベースの名前。

    アーカイブ

    ワークフローの永続性を有効にするかどうかを指定します。このパラメーターをtrueに設定します。

    archiveTTL

    ワークフローの保持期間を指定します。 最大値はありません。 この例では、パラメーターは30dに設定されています。つまり、ワークフローは30日間データベースに保持されます。

  3. Argo WorkflowコントローラーとArgo Serverの両方を再起動して変更を適用します。