manifests/backups/daemonset+cronjob/crontab.yaml
songtianlun 437ce63585 fix: add delay to backup trigger invocation
- Introduce a sleep command before triggering backup for each pod
- This change prevents simultaneous execution of backup tasks
- Ensures system stability by spreading out resource usage during backups
2025-04-22 22:20:50 +08:00

34 lines
1.0 KiB
YAML

apiVersion: batch/v1
kind: CronJob
metadata:
name: node-backup-job
namespace: backup-system
spec:
# 每天凌晨2点运行
schedule: "0 2 * * *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
ttlSecondsAfterFinished: 86400 # 1天后删除已完成的任务
template:
spec:
serviceAccountName: backup-service-account
nodeSelector:
#kubernetes.io/hostname: "vkvm-us1"
region: us
containers:
- name: backup-trigger
image: bitnami/kubectl:latest
command:
- /bin/sh
- -c
- |
# 创建触发文件到所有备份 Pod 中
for pod in $(kubectl get pods -n backup-system -l app=node-backup -o jsonpath='{.items[*].metadata.name}'); do
echo "触发 Pod $pod 执行备份"
sleep 60
kubectl exec $pod -n backup-system -- touch /tmp/backup-triggered
done
echo "所有节点备份已触发"
restartPolicy: OnFailure