概述
XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
xxl-job-admin需要连接sql,所以提前准备好sql
初始化数据库
Mysql脚本: https://github.com/xuxueli/xxl-job/blob/2.3.1/doc/db/tables_xxl_job.sql
在k8s上部署xxl-job-admin
准备好yaml文件 xxl-job-admin-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: xxl-job-admin
spec:
replicas: 1
selector:
matchLabels:
app: xxl-job-admin
template:
metadata:
labels:
app: xxl-job-admin
spec:
containers:
- name: xxl-job-admin
image: xuxueli/xxl-job-admin:2.3.1
imagePullPolicy: Always # 优先使用本地镜像
ports:
- containerPort: 8080
env:
- name: PARAMS # 定义变量,用来接收sql的用户/密码 mysql为k8s集群内的service名称,在k8s集群内部可以直接使用service名称,因为集群默认做了coredns解析
value: "--spring.datasource.url=jdbc:mysql://ip:端口/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=mysql账号 --spring.datasource.password=mysql密码 --spring.mail.username=邮箱地址 --spring.mail.password=邮箱密码 --xxl.job.accessToken=tocken"
---
apiVersion: v1
kind: Service
metadata:
name: xxl-job-admin
labels:
app: xxl-job-admin
spec:
ports:
type: NodePort
ports:
- port: 8080
targetPort: 8080
nodePort: 30080
#protocol: TCP
#name: http
selector:
app: xxl-job-admin
执行yaml文件
kubectl apply -f xxl-jod-admin-deploy.yaml
访问管理后台 (30080是service暴露出来的端口)
Nodeport:30080/xxl-job-admin
admin/123456