Временная недоступность отдельных компонентов кластера
Недоступность, не требующая пересоздания виртуальной машины или замены серверов для восстановления. Пример: временное отключение питания сервера, сетевая недоступность, сбой, потребовавший перезагрузки сервера или ВМ. Доступность Ядра KUMA в этом случае определяется набором оставшихся в работе компонентов. Сюда же можно отнести случаи, когда сбои на сервере или виртуальной машины могут быть оперативно устранены конфигурацией ПО или заменой отдельных запчастей, не требующих полной переустановки операционной системы.
После восстановления работы и доступности всех компонентов работоспособность кластера восстанавливается автоматически, но некоторое время выполняются переходные операции, такие как синхронизация реплик тома, в течение которых кластер остается уязвим к новым отказам других компонентов. Таким образом, синхронизация реплик томов большого объема может продолжаться несколько часов. Это время на восстановление нужно учитывать при планировании учений с преднамеренным выключением рабочих узлов.
Полный выход из строя компонентов кластера при сохранении доступности Ядра KUMA
В этом случае кластер позволяет какое-то время (до отказа следующего компонента) продолжить работу с Ядром KUMA, выбрать подходящее технологическое окно для восстановления и создать актуальную резервную копию Ядра KUMA.
Чтобы восстановить кластер:
На этом этапе можно использовать снимки виртуальных машин, сделанные до установки KUMA.
kuma_collector
, kuma_correlator
можно оставить по одному хосту, а в секции kuma_storage
оставить один кластер хранения. Если из строя вышел хост, указанный в секции kuma_control_plane_master
, то в файле инвентаря k0s.inventory.yml нужно поменять его местами с другим контроллером кластера, указанным в секции kuma_control_plane
.sudo ./install.sh k0s.inventory.yml
sudo systemctl status <k0sworker/k0scontroller>
sudo k0s status
sudo k0s kubectl get volume -n longhorn-system -o json | jq '.items[0].status.robustness'
Статус должен быть healthy
. Если статус degraded
, то одна из реплик недоступна или находится в процессе восстановления.
sudo k0s kubectl get engine -n longhorn-system -o json | jq '.items[0].status.rebuildStatus'
При корректной работе восстановление не выполняется и команда не вернет никаких значений. Если команда вернет статус rebuilding
, это означает, что некоторые реплики находятся в процессе восстановления. Мы рекомендуем не вносить изменения в кластер до завершения восстановления.
Восстановление кластера выполнено.
Полный выход из строя компонентов кластера при недоступности Ядра KUMA
Обязательно наличие резервной копии Ядра KUMA.
Для восстановления кластера требуется предварительно удалить используемый кластер.
Чтобы восстановить кластер:
На этом этапе можно использовать снимки виртуальных машин, сделанные до установки KUMA.
kuma_collector
, kuma_correlator
и kuma_storage
, чтобы избежать удаления сервисов и необходимости их повторной установки.sudo ./uninstall.sh k0s.inventory.yml
kuma_worker*
и kuma_control_plane*
. kuma_worker*
и kuma_control_plane*
снова запустите uninstall.sh с файлом инвентаря k0s.inventory.yml:sudo ./uninstall.sh k0s.inventory.yml
kuma_collector
, kuma_correlator
можно оставить по одному хосту, а в секции kuma_storage
оставить один кластер хранения. Если время установки сокращать не требуется и перезапуск внешних сервисов KUMA допустим, то файл инвентаря можно использовать без изменений.sudo systemctl status <k0sworker/k0scontroller>
sudo k0s status
sudo k0s kubectl get volume -n longhorn-system -o json | jq '.items[0].status.robustness'
Статус должен быть healthy
. Если статус degraded
, то одна из реплик недоступна или находится в процессе восстановления.
sudo k0s kubectl get engine -n longhorn-system -o json | jq '.items[0].status.rebuildStatus'
При корректной работе восстановление не выполняется и команда не вернет никаких значений. Если команда вернет статус rebuilding
, это означает, что некоторые реплики находятся в процессе восстановления. Мы рекомендуем не вносить изменения в кластер до завершения восстановления.
Восстановление кластера выполнено.
Выход из строя балансировщика трафика
Если из строя выходит балансировщик трафика, Ядро KUMA становится недоступно.. При этом для восстановления работы балансировщика не требуется удалять или изменять имеющийся кластер или сервисы KUMA.. При наличии снимка виртуальной машины балансировщика, сделанного после установки KUMA, вы можете использовать этот снимок. Если снимок виртуальной машины отсутствует или вы хотите использовать новый сервер взамен вышедшего из строя, для восстановления работы кластера потребуется установить балансировщик и настроить его по ранее сохраненной конфигурации.
После восстановления работы балансировщика трафика доступ к кластеру и Ядру KUMA возобновится.
В начало