赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 分布式云容器平台ACK One
  4. 操作指南
  5. 分布式工作流Argo集群
  6. 管理工作流集群
  7. 使用RDS MySQL转移大规模工作流

使用RDS MySQL转移大规模工作流

  • 管理工作流集群
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

工作流在工作流集群中被存储为Kubernetes资源,该资源大小不能超过1 MB。工作流资源中包含每个子任务的状态,该状态被存储在资源的/status/nodes字段中,当工作流的子任务很多时,资源的总大小可能超过1 MB,此时工作流的状态更新会出现异常。为解决此问题,您可以将工作流的状态信息存储在外部SQL数据库中,以突破1 MB的限制。本文介绍如何使用阿里云RDS MySQL存储工作流的状态信息以支持大规模工作流的运行。

前提条件

  • 已创建工作流

  • 已通过kubectl工具连接工作流集群

  • 已创建RDS MySQL实例

    重要

    设置网络时,RDS MySQL实例需要和已创建的工作流集群的VPC保持一致,并且在设置白名单时,放开该VPC网段。

  • 已创建数据库和账号

    数据库创建完成后,请记录数据库名称、数据库的用户名和密码(需要具有数据库的读写权限)、RDS实例地址等信息。关于如何查看RDS实例地址,请参见查看RDS实例地址。

操作步骤

  1. 使用以下内容,创建secret.yaml,用于保存数据库的用户名和密码。

    apiVersion: v1
    stringData:
      username: <database-username>  # 替换为您数据库的用户名。
      password: <database-password>  # 替换为您数据库的密码。
    kind: Secret
    metadata:
      name: argo-mysql-config
      namespace: default
    type: Opaque
  2. 执行以下命令,创建Secret。

    kubectl apply -f secret.yaml
  3. 编辑workflow-controller-configmap文件,在persistence中添加nodeStatusOffLoad: true以启用转移工作流特性。关于编辑workflow-controller-configmap文件的更多信息,请参见修改工作流集群配置。

      persistence: |
        connectionPool:
          maxIdleConns: 100
          maxOpenConns: 0
          connMaxLifetime: 0s # 0 means connections don't have a max lifetime
        archiveTTL: 30d
        nodeStatusOffLoad: true
        mysql:
          host: rm-****.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

    参数

    说明

    nodeStatusOffLoad

    需设置为true,以开启转移工作流特性。

    mysql.host

    RDS实例地址。

    mysql.database

    RDS数据库名称。

  4. 配置完成后,重启Argo Server Pod,并确认Pod运行正常。

    kubectl delete pod argo-server-xxx -n <cluster-id>
    说明

    如果重启Argo Server Pod后,Pod出现反复重启,需要检查工作流集群和数据实例的连接,是否处于同一个VPC,数据库白名单是否允许工作流集群访问。

相关文档

  • 如需查看工作流运行状态及相关计费信息,请参见创建工作流。

  • 关于转移大规模工作流的更多信息,请参见Offloading Large Workflows。

相关文章

创建工作流集群 2025-04-18 18:09

工作流集群采用无服务器模式,使用阿里云弹性容器实例ECI运行工作流,通过优化Kubernetes集群参数,实现大规模工作流的高效弹性调度,同时配合抢占式ECI实例,优化成本。本文介绍如何创建工作流集群。

开启Argo Server访问工作流集群 2025-04-18 18:09

通过开启Argo Server功能访问工作流集群,使您可通过Argo Server API自动化提交工作流,或者通过开源Argo UI管理工作流。本文介绍如何开启Argo Server访问工作流集群。 前提条件

开通Argo Server公网访问 2025-04-18 18:09

在工作流集群中需要使用Argo Workflow UI提交或访问任务时,您可以开通Argo Server公网访问,从而能更便捷地访问Argo控制台。本文介绍如何在工作流集群开通Argo Server公网访问。

通过自定义域名访问工作流集群控制台 2025-04-18 18:09

如需使用自定义域名访问工作流集群控制台,您可以将自定义域名通过CNAME记录指向工作流集群的默认域名,配置SSL证书后,通过https://${your-domain}:2746并使用云SSO账号登录。

使用RDS MySQL转移大规模工作流 2025-04-18 18:09

工作流在工作流集群中被存储为Kubernetes资源,该资源大小不能超过1 MB。工作流资源中包含每个子任务的状态,该状态被存储在资源的/status/nodes字段中,当工作流的子任务很多时,资源的总大小可能超过1 MB,此时工作流的状态更新会出现异常。为解决此问题,您可以将工作流的状态信息存储在

修改工作流集群配置 2025-04-18 18:09

本文介绍如何修改工作流集群的配置。 前提条件 已安装阿里云CLI 3.0.172或以上版本并配置凭证。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号