Deckhouse Platform в kind

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

Давайте посмотрим что доступно в модуле monitoring:

  • Grafana доступна по адресу grafana-127-0-0-1.nip.io.

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

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

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

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

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

    Изучите дэшборды Grafana, поставляемые с Deckhouse.

  • Prometheus доступен по адресу: grafana-127-0-0-1.nip.io/prometheus/

Deckhouse, развернутый в кластере kind, вполне пригоден для ознакомления с остальными возможностями, которые понадобятся для полноценных production-окружений. Далее, информация о таких возможностях Deckhouse.

Главное

Dashboard

Включите модуль dashboard и получите доступ к Kubernetes Dashboard по адресу dashboard-127-0-0-1.nip.io

Для работы Dashboard необходимо включить модуль user-authz.

Status page

Включите модуль upmeter чтобы видеть общий статус Deckhouse по адресу status-127-0-0-1.nip.io, а также чтобы получать данные о доступности компонентов Deckhouse по адресу upmeter-127-0-0-1.nip.io.

 

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

Deckhouse делает проще настройку доступа CI/CD-системы в кластер для развертывания вашего приложения, позволяет обеспечить его мониторинг по вашим метрикам.

Настройка 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 расположена в документации.

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