Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Persistência de workflows

Última atualização: Jun 27, 2026

O Argo Workflows exclui periodicamente recursos relacionados a workflows dos clusters. Para manter o histórico e permitir análises e rastreamento, persista os dados do workflow em um banco de dados. Com a persistência configurada, os logs permanecem acessíveis mesmo após a exclusão dos workflows ou de seus pods. Este tópico usa o ApsaraDB RDS for MySQL como exemplo para descrever como persistir dados de workflow em um banco de dados.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Um cluster de workflows do ACK Distributed Cloud Container Platform for Kubernetes

  • Uma instância do ApsaraDB RDS for MySQL. Para mais informações, consulte Crie uma instância do ApsaraDB RDS for MySQL

  • Um banco de dados e uma conta criados na instância do ApsaraDB RDS for MySQL. Para mais informações, consulte Crie contas e bancos de dados

  • A instância do ApsaraDB RDS for MySQL na mesma virtual private cloud (VPC) do cluster de workflows

  • O bloco CIDR da VPC adicionado à lista de permissões da instância do ApsaraDB RDS for MySQL

Crie um Secret para credenciais do banco de dados

Crie um Secret chamado argo-mysql-config no cluster de workflows para armazenar o nome de usuário e a senha do banco de dados.

Execute o seguinte comando:

kubectl create secret generic argo-mysql-config \
  --namespace=default \
  --from-literal=username=<database-username> \
  --from-literal=password=<database-password>

Substitua <database-username> e <database-password> pelas credenciais da conta do banco de dados criada nos pré-requisitos.

Esse comando cria um Secret equivalente ao seguinte manifesto YAML:

apiVersion: v1
kind: Secret
metadata:
  name: argo-mysql-config   # Secret name referenced by the persistence configuration
  namespace: default
type: Opaque
stringData:
  username: <database-username>   # Replace with your database username
  password: <database-password>   # Replace with your database password

Configure definições de persistência

Adicione o bloco persistence ao ConfigMap workflow-controller-configmap.

O ConfigMap workflow-controller-configmap está armazenado no namespace que usa o ID do cluster como nome. Defina host como o endpoint da instância do ApsaraDB RDS for MySQL. Defina database como o nome do banco de dados criado nos pré-requisitos. Defina archive como true para ativar o arquivamento de workflows. archiveTTL especifica por quanto tempo os workflows arquivados são retidos. Por exemplo, 30d retém workflows por 30 dias. Os valores válidos não se limitam a um conjunto fixo.

A tabela a seguir descreve os principais parâmetros:

Parâmetro

Descrição

Valor de exemplo

connectionPool.maxIdleConns

Número máximo de conexões ociosas no pool

100

connectionPool.maxOpenConns

Número máximo de conexões abertas. 0 significa ilimitado.

0

connectionPool.connMaxLifetime

Tempo de vida máximo da conexão. 0s significa sem limite.

0s

archiveTTL

Período de retenção para workflows arquivados

30d

archive

Se o arquivamento de workflows está ativado

true

mysql.host

Endpoint do ApsaraDB RDS for MySQL

rm-xxx.mysql.cn-beijing.rds.aliyuncs.com

mysql.port

Porta do MySQL

3306

mysql.database

Nome do banco de dados

argo-workflow

mysql.tableName

Nome da tabela para dados de workflow

argo_workflows

mysql.userNameSecret.name

Nome do Secret que armazena o nome de usuário do banco de dados

argo-mysql-config

mysql.userNameSecret.key

Chave no Secret para o nome de usuário

username

mysql.passwordSecret.name

Nome do Secret que armazena a senha do banco de dados

argo-mysql-config

mysql.passwordSecret.key

Chave no Secret para a senha

password

persistence: |
    connectionPool:
      maxIdleConns: 100
      maxOpenConns: 0
      connMaxLifetime: 0s
    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

Próximos passos

Após persistir os workflows, use a CLI do Argo para visualizar logs de workflow mesmo depois que os workflows forem excluídos. Para mais informações, consulte Configure o Log Service.