docker 和 k8s 安装xxljob

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是要钱的,不能直接创建,这里就没写.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值