预计阅读时间:1 分钟
在Kubernetes中,所有的资源对象都存储在etcd中,如果etcd数据丢失,将造成整个Kubernetes集群不可用,所以要定期进行数据的备份。
#!/bin/bash
ETCDCTL_API=3
ENDPOINT='https://192.168.3.203:2379'
BACKUP_PATH=/data/backup/etcd
BACKUP_TIME=`date +%Y%m%d_%H%M%S`
CA_PATH=/etc/kubernetes/pki/etcd/ca.crt
CERT_PATH=/etc/kubernetes/pki/etcd/server.crt
KEY_PATH=/etc/kubernetes/pki/etcd/server.key
[ -d "$BACKUP_PATH" ] || mkdir -p $BACKUP_PATH
/usr/bin/etcdctl --endpoints $ENDPOINT \
--cacert=$CA_PATH \
--cert=$CERT_PATH \
--key=$KEY_PATH \
snapshot save $BACKUP_PATH/snapshot-${BACKUP_TIME}.db &> /dev/null
find $BACKUP_PATH -type f -name "snapshot-*.db" -atime +15 | xargs rm -f
本文由 leojamin 原创,转载请注明出处。