Резервное копирование хранилища etcd

В данном разделе описано, как осуществлять резервное копирование хранилища конфигураций etcd с помощью утилит etcdctl и etcdutl.

В разделе рассматривается работа с etcd при следующих условиях:

  • кластер развернут с помощью Kubespray;

  • установлен etcd версии 3.5.7 и выше;

  • хранилище etcd установлено как системный сервис и управляется с помощью утилиты systemctl.

Инструкция по установке представлена в репозитории разработчика etcd.

Резервное копирование etcd

Выполните следующие действия для каждого узла, на котором установлен сервис etcd:

  1. Подключитесь к кластеру.

  2. Подключитесь к терминалу узла, на котором установлен сервис etcd.

  3. Создайте резервную копию хранилища etcd, выполнив следующую команду:

    source /etc/etcd.env && ETCDCTL_KEY=$ETCDCTL_KEY ETCDCTL_CACERT=$ETCDCTL_CACERT ETCDCTL_CERT=$ETCDCTL_CERT ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 snapshot save /var/backups/etcd-$(date '+%Y%m%d_%H%M%S')/snapshot.db
    Чтобы получить расширенный лог сообщений о ходе создания резервной копии, добавьте к команде выше опцию --debug=true.
  4. Вы можете удостовериться, что резервная копия создана успешно, с помощью команды:

    etcdutl snapshot status /var/backups/<etcd-date>/snapshot.db -w table

    Здесь:

    • <etcd-date> — название директории с резервной копией etcd, например, etcd-20260303_140322.

    Пример вывода команды
    +---------+----------+------------+------------+
    |  HASH   | REVISION | TOTAL KEYS | TOTAL SIZE |
    +---------+----------+------------+------------+
    | 7ef846e |   485261 |      11642 |      94 MB |
    +---------+----------+------------+------------+

    Номер ревизии (REVISION) увеличивается на 1 при каждой операции записи в etcd.

Была ли полезна эта страница?

Обратная связь