工作流程的相關資源在工作流程叢集中會被定期清理,如果您想對工作流程的運行過程進行分析和回溯,可以通過配置持久化策略將工作流程持久化儲存到資料庫中。這樣即使工作流程被刪除或者工作流程啟動並執行Pod被刪除,您也可以查看到工作流程的日誌。本文以阿里雲RDS MySQL資料庫為例,為您介紹如何配置工作流程持久化到資料庫的策略。
配置使用RDS
建立阿里雲RDS MySQL執行個體。具體操作,請參見(廢棄,重新導向到“第一步”)快速建立RDS MySQL執行個體。
重要設定網路時,選擇的VPC和工作流程叢集所使用的VPC要保持一致,設定白名單時需放開該VPC網段。
建立資料庫和帳號。具體操作,請參見(廢棄,重新導向至“第一步”)建立資料庫和帳號。
將下方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編輯
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。