Deckhouse Platform в существующем кластере

Все установлено, настроено и работает!

Рассмотрим дальнейшие возможности Deckhouse, открывающиеся сразу после установки.

Внутрикластерная документация доступна по адресу deckhouse.example.com

Доступ к документации ограничен basic-аутентификацией (больше вариантов аутентификации можно получить включив модуль user-auth:

  • Логин — admin
  • Пароль — сгенерирован автоматически. Узнать его можно в ConfigMap deckhouse в секции конфигурации модуля deckhouse-web, например, выполнив следующую команду:

    kubectl -n d8-system get cm deckhouse -o jsonpath="{.data.deckhouseWeb}" | grep password
    

    Пример вывода:

    $ kubectl -n d8-system get cm deckhouse -o jsonpath="{.data.deckhouseWeb}" | grep password 
    password: UJvSB4UYTa3fnDOco6LF
    

Если адрес deckhouse.example.com недоступен, возможные следующие причины

  • проблема на уровне Ingress-контроллера
  • проблема с DNS
  • сетевые проблемы (фильтрация, маршрутизация…)

Главное

Мониторинг

Включите модуль prometheus, изучите Grafana дэшборды поставляемые с Deckhouse, которые будут доступны по адресу grafana.example.com.

Dashboard

Включите модуль dashboard и получите доступ к Kubernetes Dashboard по адресу dashboard.example.com

Status page

Включите модуль upmeter и узнайте общий статус Deckhouse и его компонентов по адресу status.example.com, а также контролируйте соблюдение SLA с детализацией по каждому компоненту и временному периоду по адресу upmeter.example.com

Деплой первого приложения

Настройка CI/CD-системы

Включите модуль user-authz и создайте ServiceAccount, который будет осуществлять деплой в кластер.

Результатом станет kubeconfig, который можно использовать во всех системах деплоя в Kubernetes.

Направляем трафик на приложение

Ознакомьтесь с возможностями модуля ingress-nginx.

Создайте Service и Ingress для вашего приложения.

Мониторинг приложения

Включите модуль monitoring-custom и добавьте аннотации prometheus.deckhouse.io/custom-target: "my-app" и prometheus.deckhouse.io/port: "80" к созданному Service.

Внешняя аутентификация

С помощью модуля user-authn Deckhouse поддерживает множество механизмов внешней аутентификации.

Настройка DexProvider

Например, для включения аутентификации через GitHub можно включить модуль user-authn и сконфигурировать объект DexProvider. После создания DexProvider, при попытке доступа ко всем компонентам Deckhouse (Grafana, Dashboard и т.д.) потребуются аутентификации через GitHub.

Внешняя аутентификация для любого Ingress

Чтобы включить внешнюю аутентификацию для любого Ingress-ресурса, необходимо включить модуль user-authn и создать объект DexAuthenticator.

Внешняя аутентификация для Kubernetes API

Включите модуль user-authn, настройте publishAPI, установите локально kubectl и создайте kubeconfig для внешнего доступа к API в веб-интерфейсе kubeconfig.example.com.

Что дальше?

Подробная информация о системе в целом и по каждому компоненту Deckhouse Platform расположена в документации.

По всем возникающим вопросам вы всегда можете связаться с нашим онлайн-сообществом.