ZETRAKUBER - система оркестровки контейнеризированных приложений.
Программное обеспечение предназначено для автоматизации развёртывания, масштабирования и координации контейнеризированных приложений в среде кластера. Система позволяет облегчить управление большим количеством высоконагруженных серверов за счёт автоматизации контроля за работоспособностью компонентов пользовательских приложений, контроля потребляемых ресурсов памяти и процессора, балансировки нагрузки между серверами. В основе программного обеспечения лежат переработанные алгоритмы Kubernetes, дополненные интегрированным механизмом шифрования.
Функциональные возможности
Программа основана на системе контейнеризации Kubernetes и обладает следующими функциональными возможностями:
Мониторинг сервисов и распределение нагрузки:Kubernetes может обнаружить контейнер, используя имя DNS или собственный IP-адрес. Если трафик в контейнере высокий, Kubernetes может сбалансировать нагрузку и распределить сетевой трафик, чтобы развертывание было стабильным.
Оркестрация хранилища:Kubernetes позволяет автоматически смонтировать систему хранения по вашему выбору: локальное хранилище, провайдеры общедоступного облака и многое другое.
Автоматическое развертывание и откаты:Используя Kubernetes можно описать желаемое состояние развёрнутых контейнеров и изменить фактическое состояние на желаемое. Например, вы можете автоматизировать Kubernetes на создание новых контейнеров для развёртывания, удаления существующих контейнеров и распределения всех их ресурсов в новый контейнер.
Автоматическое распределение нагрузки:Вы предоставляете Kubernetes кластер узлов, который он может использовать для запуска контейнерных задач. Вы указываете Kubernetes, сколько ЦП и памяти (ОЗУ) требуется каждому контейнеру. Kubernetes может разместить контейнеры на ваших узлах так, чтобы наиболее эффективно использовать ресурсы.
Самоконтроль:Kubernetes перезапускает отказавшие контейнеры, заменяет и завершает работу контейнеров, которые не проходят определенную пользователем проверку работоспособности, а также не показывает их клиентам, пока они не будут готовы к обслуживанию.
Управление конфиденциальной информацией и конфигурацией:Kubernetes может хранить и управлять конфиденциальной информацией, такой как пароли, OAuth-токены и ключи SSH. Вы можете развёртывать и обновлять конфиденциальную информацию и конфигурацию приложения без изменения образов контейнеров и не раскрывая конфиденциальную информацию в конфигурации стека.
В дополнение к этому реализована возможность устанавливать защищенные соединения между компонентами системы в соответствии с требованиями ГОСТ по шифрованию (34.10-2018, 34.11-2018, 34.12-2015, 34.13-2015).
Для этого в систему были добавлены следующие модули:
Выпуск сертификатов, подписанных в соответствии с отечественными стандартами по формированию электронной подписи (ГОСТ 34.10-2018, 34.11-2018).
Шифрование потока данных в соответствии с отечественными требованиями по шифрованию.
Для их использования были переработаны:
Kubeadm для выпуска сертификатов, подписанных в соответствии с ГОСТами.
ApiServer и client-go для установления tls-соединений с отечественным шифрованием, если сертификаты подписаны в соответствии с ГОСТами.
Go-jose для подписания токенов в соответствии с ГОСТами.