首页 > 其他分享 >k8s 安装xxl-job

k8s 安装xxl-job

时间:2024-08-18 15:15:34浏览次数:13  
标签:name admin 2.4 -- job k8s xxl

需求

使用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

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

 

标签:name,admin,2.4,--,job,k8s,xxl
From: https://www.cnblogs.com/xiao987334176/p/18365643

相关文章

  • k8s 安装nacos集群
    需求使用k8s部署nacos集群,nacos的数据主要保存在mysql中,因此nacos运行时不需要考虑持久化问题。这里使用2.3.2版本 导入mysql数据github地址:https://github.com/alibaba/nacos/releases找到2.3.2版本,下载压缩包,得到nacos-server-2.3.2.tar.gz解压文件,找到文件nacos\conf\m......
  • 部署 K8s 图形化管理工具 Dashboard
    目录一、Dashboard概述二、GitHub地址三、Dashboard部署安装1、选择兼容版本2、下载配置文件3、添加Dashboard的Service类型4、应用部署5、查看kubernetes-dashboard命名空间下资源状态6、创建访问账户7、授权8、获取账号token9、1.24版本以后的需要创建一个Pod四、浏览器......
  • 登录 k8s-Dashboard 显示 Your connection is not private
    目录一、背景二、解决方案一、背景部署好kubernetes-Dashboard后使用master节点的ip+port登录Dashboard显示Yourconnectionisnotprivate无论是Edge还是GoogleChrome都是这样的情况二、解决方案点击网页空白处,英文输入法输入:thisisunsafe即可正常访问......
  • k8s安全机制
    目录1.认证(Authentication)2. 鉴权(Authorization)3.准入控制(AdmissionControl)Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。APIServer是集群内部各个组件通信的中介,也是外部控制的入口。所以Kubernetes的安全机制基本就是围绕保护......
  • k8s集群
    环境初始化#重命名[root@localhost~]#hostnamectlset-hostnamemaster1[root@localhost~]#susu#配置静态IP[root@master1~]#cd/etc/sysconfig/network-scripts/[root@master1network-scripts]#vimifcfg-ens33BOOTPROTO="none"NAME="ens33"DEV......
  • 信创环境:鲲鹏ARM+麒麟V10离线部署K8s和Rainbond信创平台
    在上篇《国产化信创开源云原生平台》文章中,我们介绍了Rainbond作为可能是国内首个开源国产化信创平台,在支持国产化和信创方面的能力,并简要介绍了如何在国产化信创环境中在线部署Kubernetes和Rainbond。然而,对于大多数国产化信创环境,如银行、政府等机构,离线部署的需求更为普......
  • 20240326 windows搭建k8s环境
    windows搭建k8s环境安装docker-desktop在界面中找到/设置/Resources/Advanced/Diskimagelocation,选择一个非C盘的目录利用minikube安装已经安装玩docker-desktop或者virtualbox参考文档minikube官方文档https://www.cnblogs.com/yumingkuan/p/16750618.htmlhttps://......
  • minikube && k8s 命令
    minikubedocker-envminikubedashboardminikubessh导出一个已经创建的容器导到一个文件dockerexport-o文件名.tar容器id将文件导入为镜像dockerimport文件名.tar镜像名:镜像标签本地镜像关联到minikubeminikube"docker-env"将容器保存为镜像:dockercommit<容......
  • redis启动失败报错:Job for redis.service failed because the control process exited
    问题描述启动报错如下:查看redis的启动信息:systemctlstatusredis.service或journalctl-xe由提示可以看不是配置文件,内存等原因造成的。解决方案原因:linux的一个安全子系统(SELinux)阻止了服务的启动。查看SELinux的工作模式cat /etc/selinux/configSELinu......
  • 在K8S中,同⼀个Pod内不同容器哪些资源是共用的,哪些资源是隔离的?
    在Kubernetes(K8S)中,同一个Pod内的不同容器在资源共享和隔离方面有着特定的规则。以下是对这些规则的详细解释:1.资源共享网络命名空间:Pod内的所有容器共享同一个网络命名空间。这意味着它们可以看到相同的网络设备和IP地址,并能够通过localhost相互通信,而无需进行网络地址转换......