全部產品
Search
文件中心

Container Service for Kubernetes:持久化工作流程

更新時間:Dec 26, 2025

工作流程的相關資源在工作流程叢集中會被定期清理,如果您想對工作流程的運行過程進行分析和回溯,可以通過配置持久化策略將工作流程持久化儲存到資料庫中。這樣即使工作流程被刪除或者工作流程啟動並執行Pod被刪除,您也可以查看到工作流程的日誌。本文以阿里雲RDS MySQL資料庫為例,為您介紹如何配置工作流程持久化到資料庫的策略。

配置使用RDS

  1. 建立阿里雲RDS MySQL執行個體。具體操作,請參見(廢棄,重新導向到“第一步”)快速建立RDS MySQL執行個體

    重要

    設定網路時,選擇的VPC和工作流程叢集所使用的VPC要保持一致,設定白名單時需放開該VPC網段。

  2. 建立資料庫和帳號。具體操作,請參見(廢棄,重新導向至“第一步”)建立資料庫和帳號

  3. 將下方YAML模板儲存到argo-mysql-config.yaml,然後執行kubectl create -f argo-mysql-config.yaml,在工作流程叢集中建立一個名為argo-mysql-config的Secret,用於儲存資料庫的帳號和密碼。

    username和password需要分別替換為您上一步驟實際建立的資料庫帳號和密碼。
    apiVersion: v1
    stringData:
      username: database-username
      password: database-password
    kind: Secret
    metadata:
      name: argo-mysql-config
      namespace: default
    type: Opaque
  4. 編輯workflow-controller-configmap,增加持久化配置。

    說明
    • workflow-controller-configmap檔案位於以叢集ID命名的命名空間中。

    • host為RDS執行個體地址RDS MySQL執行個體的地址。

    • database為資料庫的名稱。

    • archive需要設定為true

    • archiveTTL為持久化的儲存時間,本樣本設定為30d,表示工作流程持久化到資料庫中可以儲存30天。該參數取值大小無限制。

      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

相關文檔

如果工作流程已持久化到資料庫中,即使工作流程被刪除,您也可以通過Argo CLI查看工作流程的日誌。具體資訊,請參見使用Log Service