Thank you for reading this post, don't forget to subscribe!
При работе кластера Kubernetes в среде главный узел Kubernetes содержит все данные конфигурации, включая такие элементы, как рабочие узлы, конфигурации приложений, параметры сети и многое другое.
Эти данные крайне важны для восстановления в случае сбоя главного узла.
Чтобы мы поняли, что нам нужно для резервного копирования, сначала нам нужно понять, какие компоненты Kubernetes должны использоваться в бэкапе.
В Kubernetes etcd является одним из ключевых компонентов.
Компонент etcd используется в качестве резервного хранилища Kubernetes.
Все данные кластера хранятся в нем.
Etcd – это хранилище значений ключей с открытым исходным кодом, используемое для постоянного хранения всех объектов Kubernetes, таких как информация о развертывании и поде.
Etcd может быть запущен только на главном узле.
Этот компонент важен для резервного копирования конфигураций Kubernetes.
Другим ключевым компонентом являются сертификаты.
Резервное копирование сертификатов позволяет легко восстановить главный узел.
Без сертификатов нам бы пришлось заново создавать кластер.
Мы можем выполнить резервное копирование всех ключевых компонентов Kubernetes помощью простого скрипта.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#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.