Перейти к содержанию

Описание архитектуры Nova Container Platform

Введение

Nova Container Platform - это комплексная платформа на базе Kubernetes для доставки, развертывания и масштабирования приложений в контейнерах.

В Nova Container Platform привычные технологии Kubernetes дополнены множеством различных инструментов и решений для построения единой среды размещения приложений.

О Kubernetes

Kubernetes - открытое ПО для автоматизации развертывания, масштабирования и управления приложениями в контейнерах. В современной разработке контейнеры и образы, из которых они запускаются, являются основными структурными элементами. Для обеспечения масштабируемости приложений требуется надежная и гибкая система управления. Kubernetes де-факто является стандартом в оркестрации контейнерами.

Kubernetes является расширяемой платформой с быстро растущей экосистемой.

Преимущества использования приложений в контейнерах

Использование приложений в контейнерах дает много преимуществ по сравнению с традиционными методами развертывания. Вместо установки приложения в ОС на отдельной виртуальной машине, вы можете создать контейнер, который будет включать все зависимости данного приложения. Вы можете перенеси данный контейнер в любую среду (облако, платформа виртуализации, локальная машина), и он будет работать без изменений.

Дополнительные преимущества использования контейнеров:

  • Простота создания образа контейнера по сравнению с ВМ.

  • Возможность наладки процессов непрерывной интеграции и доставки.

  • Возможность быстрого отката версии приложения.

Операционные системы

Контейнеры используют небольшие дистрибутивы ОС семейства Linux без ядра. Их файловая система, сетевая подсистема, контрольные группы (cgroups) изолированы от хостовой ОС. Вы можете развертывать на одном сервере множество разных контейнеров с приложениями, требующими разные ОС или несовместимые завимости.

Развертывание и масштабирование

С помощью инструменов Kubernetes вы легко можете применять практику непрерывного обновления (rolling update) для вашего приложения без влияния на пользователей. Вы также можете развертывать новую версию приложения в целях тестирования совместно с основной версией.

Поскольку все программные зависимости для приложения находятся внутри контейнера, вы можете использовать любую подходящую под ваши требования ОС. В редких случаях из-за особенности нагрузки вам может потребоваться дополнительная конфигурация ОС на узлах, выделенных под работу вашего приложения.

Для возможности масштабирования приложений в контейнерах Nova Container Platform предлагает как встроенные инструменты Kubernetes, так и дополнительные инструменты. Они позволяют изменять как количество реплик приложений, так и объем потребляемых ими ресурсов на основе оценки данных из пользовательских метрик в системе мониторинга. Это позволяет не только масштабировать требуемые сервисы при росте нагрузке, но и в зависимости от различных параметров (например, бизнес-метрик).

Преимущества Nova Container Platform

Nova Container Platform дополняет Kubernetes решениями, необходимыми для промышленной эксплуатации кластера, и имеет ключевые преимущества по сравнению с обычным дистрибутивом Kubernetes:

  • Единая утилита управления платформой nova-ctl позволяет в автоматизированном режиме выполнять установку и обслуживание платформы в различных средах.

  • Быстрое развертывание платформы за счет параллельного взаимодействия установщика с узлами.

  • Автоматизированное обновление TLS-сертификатов платформы.

  • Автоматизированное обновление компонентов платформы, в том числе компонентов Kubernetes.

  • Поддержка сертифицированных российских ОС.

  • Интеграция процессов развертывания и управления жизненным циклом с платформами виртуализации.

  • Интеграция компонентов с открытым исходным кодом из экосистемы Kubernetes.

  • Работа в экосистеме ОРИОН: поддержка платформы виртуализации zVirt и CMP-платформы Cloudlink.

  • Безопасность среды согласно лучшим практикам сообщества Kubernetes и CIS (Center for Internet Security).

  • Наличие интегрированных в платформу решений для мониторинга, оповещения, сбора диагностической информации, сбора событий ИБ с инфраструктуры Kubernetes.

  • Наличие встроенных инструментов контроля отклонений от желаемой конфигурации как на уровне компонентов кластера, так и на уровне сервисов платформы.

  • Наличие полноценного графического веб-интерфейса управления платформой.

  • Наличие встроенных инструментов для организации процессов непрерывной доставки и обновления приложений в кластер Kubernetes.

  • Наличие встроенных балансировщиков сетевого трафика для публикации приложений.

Следующие шаги