使用cronjob备份etcd
创建pvc
在kube-system项目中手动,选择storage class,创建名称etcd-backup 的pvc
发布备份cronjob
apiVersion: batch/v1beta1
kind: CronJob
metadata:
namespace: kube-system
name: etcd-backup
spec:
schedule: "0 */12 * * *"
jobTemplate:
spec:
template:
metadata:
labels:
backup: "etcd"
spec:
containers:
- name: etcd-backup
image: quay.io/coreos/etcd:v3.2.22
args:
- |
#!/bin/sh
set -ex
source /etc/etcd/etcd.conf
mkdir /backup/etcd-$(date +%d%H)
ETCDCTL_API=3 etcdctl --cert="/etc/etcd/peer.crt" --key=/etc/etcd/peer.key --cacert="/etc/etcd/ca.crt" --endpoints=$ETCD_ADVERTISE_CLIENT_URLS snapshot save /backup/etcd-$(date +%d%H)/db
tar -zcvf /backup/etcd-$(date +%d%H).tar.gz /backup/etcd-$(date +%d%H)/db
rm -Rf /backup/etcd-$(date +%d%H)
command:
- /bin/sh
- '-c'
securityContext:
privileged: true
volumeMounts:
- mountPath: /etc/etcd/
name: master-config
readOnly: true
- name: backup
mountPath: /backup
restartPolicy: OnFailure
nodeSelector:
node-role.kubernetes.io/master: 'true'
volumes:
- hostPath:
path: /etc/etcd/
type: ''
name: master-config
- name: backup
persistentVolumeClaim:
claimName: etcd-backup检查备份数据
找到pvc etcd-backup 对应的网盘目录
挂载到临时目录
卸载目录
支持作者
如果文章对您有帮助,欢迎打赏,谢谢

Last updated