编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

k8s集群部署xxl-job,不要你5分钟时间就搞明白了

wxchong 2024-06-11 09:59:00 开源技术 19 ℃ 0 评论

前言

书接上回"本地单机docker部署xxl-job",感兴趣也可以看我的另一篇文章

话说本地docker部署满足测试和自己玩玩是可以的,如果要用于生成就有点上不了台面了。

话不多说,直接上正文

0.在数据库中初始化相应的xxl-job的sql语句,参考上篇文章

首先是选择xxl-job的镜像,有三种方式

1.用docker-hub里面的镜像地址直接是"xuxueli/xxl-job-admin:2.4.0",这种方式的话需要覆盖掉里面原来的数据库的配置,所以在k8s部署的时候,需要加上"env",添加数据库的配置参数。

2.下载git上的https://github.com/xuxueli/xxl-job代码到本地,选择好自己的版本,然后记得修改"application.properties"文件中的数据配置,然后用docker build -t xxx . 打镜像,然后上传到自己的镜像仓库,然后k8s就可以拉取使用了。

3.我用的是腾讯云的coding来管理我们的代码仓库,所以我们直接在coding上,点击"其他仓库导入",然后就可以复制出git仓库代码。然后记得修改"application.properties"文件中的数据配置,然后我们利用coding的构建计划,就可以构建出我们自己的"镜像"。

K8S部署实战

1.构建deployment文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: xxl-job-admin
spec:
  replicas: 2
  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.4.0
          imagePullPolicy: Always     # 优先使用本地镜像
          ports:
            - containerPort: 8080
#          env:
#            - name: PARAMS
#              value: "--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai"

然后kubectl apply -f <配置文件路径> ,不是该文件,部署成功后。

用kubectl exec -it {pod name} 进入到启动好的pod中,使用curl -L http://127.0.0.1:8080/xxl-job-admin,如果有信息返回表示部署成功

2.构建service文件

apiVersion: v1
kind: Service
metadata:
  name: xxl-job-admin-service
  labels:
    app: xxl-job-admin
spec:
  type: NodePort
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 31528
  selector:
    app: xxl-job-admin

然后同样用kubectl apply -f <配置文件路径> 执行该文件,执行成功后。就可以在集群内部用"http://{service}.{namespace}.svc.cluster.local:8080/xxl-job-adm",来访问和使用该集群。



至此,部署全部完毕,如果在三种方式部署中,遇到任何问题,可以给我留言评论,我会回复看看具体问题怎么解决。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表