一、部署mysql数据库(docker部署)
1、部署mysql5.7
docker pull mysql:5.7.36
#安装5.7数据库,需创建配置文件my.cnf文件内容才可以启动,不然启动报错
export DIR_MYSQL="/data/mysql5.7"
mkdir -p ${DIR_MYSQL}/conf
mkdir -p ${DIR_MYSQL}/logs
mkdir -p ${DIR_MYSQL}/data
cd ${DIR_MYSQL}
# 创建配置文件
cat > ${DIR_MYSQL}/conf/my.cnf << EOF
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
# log-error = /var/log/mysql/error.log
# 表名参数名忽略大小写
lower_case_table_names=1
# 设置字符集
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
max_connections = 2000
max_user_connections = 1900
max_connect_errors = 100000
max_allowed_packet = 50M
[mysql]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4
EOF
docker run --name mysql57 \
-e TZ="Asia/Shanghai" \
-e MYSQL_ROOT_PASSWORD='ZPBjlg#cZxWxHcc*&Dk&' \
-p 3306:3306 \
-v ${DIR_MYSQL}/conf/my.cnf:/etc/mysql/my.cnf \
-v ${DIR_MYSQL}/logs:/logs \
-v ${DIR_MYSQL}/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime:ro \
--restart always \
--privileged=true \
-d mysql:5.7.36
2、部署xxl-job
docker pull xuxueli/xxl-job-admin:2.3.0
#配置数据库账号密码
docker run \
-e PARAMS=" --server.port=8090 --spring.datasource.url=jdbc:mysql://192.168.1.71:13306/xxl_job?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 --spring.datasource.username=root --spring.datasource.password=ZPBjlg#cZxWxHcc*&Dk&" \
-e TZ="Asia/Shanghai" \
-p 9999:8090 \
-v /etc/localtime:/etc/localtime:ro \
-v /data/project/ibuilds-xxl-job:/data/applogs \
--name xxl-job-admin --restart=always \
-d xuxueli/xxl-job-admin:2.3.0
3、初始化导入数据库
# 下载xxl-job源码包
wget https://github.com/xuxueli/xxl-job/archive/2.3.0.tar.gz
tar xf 解压出来,把xxl-job-2.3.0/doc/db/tables_xxl_job.sql导入xxl_job数据库里面
二、k8s部署yml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: ibuild-v3-xxl-job-admin
namespace: sykj-dev
spec:
replicas: 1
selector:
matchLabels:
app: ibuild-v3-xxl-job-admin
template:
metadata:
labels:
app: ibuild-v3-xxl-job-admin
spec:
nodeSelector:
app: ibuild-v3
containers:
- name: ibuild-v3-xxl-job-admin
image: 192.168.1.137:8011/devops/xxl-job:2.3.0
env:
- name: PARAMS
value: "--spring.datasource.url=jdbc:mysql://192.168.1.71:13306/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=root --spring.datasource.password=ZPBjlg#cZxWxHcc*&Dk&"
volumeMounts:
- name: xxl-job-admin-log
mountPath: /app/logs
ports:
- name: port8080
containerPort: 8080
# livenessProbe:
# httpGet:
# path: /api/common/health
# port: port8080
# initialDelaySeconds: 60
# periodSeconds: 10
# readinessProbe:
# httpGet:
# path: /api/common/health
# port: port8080
# initialDelaySeconds: 60
# periodSeconds: 10
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: "1"
memory: 1024Mi
imagePullSecrets:
- name: habor-repo
volumes:
- name: xxl-job-admin-log
hostPath:
path: /data/logs/xxl-job-admin
type: DirectoryOrCreate
---
apiVersion: v1
kind: Service
metadata:
name: svc-ibuild-v3-xxl-job-admin
namespace: sykj-dev
labels:
app: ibuild-v3-xxl-job-admin
spec:
#type: ClusterIP
type: NodePort
ports:
- name: port8080
port: 8080
targetPort: 8080
nodePort: 38080
selector:
app: ibuild-v3-xxl-job-admin

文章详细介绍了如何使用Docker部署MySQL5.7数据库,包括创建配置文件my.cnf以及设置环境变量。接着,展示了如何部署XXL-JOB应用,指定数据库连接信息。最后,提到了在Kubernetes(K8s)中通过YML文件进行XXL-JOB应用的Deployment配置,包括容器资源请求限制、日志目录挂载等。
671

被折叠的 条评论
为什么被折叠?



