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-адресов.