====== Kubernetes: Бэкап настроек кластера ======
В самом простом случае бэкап Kubernetes сводится к копированию настроек/сертификатов и созданию бэкапа etcd.
Пример для мастер-ноды:
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \
--cacert /etc/kubernetes/etcd/ssl/ca.pem \
--cert /etc/kubernetes/etcd/ssl/node-cert.pem \
--key /etc/kubernetes/etcd/ssl/node-key.pem \
snapshot save snapshot.db
Необходимо убедиться что сертификаты лежат в /etc/kubernetes/etcd/ssl/ и правильно указаны.
Если по какой-то причине необходимо использовать самую свежую версию etcdctl то можно запустить при помощи docker'а:
export BACKUP_DIR=/root/backup
export BACKUP_FILE="etcd-snapshot-`date +%F-%H-%M`.db"
sudo docker run --rm -v $BACKUP_DIR:/backup \
--network host \
-v /etc/kubernetes/etcd/ssl:/etc/kubernetes/etcd/ssl \
--env ETCDCTL_API=3 \
k8s.gcr.io/etcd:3.4.3-0 \
etcdctl --endpoints=https://127.0.0.1:2379 \
--cacert /etc/kubernetes/etcd/ssl/ca.pem \
--cert /etc/kubernetes/etcd/ssl/node-cert.pem \
--key /etc/kubernetes/etcd/ssl/node-key.pem \
snapshot save /backup/$BACKUP_FILE
Далее осталось только скопировать сертификаты из папки /etc/kubernetes/etcd/ssl/ и конфиги из /etc/kubernetes, упаковать с паролем в архив и положить на любое хранилище которое вы используете.
{{tag>kubernetes k8s backup etcd snapshot}}