docker安装
准备资料:
到dockerhub拉取最新镜像:https://hub.docker.com/r/xuxueli/xxl-job-admin/tags
到github下载xxl_job库所需要的sql:https://github.com/xuxueli/xxl-job/blob/master/doc/db/tables_xxl_job.sql
docker pull xuxueli/xxl-job-admin:2.3.1
mkdir -p /data/xxl/conf /data/xxl/applogs
准备配置文件:vi /data/xxl/conf/application.properties
server.port=8080
server.servlet.context-path=/xxl-job-admin
spring.datasource.url=jdbc:mysql://10.xxx.xx.xx:3306/test_xxl_job?Unicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
运行容器
docker run -d -p 8081:8080 --name test-xxl-job --privileged=true --restart=always -v /data/xxl/conf/application.properties:/application.properties -v /data/xxl/applogs:/data/applogs xuxueli/xxl-job-admin:2.3.1
docker logs -f test-xxl-job
查看日志,出现 init xxl-job admin scheduler success 安装成功
登陆:http://ip:8080
默认账号密码:admin/123456
登陆后改密码
配个域名方便点
server {
listen 80;
server_name test-xxl.xxx.com;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
access_log /var/log/xxl.log main;
error_log /var/log/xxl.error.log;
}
k8s安装
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: xxl-job-admin
name: xxl-job-admin
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: xxl-job-admin
template:
metadata:
creationTimestamp: null
labels:
app: xxl-job-admin
spec:
containers:
- image: xuxueli/xxl-job-admin:2.3.1
imagePullPolicy: IfNotPresent
name: xxl-job-admin
volumeMounts:
- mountPath: /data/applogs
name: logdir
subPath: xxl-job-admin
- mountPath: /application.properties
name: xxl-job-admin
readOnly: true
subPath: application.properties
volumes:
- configMap:
defaultMode: 420
items:
- key: application.properties
mode: 420
path: application.properties
name: xxl-job-admin
name: xxl-job-admin
- name: logdir
nfs:
path: /default
server: 10.xxx.xxx.xxx
---
apiVersion: v1
kind: Service
metadata:
name: xxl-job-admin
namespace: default
labels:
app: xxl-job-admin
spec:
ports:
- port: 8080
protocol: TCP
name: http
selector:
app: xxl-job-admin
---
apiVersion: v1
data:
application.properties: |-
server.port=8080
server.servlet.context-path=/xxl-job-admin
spring.datasource.url=jdbc:mysql://10.xxx.xx.xx:3306/prod_xxl_job?Unicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=prodxxl
spring.datasource.password=xxxxx
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
kind: ConfigMap
metadata:
name: xxl-job-admin
namespace: default
我这里把xxl日志挂载到外部nfs了,不需要的可以不加这个,xxl镜像建议放到自己平台仓库,我这还没推上去.
腾讯云容器平台的ingress是要钱的,不能直接创建,这里就没写.