k8s部署xxl-job-admin

一. 2.1.2

1.1 下载源码

地址 https://gitee.com/xuxueli0323/xxl-job/tree/2.1.2

1.2 创建数据库

在这里插入图片描述
查看sql https://gitee.com/xuxueli0323/xxl-job/blob/v2.2.0/doc/db/tables_xxl_job.sql#

1.3 如果本地跑的话,修改数据库连接和邮箱地址

在这里插入图片描述

1.4 编写k8s yaml文件

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: xxl-job-admin
spec:
  template:
    metadata:
      labels:
        app: xxl-job-admin
    spec:
      containers:
      - name: xxl-job-admin
        image: registry.cn-shanghai.aliyuncs.com/wanfei/xxl-job-admin:2.1.2
        ports:
        - containerPort: 8080
        env:
        - name: PARAMS
          value: "--spring.datasource.url=jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=root --spring.datasource.password=root --spring.mail.username=xxxxxx@qq.com --spring.mail.password=xxxxxx"
---
apiVersion: v1
kind: Service
metadata:
  name: xxl-job-admin
  labels:
    app: xxl-job-admin
spec:
  ports:
  - port: 8080
    protocol: TCP
    name: http
  selector:
    app: xxl-job-admin
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: xxl-job-admin
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/tls-acme: "true"
spec:
  tls:
  - hosts:
    - xxl.wanfei.wang
    secretName: xxl-job-tls
  rules:
  - host: xxl.wanfei.wang
    http:
      paths:
      - path: '/'
        backend:
          serviceName: xxl-job-admin
          servicePort: 8080
  • - name: PARAMS: 指定application.properties配置参数,从Dockerfile中设置的PARAMS环境变量
    在这里插入图片描述

1.5 运行

[root@master nginx]# ls
xxl-job-admin.yaml
[root@master nginx]# kubectl apply -f xxl-job-admin.yaml 
deployment.extensions/xxl-job-admin created
service/xxl-job-admin created
ingress.extensions/xxl-job-admin created
[root@master nginx]# kubectl get pods | grep xxl-job-admin
xxl-job-admin-6c4b9498c6-x7snf           1/1     Running   0          43s

1.6 访问调度中心

https://xxl.wanfei.wang/xxl-job-admin

默认账号密码: admin/123456
在这里插入图片描述

二. 2.2.0

2.1 制作镜像

进入下载好了的项目里,xxl-job-admin项目package

$ ls
LICENSE  NOTICE  README.md  doc  pom.xml  xxl-job-admin  xxl-job-core  xxl-job-executor-samples

# docker登录阿里云镜像仓库
$ docker login -u=xxxxxx@qq.com -p xxxxxx registry.cn-shanghai.aliyuncs.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded

# 制作xxl-job-admin镜像
$ docker build -t registry.cn-shanghai.aliyuncs.com/wanfei/xxl-job-admin:2.2.0 xxl-job-admin/

# 推送镜像到阿里云镜像仓库
$ docker push registry.cn-shanghai.aliyuncs.com/wanfei/xxl-job-admin:2.2.0

2.2 xxl-job-admin.yaml

2.2.1 部署在云服务器

本地运行执行器不行,因为与服务器无法访问本地网络

cat <<EOF> xxl-job-admin.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: xxl-job-admin
spec:
  selector:
    matchLabels:
      app: xxl-job-admin
  template:
    metadata:
      labels:
        app: xxl-job-admin
    spec:
      containers:
      - name: xxl-job-admin
        image: registry.cn-shanghai.aliyuncs.com/wanfei/xxl-job-admin:2.2.0
        ports:
        - containerPort: 8080
        env:
        - name: PARAMS
          value: "--spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true --spring.datasource.username=root --spring.datasource.password=root --spring.mail.username=xxxxxx@126.com --spring.mail.password=xxxxxx"
---
apiVersion: v1
kind: Service
metadata:
  name: xxl-job-admin
  labels:
    app: xxl-job-admin
spec:
  ports:
  - port: 8080
    protocol: TCP
    name: http
  selector:
    app: xxl-job-admin
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: xxl-job-admin
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/tls-acme: "true"
spec:
  tls:
  - hosts:
    - xxl.wanfei.wang
    secretName: xxl-job-tls
  rules:
  - host: xxl.wanfei.wang
    http:
      paths:
      - path: '/'
        backend:
          serviceName: xxl-job-admin
          servicePort: 8080
EOF
2.2.2 部署在本地k8s集群
cat <<EOF> xxl-job-admin.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: xxl-job-admin
spec:
  selector:
    matchLabels:
      app: xxl-job-admin
  template:
    metadata:
      labels:
        app: xxl-job-admin
    spec:
      containers:
      - name: xxl-job-admin
        image: registry.cn-shanghai.aliyuncs.com/wanfei/xxl-job-admin:2.2.0
        ports:
        - containerPort: 8080
        env:
        - name: PARAMS
          value: "--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=root --spring.datasource.password=root --spring.mail.username=xxxxxx@126.com --spring.mail.password=xxxxxx"
---
apiVersion: v1
kind: Service
metadata:
  name: xxl-job-admin
  labels:
    app: xxl-job-admin
spec:
  ports:
  - port: 8080
    protocol: TCP
    name: http
  selector:
    app: xxl-job-admin
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: xxl-job-admin
spec:
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: xxl-job-admin
          servicePort: 8080
EOF

删除了Ingress里面的hosttls相关的,访问的时候只能用ip访问

2.2.3 部署与登录

部署

kubectl apply -f xxl-job-admin.yaml

登录账号密码地址和上面一样
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值