Экспорт конфигурации. Восстановление кластера
Contents
Экспорт конфигурации. Восстановление кластера#
Скрипт configmgr.sh
в составе nscli предоставляет возможность экспорта и импорта конфигурации в yaml-файл на jump-хосте, что может быть полезно, если по какой-либо причине кластер потребовалось установить заново.
Такой файл содержит лишь значения, указанные пользователем при помощи nsctl, например, объемы вычислительных мощностей, настройки мониторинга и базы данных. Секреты, комплект приложений, постоянные тома не копируются, однако названия используемых секретов и постоянных томов экспортируются.
Экспорт#
Экспорт конфигурации осуществляется при помощи команды:
./configmgr.sh export
--namespace NAMESPACE # пространство имен, в котором развернут GlobalServer
--group GROUP # группа ресурсов, которую необходимо экспортировать
--file FILE # путь к файлу, в который будет записана конфигурация кластера
Импорт#
Импорт конфигурации осуществляется при помощи команды:
./configmgr.sh import
--namespace NAMESPACE # пространство имен, в котором (будет) развернут GlobalServer
--file FILE # путь к YAML-файлу, из которого будет загружена конфигурация кластера
Пример восстановления кластера#
Предположим, что у нас был кластер GlobalServer, развернутый в группе ресурсов gs-cluster
пространства имен gs-k8s
, который более недоступен. Однако, есть YAML-описания ресурсов Kubernetes (секреты, постоянные тома, сервисные пользователи и роли - все, что было создано на этапе установки), а также есть конфигурация сервера, заранее экспортированная при помощи команды:
cd ~/nscli
./configmgr.sh export \
--namespace gs-k8s \
--group gs-cluster \
--file config.yaml
Тогда процесс восстановления на чистый K8s с подготовленного jump-хоста (следуйте инструкции по установке кластера до раздела «Установка утилиты Nscli» включительно) выглядит следующим образом:
Воссоздаем пространство имен при помощи команд:
./namespace.sh create_install_scripts chmod +x ~/nscli/workspace/install_scripts/gs-k8s/install.sh ~/nscli/workspace/install_scripts/gs-k8s/install.sh
Подробнее читайте в разделе «Настройка рабочего пространства в kubernetes» инструкции по установке.
Если в NFS-хранилище не осталось комплекта приложений, то загружаем его в соответствии с «Подготовка комплекта приложений appkit».
Устанавливаем ресурсы K8s, например, при помощи команды:
cd k8s-resources # директория с ресурсами k8s kubectl apply -f *
Импортируем конфигурацию:
cd ~/nscli ./configmgr.sh import \ --namespace gs-k8s \ --file config.yaml
Скрипт сообщит об успешном завершении:
Конфигурация импортирована
Запускаем кластер:
cd ~/nscli ./invoker.sh run --namespace gs-k8s --app nsctl --cmd "./resgroup.sh start_appkit --name gs-cluster" ./invoker.sh run --namespace gs-k8s --app nsctl --cmd "./resbook.sh enable_all --group gs-cluster" ./invoker.sh run --namespace gs-k8s --app nsctl --cmd "./resgroup.sh enable --name gs-cluster"