Архитектура решения
Contents
Архитектура решения#
gs-ctk разворачивается в отдельном пространстве имен Kubernetes при помощи утилиты nscli c jump-хоста и состоит из пяти компонентов:
Контроллера пространства имен nsctl
Подов с серверами приложений: эксклюзивного (global-server-excl) для задач обслуживания и реплицируемых (global-server-share) для масштабирования и отказоустойчивости
Балансировщика нагрузки HAProxy
Стек мониторинга с доступом через систему визуализации данных Grafana
Вспомогательных опциональных служб, таких как RabbitMQ
Данные хранятся в базе данных и на файловом хранилище. Конфигурация gs-ctk хранится в виде ресурсов Kubernetes.
Дистрибутив#
Дистрибутив gs-ctk представляет собой:
набор образов контейнеров:
контроллер пространства имен gs/nsctl
контейнер-болванки со средой для сервера приложений, планировщика задач и GossipRouter gs/globalserver
вспомогательный (sidecar) контейнера для сбора телеметрии с контейнера-болванки gs/systemagent
балансировщик нагрузки gs/haproxy
вспомогательный (sidecar) контейнера для сбора телеметрии с балансировщика нагрузки gs/haproxyagent
стек внутреннего мониторинга gs/grafana
встроенный брокер сообщений gs/rabbitmq
консольную утилиту для работы с кластером с jump-хоста - nscli
Контейнеры и утилиту можно скачать с наших репозиториев, однако доступ к ним ограничен. Узнайте подробнее у контактного лица.
База данных#
gs-ctk не разворачивает систему управления баз данных. Вам необходимо самостоятельно развернуть СУБД PostgreSQL с соответствующими требованиями к отказоусточивости. Если вы ищете инструмент автоматического развертывания, посмотрите Patroni.
Рекомендуется использовать систему синхронного или асинхронного реплицирования с автоматическим переключением главной ноды.
Примечание
Синхронная репликация требуется в случае необходимости гарантировать отсутствие потерь выполненных транзакций при сбоях
Хранение файлов#
gs-ctk требует для своей работы несколько файловых хранилищ:
системное, для хранения комплектов приложений и комплектов групп. Указывается для всего gs-ctk при установке.
прикладное, для хранения прикрепленных файлов. Указывается для группы ресурсов.
Примечание
Помимо указанных томов, можно примонтировать и другие (пока только NFS). Команды для управления точками монтирования смотрите в справке по nsctl/resgroup.
На данный момент поддерживаются только NFS-хранилища.
Алгоритм развертывания#
Установить
nscli
Развернуть пространство имен с
nsctl
Сформировать комплект приложений
Создать необходимый перечень групп и книг ресурсов и сконфигурировать его.
Включить конфигурацию
Совет
Подробнее о развертывании читайте в Руководстве системного администратора.