Плоскость управления Ptah
Ptah превращает описание конвергентной платформы в работающие ресурсы Kubernetes.
Это плоскость управления системой: она определяет, что должно существовать для платформы,
какие решения активны и как размещаются рабочие нагрузки и хранилища арендаторов.
Целевая модель платформы
Модель развертывания состоит из трех уровней:
| Ресурс | Значение |
|---|---|
| Платформа | Общая среда выполнения, маршрутизация, профиль хранилища, приложения и карта модулей. |
| Решение | Набор бизнес-модулей, рабочих процессов и обработчиков, добавляемых в платформу. |
| Арендатор | Изолированный сайт со своей областью, маршрутами и, при необходимости, сегментом хранилища. |
Ptah отслеживает эти ресурсы и создает полный целевой набор
развертываний, сервисов, томов, конфигурации и маршрутов. Затем Kubernetes
приводит кластер в соответствие с этим описанием.
Платформа + Решение + Арендатор
|
v
Ptah
|
v
Рабочие нагрузки, хранилища и маршруты Kubernetes
Политика и механизм
Ptah отделяет механизмы кластера от политики продукта. Нативный контроллер
отслеживает Kubernetes, применяет ресурсы, записывает состояние и удаляет устаревшие
объекты. Чистый слой политики преобразует наблюдаемые данные платформы в целевой
результат, не выполняя сетевых вызовов и не изменяя сам кластер.
Поэтому ту же политику можно оценить до развертывания. Это делает решения
по размещению и жизненному циклу проверяемыми, не требуя воспроизводить их во
втором генераторе конфигурации.
Профили развертывания
Профили изменяют размещение хранилищ, не изменяя образы приложений:
запускает один экземпляр хранилища для компактной платформы;monoраспределяет области между сегментами хранилища;multiпредоставляет каждому арендатору изолированный экземпляр хранилища и границу маршрутизации.cloud
Правило владения томами остается одинаковым для каждого профиля: у каждого микросервиса
есть собственный том хранилища. Ptah определяет, какой экземпляр Behemoth монтирует эти
тома, и публикует сопоставление области с хранилищем, используемое рабочими нагрузками без
состояния.
Модули и развертывание
Решения именуют модули, а не встраивают их содержимое. Ptah распространяет
карту модулей, адресуемых по содержимому, и предоставляет неизменяемое содержимое модулей
через общий кэш. Потребители получают точный дайджест, который им следует загрузить.
Когда выбранный дайджест изменяется, вместе с ним изменяется описание рабочей нагрузки, и
Kubernetes выполняет развертывание. Поэтому работающий под фиксирует точное содержимое
модуля, с которым он был запущен, а откат означает повторный выбор предыдущего
дайджеста.
Безопасная сверка
Ptah применяет полный целевой набор и очищает ресурсы, которые больше ему не принадлежат.
Ресурсы, содержащие данные, сохраняются, если только удаление не запрошено явно. Неполные
входные данные или сбой политики подавляют очистку, не позволяя временной проблеме
зависимости быть интерпретированной как запрос на удаление платформы.
Место в системе
Ptah не является равноправным узлом шины сообщений Fujin и не обрабатывает бизнес-трафик.
Он создает и настраивает узлы, хранилища и маршруты, из которых состоит среда выполнения.
После их запуска Fujin, Behemoth, Centimanus и Resonus выполняют свою работу независимо
от плоскости управления.