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.ai.chat.enabled

Включает встроенный AI-чат в интерфейсе Console

true

console.replicas

Количество реплик Console

1

console.baseUrl

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

'https://console.{{ include "ingress.domain" . }}'

console.docs

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

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

console.k8sApiEndpoint

Явно заданный endpoint Kubernetes API для Console при необходимости переопределения

''

console.tls.enabled

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

true

console.oidc.enabled

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

true

console.oidc.inactivityTimeout

Тайм-аут неактивности пользовательской сессии в секундах

1800

console.oidc.issuerUrl

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

'https://auth.{{ include "ingress.domain" . }}'

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.{{ include "ingress.domain" . }}'

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

console.offCluster.port

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

6443

console.alerting.enabled

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

true

console.alerting.alertmanager

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

'https://alertmanager.{{ include "ingress.domain" . }}'

console.monitoring.enabled

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

false

console.monitoring.metrics

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

'https://metrics.{{ include "ingress.domain" . }}/select/0/prometheus'

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

Параметр

Описание

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

image.repository

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

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

image.pullPolicy

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

IfNotPresent

image.tag

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

4.12.0-master

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

Параметр

Описание

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

imagePullSecrets

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

[]

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

Параметр

Описание

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

nameOverride

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

""

fullnameOverride - переопределение полного имени ресурсов чарта#

Параметр

Описание

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

fullnameOverride

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

""

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

Параметр

Описание

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

annotations

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

{}

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

Параметр

Описание

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

labels

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

{}

podLabels - метки для pod#

Параметр

Описание

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

podLabels

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

{}

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

Параметр

Описание

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

podAnnotations

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

{}

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

Параметр

Описание

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

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

Список хостов и маршрутов, публикуемых через Ingress

- host: „console.“
paths:
- backend:
service:
name: console
path: /
pathType: Prefix

ingress.tls

Список TLS-настроек для Ingress, включая секрет и хост

- secretName: ingress-tls
hosts:
- „console.“

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

Параметр

Описание

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

extraEnv

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

{}

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

Параметр

Описание

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

volumes

Список томов, подключаемых к Console

- name: ingress-tls
config:
secret:
defaultMode: 420
secretName: ingress-tls

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

Параметр

Описание

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

volumeMounts

Список монтирований томов, подключаемых в Console

- mountPath: /etc/ingress-tls
name: ingress-tls
readOnly: true

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

Параметр

Описание

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

resources.requests.cpu

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

10m

resources.requests.memory

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

100Mi

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

Параметр

Описание

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

autoscaling.enabled

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

false

autoscaling.minReplicas

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

1

autoscaling.maxReplicas

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

100

autoscaling.targetCPUUtilizationPercentage

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

80

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

Параметр

Описание

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

nodeSelector

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

{}

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

Параметр

Описание

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

tolerations

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

[]

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

Параметр

Описание

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

affinity

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

{}

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

Параметр

Описание

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

sidecars

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

[]

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

Параметр

Описание

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

hostAliases

Список псевдонимов хостов для добавления в /etc/hosts контейнера. Пример конфигурации:

- ip: «127.0.0.1»
hostnames:
- «kubernetes.default.svc»

[]