Deckhouse Commander — это веб-приложение, в котором создают однотипные кластеры на базе Deckhouse Kubernetes Platform, управляют их конфигурацией и жизненным циклом.
Основные возможности
- Создание, обновление и удаление кластеров Deckhouse Kubernetes Platform.
- Унификация и актуализация кластеров за счет шаблонизации кластеров.
- Отслеживание изменений, приведение кластеров к заданной в Deckhouse Commander конфигурации.
- Управление операционными потребностями с помощью встроенного интерфейса администрирования.
- Управление перечнями вычислительных ресурсов, используемых в кластерах.
- API для внешней интеграции.
- Присоединение и отсоединение существующих кластеров.
Скоро появятся:
- Обзор облачных ресурсов, созданных с кластером.
- Мультитенантность и self-сервис.
- Управление доступом: пользователями и их правами.
- Управление проектами.
- Федеративные возможности кластеров.
- Интеграция с другими продуктами экосистемы Deckhouse: Observability Platform, Stronghold, Registry и другими.
Создание, обновление и удаление кластеров Deckhouse Kubernetes Platform
Создание, обновление и удаление кластеров на основе Deckhouse Kubernetes Platform доступно как на облачных платформах, так и на статических ресурсах. Поэтому предварительно для кластера нужно предусмотреть доступ в API облачной платформы или на заранее созданные (статические) вычислительные ресурсы (физические или виртуальные машины, сетевой доступ и т.п.), на основе которых будет создан кластер.
Deckhouse Commander позволяет легко создавать кластеры, обновлять их конфигурацию и удалять кластеры. При создании кластера в облачном API, Deckhouse Commander создаст необходимые облачные ресурсы автоматически, а на статических ресурсах проведет их необходимую настройку. При удалении кластера автоматически созданные облачные ресурсы будут удалены, а вручную созданные статические ресурсы будут зачищены от компонентов Deckhouse Kubernetes Platform.
Унификация и актуализация кластеров за счет шаблонизации кластеров
Воспроизведение единообразных кластеров Deckhouse Kubernetes Platform достигается за счет использования шаблонов конфигурации кластеров. Пользователь описывает конфигурацию кластера, выбирает какими параметрами ее параметризовать, и в результате получает шаблон конфигурации, готовый к многоразовому использованию.
На основе одного шаблона создают кластеры, а за счет входных параметров шаблона определяют индивидуальные особенности конфигурации кластера. Таким образом на основе шаблона можно создать много единообразных кластеров с той свободой конфигурации, которую предоставил автор шаблона.
Существующий шаблон можно обновить, и затем перевести уже созданные кластеры на новую версию шаблона. На базе обновленного шаблона будет сгенерирована новая конфигурация кластера. Deckhouse Commander приведет существующий кластер Deckhouse Kubernetes Platform в соответствие этой конфигурации. Таким образом достигается актуализация существующего парка кластеров.
Отслеживание изменений, приведение кластеров к заданной в Deckhouse Commander конфигурации
Deckhouse Commander — источник истины для конфигурации кластеров, которыми он управляет. Deckhouse Commander отслеживает текущую конфигурацию кластеров Deckhouse Kubernetes Platform: как конфигурацию инфраструктуры, на основе которой создан кластер, так и конфигурацию Kubernetes. Когда Deckhouse Commander обнаруживает расхождение между заданной в нем конфигурацией и фактической конфигурацией, Deckhouse Commander приводит фактическую конфигурацию к заданной.
Таким образом, если изменяется конфигурация на стороне Deckhouse Commander, то Deckhouse Commander обновляет кластер и приводит его к новому актуальному состоянию. Если конфигурация изменяется на стороне кластера, то Deckhouse Commander откатывает изменения и приводит кластер к целевому виду.
Управление операционными потребностями с помощью встроенного интерфейса администрирования
В веб-интерфейсе Deckhouse Commander можно открыть страницу администрирования кластера. Бывает, что часть конфигурации кластера удобнее отрегулировать вручную в частном порядке, чем задавать в шаблоне кластера и отслеживать через Deckhouse Commander. Чтобы настроить кластер в частном порядке, не покидая Deckhouse Commander, используют страницу администрирования кластера.
Управление перечнями вычислительных ресурсов, используемых в кластерах
Для создания кластера может потребоваться указать заранее выделенные вычислительные ресурсы. Такими ресурсами могут быть виртуальные машины, сети, системные учетные записи в API виртуализации, балансировщики нагрузки и т.п. При этом эти вычислительные ресурсы представляют собой конкретные экземпляры ресурсов, которые нужно использовать в кластере Deckhouse Kubernetes Platform и во время существования кластера не использовать в других кластерах.
Может быть удобным вести учет таких ресурсов, и иметь информацию о том, какие ресурсы свободны, а какие заняты кластерами.
Для ведения перечня ресурсов в Deckhouse Commander существует раздел «Ресурсы». Он содержит ресурсы, сгруппированные по каталогам. Каталоги ресурсов задают схему данных, эту схему определяет пользователь. Ресурсы в каждом каталоге представляют собой данные, соответствующие схеме данных каталога.
В шаблоне кластера входной параметр можно задать как выбор одного или нескольких ресурсов из конкретного каталога. Таким образом во время создания или изменения кластера Deckhouse Kubernetes Platform ресурсы могут использоваться как данные внутри конфигурации кластера. А внутри каталога занятые кластером ресурсы отдельно отмечаются, и в другом кластере такие ресурсы использовать нельзя. Когда кластер удаляют, использованные в нем ресурсы освобождаются для последующего использования в других кластерах. Также неиспользованные ресурсы можно удалить из каталога.
API для внешней интеграции
Deckhouse Commander предоставляет программный интерфейс (API) для управления кластерами и ресурсами. Чтобы воспользоваться API Deckhouse Commander, нужно выпустить токен доступа в веб-интерфейсе в меню «Настройки».
Доступ к API позволяет отслеживать состояние кластеров и ресурсов, а также создавать, удалять и изменять кластеры. API открывает возможность для интеграции со сторонними инструментами управления инфраструктуры или для ее отслеживания.
Присоединение и отсоединение существующих кластеров
К Deckhouse Commander можно присоединить кластер на базе Deckhouse Kubernetes Platform, который был создан вручную или в другом Deckhouse Commander. Также кластер можно вывести из-под управления Deckhouse Commander, для этого есть возможность отсоединить кластер.