☸️ Как сделать резервную копию конфигурации мастер ноды Kubernetes — Information Security Squad
☸️ Как сделать резервную копию конфигурации мастер ноды Kubernetes

Поскольку использование Kubernetes значительно растет в производственных средах, резервное копирование конфигурации этих кластеров становится все более критическим.

Это руководство посвящено резервному копированию конфигурации кластера, а не рабочих нагрузок.

При работе кластера Kubernetes в среде главный узел Kubernetes содержит все данные конфигурации, включая такие элементы, как рабочие узлы, конфигурации приложений, параметры сети и многое другое.

Эти данные крайне важны для восстановления в случае сбоя главного узла.

Чтобы мы поняли, что нам нужно для резервного копирования, сначала нам нужно понять, какие компоненты Kubernetes должны использоваться в бэкапе.

В Kubernetes etcd является одним из ключевых компонентов.

Компонент etcd используется в качестве резервного хранилища Kubernetes.

Все данные кластера хранятся в нем.

Etcd — это хранилище значений ключей с открытым исходным кодом, используемое для постоянного хранения всех объектов Kubernetes, таких как информация о развертывании и поде.

Etcd может быть запущен только на главном узле.

Этот компонент важен для резервного копирования конфигураций Kubernetes.

Другим ключевым компонентом являются сертификаты.

Резервное копирование сертификатов позволяет легко восстановить главный узел.

Без сертификатов нам бы пришлось заново создавать кластер.

Мы можем выполнить резервное копирование всех ключевых компонентов Kubernetes помощью простого скрипта.

#K8S backup script
# David Hill 2019
# Backup certificates
sudo cp -r /etc/kubernetes/pki backup/
# Make etcd snapshot
sudo docker run --rm -v $(pwd)/backup:/backup \
--network host \
-v /etc/kubernetes/pki/etcd:/etc/kubernetes/pki/etcd \
--env ETCDCTL_API=3 \
k8s.gcr.io/etcd-amd64:3.2.18 \
etcdctl --endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt \
--key=/etc/kubernetes/pki/etcd/healthcheck-client.key \
snapshot save /backup/etcd-snapshot-latest.db
Скрипт, показанный выше делает две вещи:
  • Копирует все сертификаты
  • Создает снэпшот хранилища ключей etcd.
Все  сохраняется в каталоге под названием backup
После запуска скрипта у нас есть несколько файлов в каталоге резервного копирования.
К ним относятся сертификаты, снэпшоты и ключи, необходимые для работы Kubernetes.
Теперь у нас есть резервная копия критической конфигурации главного узла Kubernetes.
Теперь проблема состоит в том, что все эти данные хранятся локально.
Что произойдет, если мы полностью потеряем этот хост?
Об этом мы расскажем вам в следующей статье!
Оставайтесь с нами!

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *