Console#

Console - это веб-интерфейс для управления кластерами DropApp, который предоставляет удобный GUI для работы с ресурсами кластера, включая создание pod и развертывание приложений.

Основные задачи и возможности
  • Визуальное управление ресурсами кластера:

    Позволяет просматривать и управлять pod, service, deployment и другими объектами Kubernetes через браузерный интерфейс.

  • Интеграция с метриками и мониторингом:

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

  • Упрощенное развертывание приложений:

    Поддерживает загрузку манифестов YAML, создание ресурсов через форму и запуск приложений без использования командной строки.

  • Работа с политиками безопасности и доступом:

    Позволяет управлять RBAC, сервисными аккаунтами, ролями и привязками.

  • Поддержка дополнительных плагинов и сервисов:

    Может интегрироваться с такими компонентами, как Operator Lifecycle Manager (OLM), системами биллинга и другими расширениями.

Примечание

Console является единственным инструментом в компоненте Ui и устанавливается по умолчанию в процессе установки всего кластера DropApp. Также, по умолчанию Console интегрирована с Dex.

В случае высокодоступного кластера (3 control-plane узла), Console автоматически имеет 2 реплики.

Конфигурация values#

Значения можно переопределить через редактирование инструмента с именем console и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».

console - основные настройки консоли DropApp#

Параметр

Описание

Значение по умолчанию

console.replicas

Количество реплик консольного приложения

1

console.baseUrl

Базовый URL для доступа к консоли. Формируется из глобального домена

'https://console.{{ .Values.global.publicDomain }}'

console.docs

URL документации консоли

'https://client.sbertech.ru/docs/public/K8S/'

console.tls.enabled

Включить TLS для консоли

true

console.oidc.enabled

Включить OIDC-аутентификацию

true

console.oidc.issuerUrl

URL провайдера OIDC для аутентификации

'https://auth.{{ .Values.global.publicDomain }}'

console.oidc.caFile

Путь к файлу сертификата CA для OIDC

"/etc/ingress-tls/tls.crt"

console.oidc.clientId

ID клиента для OIDC аутентификации

dapp

console.oidc.clientSecret

Секрет клиента для OIDC аутентификации в base64

<secret>

console.dex.host

Хост для Dex сервера аутентификации

'https://auth.{{ .Values.global.publicDomain }}'

console.dex.tlsSecretName

Имя секрета с TLS-сертификатаом для Dex

ingress-tls

console.inCluster.enabled

Включить режим работы внутри кластера Kubernetes

true

console.offCluster.enabled

Включить режим работы вне кластера Kubernetes

false

console.offCluster.host

Хост API-сервера Kubernetes для внешнего подключения

