Loginapp#
Loginapp - это веб-приложение для настройки аутентификации в Kubernetes CLI через OIDC (OpenID Connect). Оно упрощает процесс входа в кластер, позволяя пользователям проходить аутентификацию через внешний провайдер (например, Dex, Keycloak, Google), получать ID-токен и автоматически настраивать kubeconfig для использования с Kubectl.
Основные задачи и возможности
Позволяет пользователям кластера аутентифицироваться через стандартный OIDC-flow (authorization code flow) и получать токены без ручного взаимодействия с URL-адресами или файлами конфигурации.
После успешного входа формирует готовый
kubeconfig, который можно скачать или использовать напрямую.Конфигурируется через флаги командной строки, переменные окружения или YAML-файл, что удобно для развертывания в Kubernetes.
Работает с любым OIDC-совместимым провайдером, таким как Dex, что позволяет использовать единую точку входа для доступа к нескольким кластерам.
Поддерживает настройку названия приложения, шаблонов и статических ресурсов.
Примечание
Loginapp интегрирован с Dex, при этом он не является инструментом по умолчанию в компоненте Auth, его нужно включить в spec Component или установить как отдельный инструмент.
Настройка#
Для регистрации кластера в Loginapp укажите его параметры в конфигурации инструмента, в разделе config.clusters:
values:
config:
clusters:
- name: my-cluster
server: https://apiserver.my-cluster.dapp.ru:6443
certificate-authority: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Конфигурация values#
Параметры Loginapp можно переопределить через редактирование нужных значений в spec.values. Общее описание конфигурации values для инструментов приведено в разделе «Конфигурации инструментов дополнительных компонентов».
replicas - количество реплик deployment#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество реплик pod для обеспечения высокой доступности приложения |
|
imagePullPolicy - политика загрузки образов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика загрузки образа контейнера. Возможные значения: |
|
imagePullSecrets - секреты для доступа к приватным registry#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список Kubernetes-секретов типа |
|
nameOverride - переопределение имени чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение имени чарта, используемого для генерации имен ресурсов |
|
fullnameOverride - полное переопределение имени релиза#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полное переопределение имени для всех создаваемых ресурсов, игнорирует стандартную генерацию имени |
|
serviceAccount - настройки учетной записи сервиса#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание |
|
|
Аннотации для добавления к |
|
|
Имя |
Не задан |
podSecurityContext - контекст безопасности на уровне pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Требование запуска контейнера от имени непривилегированного пользователя |
|
securityContext - контекст безопасности контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список Linux |
|
|
Сделать корневую файловую систему контейнера доступной только для чтения |
|
|
Требование запуска контейнера от имени непривилегированного пользователя |
|
|
UID пользователя, от имени которого запускается процесс в контейнере |
|
service - настройки Kubernetes Service#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Тип Kubernetes |
|
|
Порт, на котором |
|
|
Фиксированный порт на узлах кластера для типа |
Не задан |
|
Фиксированный IP-адрес для |
Не задан |
ingress - настройки входящего трафика#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание Ingress-ресурса для внешнего доступа к приложению |
|
|
Имя |
|
|
Дополнительные аннотации для настройки поведения Ingress-контроллера |
|
|
Список хостов и путей для маршрутизации трафика |
Один хост: |
|
Доменное имя для доступа к Loginapp |
|
|
URL-путь для маршрутизации запросов |
|
|
Тип соответствия пути. Возможные значения: |
|
|
Конфигурация TLS для защищенного HTTPS-соединения |
Использует секрет |
|
Имя Kubernetes |
|
|
Список доменных имен, для которых применяется TLS-сертификат |
|
resources - лимиты и запросы ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Максимальное количество ядер CPU, которое может использовать контейнер |
|
|
Максимальное количество оперативной памяти, которое может использовать контейнер |
|
|
Гарантированное количество ядер CPU для контейнера при планировании |
|
|
Гарантированное количество оперативной памяти для контейнера при планировании |
|
nodeSelector - селектор узлов для размещения pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Набор меток для выбора узлов кластера, на которых можно запускать pod-приложения |
|
tolerations - допуски для размещения на узлах с taint#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список допусков, позволяющих подам размещаться на узлах с соответствующими |
|
affinity - правила привязки pod к узлам#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Правила |
|
env - дополнительные переменные окружения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Произвольные переменные окружения для контейнера в формате «ключ-значение». Поддерживаются переменные с префиксом |
|
args - дополнительные аргументы командной строки#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные аргументы для передачи в команду запуска Loginapp, например, |
|
config - основная конфигурация приложения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Название приложения, отображаемое в веб-интерфейсе |
Имя Helm-релиза |
|
Имя существующего Kubernetes |
Не задан |
|
Секрет приложения для шифрования сессий (должен быть идентичен на всех репликах). Если пустое, генерируется случайная строка |
Не задан |
|
OIDC Client |
|
|
OIDC Client |
задан по умолчанию |
|
URL для перенаправления после OIDC-аутентификации, должен заканчиваться на |
|
|
Имя Kubernetes |
|
|
Имя |
Не задан |
|
Ключ в |
|
|
Пропустить проверку TLS-сертификата OIDC-провайдера (не рекомендуется для production) |
|
|
URL-адрес OIDC-провайдера ( |
|
|
Запрос |
|
|
Включение TLS-терминацию на уровне приложения |
|
|
Имя Kubernetes |
|
|
DNS-имена (Subject Alternative Names) для самоподписанного сертификата |
|
|
IP-адреса (Subject Alternative Names) для самоподписанного сертификата |
|
|
Список Kubernetes-кластеров для отображения в веб-интерфейсе и генерации |
|
|
Произвольные переопределения конфигурации, объединяемые с автоматически сгенерированной конфигурацией |
|
|
Переопределение HTML-шаблонов для страниц ошибок и отображения токенов |
Не задан |