Распределенная установка в отказоустойчивой конфигурации
Вы можете обеспечить отказоустойчивость KUMA путем развертывания Ядра KUMA в кластере Kubernetes, а также использования внешнего балансировщика TCP-трафика.
Для установки KUMA в отказоустойчивом исполнении используется установщик kuma-ansible-installer-ha-<номер сборки>.tar.gz и подготовленный вами файл инвентаря k0s.inventory.yml, в котором вы определите конфигурацию кластера. При новой установке в отказоустойчивой конфигурации ресурсы OOTB импортируются всегда. Также вы можете выполнить установку с развертыванием демонстрационных сервисов. Для этого нужно в файле инвентаря указать параметр deploy_example_services: true.
Поместить Ядро KUMA в кластер Kubernetes можно следующими способами:
- Установить KUMA в кластере Kubernetes с нуля.
- Перенести Ядро существующей установки KUMA в кластер Kubernetes.
Минимальная конфигурация
В Kubernetes существует 2 роли узлов:
- контроллеры (control-plane) – узлы с этой ролью управляют кластером, хранят метаданные, распределяют рабочую нагрузку.
- рабочие (worker) – узлы с этой ролью несут полезную рабочую нагрузку, то есть размещают процессы KUMA.
Для выполнения установки KUMA в отказоустойчивой конфигурации вам понадобится:
- 3 выделенных контроллера
- 2 рабочих узла
- 1 балансировщик
Для эффективной работы Ядра KUMA в Kubernetes критически важно выделить 3 обособленных узла с единственной ролью контроллера. Это позволит обеспечить отказоустойчивость самого кластера Kubernetes и гарантировать, что рабочая нагрузка - процессы KUMA и другие процессы - не повлияет на задачи, связанные с управлением кластером Kubernetes. В случае использования средств виртуализации следует убедиться, что узлы размещены на разных физических серверах и эти физические серверы не выполняют роль рабочих узлов.
В случае демонстрационной установки KUMA допустимо совмещать роли контроллера и рабочего узла. Однако при расширении установки до распределенной необходимо переустановить кластер Kubernetes целиком, выделив 3 отдельных узла с ролью контроллера и как минимум 2 узла с ролью рабочего узла. Обновление KUMA до следующих версий недоступно при наличии узлов, совмещающих роли контроллера и рабочего узла.