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 расположена в документации.
По всем возникающим вопросам вы всегда можете связаться с нашим онлайн-сообществом.