工作流的相關資源在工作流集群中會被定期清理,如果您想對工作流的運行過程進行分析和回溯,可以通過配置持久化策略將工作流持久化存儲到數據庫中。這樣即使工作流被刪除或者工作流運行的Pod被刪除,您也可以查看到工作流的日志。本文以阿里云RDS MySQL數據庫為例,為您介紹如何配置工作流持久化到數據庫的策略。
配置使用RDS
創建阿里云RDS MySQL實例。具體操作,請參見快速創建RDS MySQL實例。
重要設置網絡時,選擇的VPC和工作流集群所使用的VPC要保持一致,設置白名單時需放開該VPC網段。
創建數據庫和賬號。具體操作,請參見創建數據庫和賬號。
執行以下命令在工作流集群中創建一個名為
argo-mysql-config
的Secret,用于保存數據庫的賬號和密碼。kubectl create secret generic
Screct內容如下:
說明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查看工作流的日志。具體信息,請參見使用日志服務。
文檔內容是否對您有幫助?