[https://kubernetes.default.svc](https://kubernetes.default.svc)

console.offCluster.port

Порт API-сервера Kubernetes для внешнего подключения

6443

console.alerting.enabled

Включить интеграцию с системой оповещений

true

console.alerting.alertmanager

URL Alertmanager для получения оповещений (актуально если console.offCluster.enabled=true)

'https://alertmanager.{{ .Values.global.publicDomain }}'

console.monitoring.enabled

Включить интеграцию с системой мониторинга

false

console.monitoring.metrics

URL системы метрик (Prometheus) для получения данных мониторинга (актуально если console.offCluster.enabled=true)

'https://metrics.{{ .Values.global.publicDomain }}/select/0/prometheus'

image - конфигурация Docker-образа консоли#

Параметр

Описание

Значение по умолчанию

image.repository

Полный путь к репозиторию Docker-образа консоли

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-ui/dev/console'

image.pullPolicy

Политика загрузки образа Docker. IfNotPresent - загрузка при отсутствии локального образа

IfNotPresent

image.tag

Тег Docker-образа для развертывания

4.12.0-master

imagePullSecrets - секреты для загрузки приватных образов#

Параметр

Описание

Значение по умолчанию

imagePullSecrets

Список секретов для аутентификации в приватных Docker-репозиториях

[]

nameOverride - переопределение имен ресурсов#

Параметр

Описание

Значение по умолчанию

nameOverride

Переопределить базовое имя ресурсов чарта

""

fullnameOverride

Полное переопределение имени ресурсов чарта

""

annotations - аннотации для ресурсов Kubernetes#

Параметр

Описание

Значение по умолчанию

annotations

Дополнительные аннотации для применения к ресурсам чарта

{}

labels - метки для ресурсов Kubernetes#

Параметр

Описание

Значение по умолчанию

labels

Дополнительные метки для применения к ресурсам чарта

{}

podLabels - метки для подов#

Параметр

Описание

Значение по умолчанию

podLabels

Дополнительные метки для применения к pods

{}

podAnnotations - аннотации для подов#

Параметр

Описание

Значение по умолчанию

podAnnotations

Дополнительные аннотации для применения к pods

{}

podSecurityContext - контекст безопасности пода#

Параметр

Описание

Значение по умолчанию

podSecurityContext.enabled

Включить настройки контекста безопасности pod

true

podSecurityContext.runAsUser

ID пользователя для запуска контейнера в pod

1001

securityContext - контекст безопасности контейнера#

Параметр

Описание

Значение по умолчанию

securityContext.enabled

Включить настройки контекста безопасности контейнера

true

securityContext.capabilities.drop

Список привилегий, которые нужно убрать у контейнера

["ALL"]

securityContext.readOnlyRootFilesystem

Монтировать корневую файловую систему только для чтения

true

securityContext.allowPrivilegeEscalation

Разрешить повышение привилегий внутри контейнера

false

securityContext.runAsNonRoot

Запускать контейнер от имени непривилегированного пользователя

true

securityContext.runAsUser

ID пользователя для запуска контейнера

1001

service - конфигурация Kubernetes Service#

Параметр

Описание

Значение по умолчанию

service.type

Тип Service Kubernetes (ClusterIP, NodePort, LoadBalancer)

ClusterIP

service.port.http

Порт для HTTP трафика

9000

service.port.https

Порт для HTTPS трафика

9443

ingress - конфигурация Kubernetes Ingress#

Параметр

Описание

Значение по умолчанию

ingress.enabled

Включить создание ресурса Ingress для внешнего доступа

true

ingress.className

Класс Ingress-контроллера для обработки правил

"nginx"

ingress.annotations

Дополнительные аннотации для ресурса Ingress

{}

ingress.hosts.host

Хост для доступа к консоли через Ingress

'console.{{ .Values.global.publicDomain | default "dapp.test" }}'

ingress.hosts.paths.backend.service.name

Имя Service для маршрутизации трафика

console

ingress.hosts.paths.path

Путь для маршрутизации запросов

/

ingress.hosts.paths.pathType

Тип сопоставления пути (Prefix, Exact)

Prefix

ingress.tls.secretName

Имя секрета с TLS-сертификатом

ingress-tls

ingress.tls.hosts

Хост, для которого применяется TLS-сертификат

'console.{{ .Values.global.publicDomain | default "dapp.test" }}'

extraEnv - дополнительные переменные окружения#

Параметр

Описание

Значение по умолчанию

extraEnv

Дополнительные переменные окружения для контейнера консоли

{}

volumes - конфигурация томов#

Параметр

Описание

Значение по умолчанию

volumes.name

Имя тома для TLS-сертификатов

ingress-tls

volumes.config.secret.defaultMode

Права доступа к файлам в секрете

420

volumes.config.secret.secretName

Имя секрета содержащего TLS-сертификаты

ingress-tls

volumeMounts - монтирование томов#

Параметр

Описание

Значение по умолчанию

volumeMounts.mountPath

Путь монтирования TLS-сертификатов в контейнере

/etc/ingress-tls

volumeMounts.name

Имя тома для монтирования

ingress-tls

volumeMounts.readOnly

Монтировать том только для чтения

true

resources - ресурсы контейнера#

Параметр

Описание

Значение по умолчанию

resources.requests.cpu

Минимальное количество CPU для контейнера

10m

resources.requests.memory

Минимальное количество памяти для контейнера

100Mi

autoscaling - автоматическое масштабирование#

Параметр

Описание

Значение по умолчанию

autoscaling.enabled

Включить горизонтальное автомасштабирование pods

false

autoscaling.minReplicas

Минимальное количество реплик при автомасштабировании

1

autoscaling.maxReplicas

Максимальное количество реплик при автомасштабировании

100

autoscaling.targetCPUUtilizationPercentage

Целевой процент использования CPU для масштабирования

80

nodeSelector - выбор узлов для размещения#

Параметр

Описание

Значение по умолчанию

nodeSelector

Селектор узлов для размещения pods на определенных узлах кластера

{}

tolerations - толерантности к taint узлов#

Параметр

Описание

Значение по умолчанию

tolerations

Список толерантностей для размещения подов на узлах с taint

[]

affinity - правила размещения pods#

Параметр

Описание

Значение по умолчанию

affinity

Правила affinity/anti-affinity для размещения pods

{}

sidecars - дополнительные контейнеры#

Параметр

Описание

Значение по умолчанию

sidecars

Список дополнительных sidecar-контейнеров в pod

[]

hostAliases - псевдонимы хостов#

Параметр

Описание

Значение по умолчанию

hostAliases

Список псевдонимов хостов для добавления в /etc/hosts контейнера

[]