AI智能摘要
青萍AI
这里是青萍AI,这篇文章介绍了如何在阿里云ACS(Serverless Kubernetes)上部署XXL-JOB分布式任务调度平台。作者详细列出了部署前的准备工作,包括开通ACS服务、准备MySQL数据库等,并分步骤讲解了初始化数据库、创建部署文件、配置负载均衡等关键操作。文章特别适合需要在生产环境部署XXL-JOB的开发者参考,提供了从基础配置到可选域名解析的完整指南。
type
status
date
slug
summary
category
tags
create_time
Jul 6, 2025 08:04 AM
icon
password
my_create_time
📝 前言
在之前几期,我们分别介绍了关于 XXL-JOB 的以下内容:
- 基本概念介绍:《定时任务之 XXL-JOB 入门介绍》
- 开发/测试环境快速部署:《使用 Docker 快速部署 XXL-JOB(实战一)》
- 使用Python执行任务:《使用 Python 执行 XXL-JOB 定时任务(实战二)》
这期我们再来介绍一下如何在生产环境阿里云ACS(Kubernetes)中部署XXL-JOB并将我们的执行器任务也部署上去,篇幅有点长不想拆分了,感兴趣的还请耐心看完~
🧭 背景介绍
XXL-JOB 是一款开源的轻量级分布式任务调度平台,支持多语言执行器、任务失败重试、任务日志可视化等功能。对于需要统一定时任务管理,或微服务架构中调度拆分的场景,非常适合。
阿里云容器服务 Serverless Kubernetes(ACS)是无需管理服务器资源包括集群控制面的全托管 K8s 平台,非常适合部署轻量服务与事件驱动任务。
📋 前提条件
开始部署前,请确保你已完成以下准备:
- 已开通阿里云 Serverless 容器服务 ACS
- 已创建 ACS 集群,并开启 公网 API 访问
- 已准备好 MySQL 数据库(RDS 或 ACS 内自行部署)
- 已配置
kubectl
并能访问该集群
- 拥有一个可使用的 域名
🚀 部署步骤
1️⃣ 初始化 MySQL 数据库
XXL-JOB Admin 需要持久化任务元数据到数据库中。
使用阿里云 RDS(推荐)
快速创建数据库
PS:另外也可以直接在ACS集群中部署MySQL,但不建议这么做,生产环境数据库尽量使用云服务或虚拟机/物理机部署。
2️⃣ 创建 XXL-JOB Admin 部署文件
如果想要将 xxl-job 部署到ACS集群,我们还需要创建一个k8s的manifest yaml部署文件:
执行部署:
PS:这里需要提前配置好 kubectl 的 kubeconfig,确保能正常使用 kubectl 访问集群。
配置教程参看官方文档:《获取集群kubeconfig并通过kubectl工具连接集群》
3️⃣ 部署执行器和任务程序
修改配置文件,这里以上一期的Python Demo为例,由于生产环境与本地环境不一样,我们需要修改
ExecutorConfig
的连接配置,改为以下内容:创建 Dockerfile 文件,并构建为镜像。
PS:如何构建和上传镜像,限于篇幅这里就不过多介绍了。
创建部署文件
xxl-job-python-demo.yaml
:执行部署:
4️⃣ 创建 ALB 负载均衡(首次)
首次创建 ACS 集群时,如果我们需要将自己的服务暴露在公网,可以借助 ALB 负载均衡器,这里官方要求实例至少是
标准版
。可自行到控制台应用型负载均衡 ALB 完成创建,实例网络类型选择
公网
,另外不要勾选加入共享带宽
。
PS:也可以通过ALB Controller自动创建。
5️⃣ 配置集群 ALB Controller(首次)
我们需要将ALB Controller关联ALB负载均衡器,然后通过ingress对公网暴露服务。
在创建集群时,勾选上安装 ALB Ingress:

待集群部署完成后,我们再来配置 ALB Controller,创建以下配置:
这里我们没有开启监听443,是因为开启后 ALB Controller 会完全接管ALB负载的监听,很难做到将流量再转发到集群外部,比如我自己的ECS。
执行部署:
6️⃣ 创建 ALB Ingress 访问配置(可选)
如果想要将 XXL-JOB 对公网暴露,我们在配置完 ALB Controller 之后还需要再创建一个Ingress资源:
执行部署:
7️⃣ 配置 ALB 监听和域名解析(可选)
在创建完 Ingress 之后,我们回到ALB负载均衡,可以看到已经自动创建出了一个80的监听,如下:

由于之前只监听了80,这里也是自动创建了80监听配置并通过80端口访问,如果需要443,我们需要将其手动配置到 https 的监听。
进入ALB实例 → 监听,若没有找到443,可自己创建并配置证书。
再点击转发规则 → 插入新的规则 → 转发条件:域名 → 转发动作:转发至 → 服务器类型 → 选择自动创建出来的服务。

最后到域名解析中配置该域名的解析地址为ALB 实例的
DNS名称
即可。✅ 总结
通过本指南,你已经完成在阿里云 Serverless 容器服务(ACS)上部署 XXL-JOB 的全过程。相比传统 VM 或 ACK 集群,ACS 无需运维节点,资源按量计费,更适合任务调度场景。
最后由于我们的产品 nCalendar 需要动态创建 XXL-JOB 任务,不可能每次都到控制台来创建,在下一期我们再分享一个动态创建任务的案例~
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/deploy-xxljob-on-aliyun-acs
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。