Deckhouse отвечает за то, чтобы кластер одинаково работал на любой поддерживаемой инфраструктуре:

  • в облаках (смотри информацию по соответствующему cloud provider’у);
  • на виртуальных машинах или железе (включая on-premises);
  • в гибридной инфраструктуре.

Для этого Deckhouse автоматически настраивает и управляет как узлами кластера, так и его компонентами control plane, постоянно поддерживая их актуальную конфигурацию (используя инструменты Terraform).

Deckhouse позволяет легко выполнять такие нетривиальные операции с компонентами control plane и узлами кластера, как:

  • миграция между single-master- и multi-master-схемами;
  • масштабирование master-узлов;
  • обновление версий компонентов.

Операции выполняются по умным и безопасным алгоритмам с возможностью пользовательского контроля и управления происходящими процессами.

Также Deckhouse настраивает конфигурацию kubelet на узлах и берет на себя заботу о состоянии используемых при работе с control plane сертификатов, выполняя их выпуск и продление.

Deckhouse заменяет собственными версиями ресурсы, относящиеся к kube-proxy от kubeadm (соответствующие DaemonSet, ConfigMap, RBAC).

Интеграция между модулями Deckhouse позволяет сразу получить эффективный мониторинг и обеспечить приемлемый уровень безопасности. Например, можно легко организовать надежный доступ к API-серверу кластера через публичный IP-адрес, в том числе с возможностью работы через внешний провайдер аутентификации.

Образы всех компонентов Deckhouse, включая control plane, хранятся в высокодоступном и геораспределенном container registry. Для удобства организации доступа из изолированных контуров container registry доступен с фиксированного набора IP-адресов.