feat: MySQL纳入K8s清单并开放NodePort
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
apiVersion: batch/v1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: mysql-backup
|
||||
namespace: lpt-prod
|
||||
spec:
|
||||
schedule: "0 3 * * *"
|
||||
concurrencyPolicy: Forbid
|
||||
successfulJobsHistoryLimit: 7
|
||||
failedJobsHistoryLimit: 3
|
||||
jobTemplate:
|
||||
spec:
|
||||
backoffLimit: 2
|
||||
template:
|
||||
spec:
|
||||
restartPolicy: OnFailure
|
||||
containers:
|
||||
- name: mysqldump
|
||||
image: mysql:8.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
command:
|
||||
- /bin/sh
|
||||
- -ec
|
||||
- |
|
||||
set -euo pipefail
|
||||
TS=$(date +%Y%m%d-%H%M%S)
|
||||
mysqldump --host=mysql --port=3306 --user=root --password="$MYSQL_ROOT_PASSWORD" \
|
||||
--all-databases --single-transaction --routines --events --triggers \
|
||||
> "/backup/lpt-prod-${TS}.sql"
|
||||
find /backup -type f -name 'lpt-prod-*.sql' -mtime +14 -delete
|
||||
env:
|
||||
- name: MYSQL_ROOT_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: lpt-secrets
|
||||
key: mysql-root-password
|
||||
volumeMounts:
|
||||
- name: backup
|
||||
mountPath: /backup
|
||||
volumes:
|
||||
- name: backup
|
||||
persistentVolumeClaim:
|
||||
claimName: mysql-backup
|
||||
Reference in New Issue
Block a user