k8s 安装xxl-job
需求
使用k8s部署xxl-job,xxl-job的数据主要保存在mysql中,因此xxl-job运行时不需要考虑持久化问题。
这里使用2.4.1版本
导入mysql数据
github地址:https://github.com/xuxueli/xxl-job/releases
找到2.4.1版本,下载压缩包,得到xx-job-2.4.1.zip
解压文件,找到文件xxl-job-2.4.1\doc\db\tables_xxl_job.sql
tables_xxl_job.sql,就是xx-job的初始化sql
使用客户端工具DBeaver连接到mysql,创建数据库xxl_job
CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_unicode_ci;
新建数据库用户nacos_all并授权
CREATE USER 'xxl_job_all'@'%' IDENTIFIED BY 'abcd@1234';
GRANT ALL PRIVILEGES ON nacos . * TO 'xxl_job_all'@'%';
FLUSH PRIVILEGES;
切换到数据库xxl_job,执行sql文件tables_xxl_job.sql,执行完成后,会得到相应的数据表。
编写yaml
xxl-job-admin.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | apiVersion: v1 kind: ConfigMap apiVersion: v1 metadata: name: xxl-job-config namespace: middleware data: PARAMS: >- --spring.datasource.url=jdbc:mysql: //192 .168.20.131:3306 /xxl_job ?useUnicode= true &characterEncoding=UTF-8&autoReconnect= true &serverTimezone=Asia /Shanghai --spring.datasource.username=xxl_job_all --spring.datasource.password=abcd@1234 --xxl.job.accessToken=22d697201b8953eabf5f8d901f30a037 --server.servlet.context-path= /xxl-job-admin --- kind: Deployment apiVersion: apps /v1 metadata: name: xxl-job-admin namespace: middleware labels: app: xxl-job-admin spec: replicas: 1 selector: matchLabels: app: xxl-job-admin template: metadata: creationTimestamp: null labels: app: xxl-job-admin spec: containers: - name: xxl-job-admin image: xuxueli /xxl-job-admin :2.4.1 ports: - containerPort: 8080 protocol: TCP env : - name: TZ value: Asia /Shanghai - name: PARAMS valueFrom: configMapKeyRef: name: xxl-job-config key: PARAMS resources: limits: cpu: '1' memory: 2Gi requests: cpu: 500m memory: 512Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File imagePullPolicy: Always --- apiVersion: v1 kind: Service metadata: name: xxl-job-admin-svc namespace: middleware labels: app: xxl-job-admin-svc spec: ports: - name: xxl-job-admin port: 8080 protocol: TCP targetPort: 8080 selector: app: xxl-job-admin type : NodePort |
注意修改命名空间,数据库 用户名密码。
注意:xxl.job.accessToken不能为default_token,否则会出现xxl-job默认密钥漏洞
创建命名空间
kubectl create namespace middleware
部署应用
kubectl apply -f xxl-job-admin.yaml
等待几分钟,确保pod是Running状态
访问
访问xxl-job页面,这里使用的nodeport方式暴露端口
http://172.16.0.13:30124/xxl-job-admin
默认
用户名:admin
密码:123456
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix