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 для инструментов приведено в разделе «Конфигурации инструментов дополнительных компонентов».
-
imagePullPolicy - определить политику загрузки контейнерного образа
imagePullSecrets - определить секреты для загрузки образов из приватных реестров
nameOverride - определить сокращенное переопределение имени ресурсов
fullnameOverride - определить полное переопределение имени ресурсов
serviceAccount - определить настройки ServiceAccount для loginapp
podSecurityContext - определить pod-level securityContext для loginapp
securityContext - определить container-level securityContext для loginapp
consoleLink - определить отображение ссылки на loginapp в консоли
resources - определить requests и limits для контейнера loginapp
nodeSelector - определить правила выбора узлов для pod’ов loginapp
env - определить дополнительные переменные окружения для loginapp
config - определить основную конфигурацию loginapp и OIDC-подключения
configOverwrites - определить произвольные переопределения итоговой конфигурации loginapp
templates - определить переопределения HTML-шаблонов страниц loginapp
replicas - определить количество реплик deployment loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество реплик pod для обеспечения высокой доступности приложения |
|
image - определить контейнерный образ loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полный путь к контейнерному образу loginapp |
|
imagePullPolicy - определить политику загрузки контейнерного образа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика загрузки образа контейнера. Возможные значения: |
|
imagePullSecrets - определить секреты для загрузки образов из приватных реестров#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список Kubernetes-секретов типа |
|
nameOverride - определить сокращенное переопределение имени ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение имени чарта, используемого для генерации имен ресурсов |
|
fullnameOverride - определить полное переопределение имени ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полное переопределение имени для всех создаваемых ресурсов, игнорирует стандартную генерацию имени |
|
serviceAccount - определить настройки ServiceAccount для loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание |
|
|
Аннотации для добавления к |
|
|
Имя |
Не задан |
podSecurityContext - определить pod-level securityContext для loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Требование запуска контейнера от имени непривилегированного пользователя |
|
securityContext - определить container-level securityContext для loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список Linux |
|
|
Сделать корневую файловую систему контейнера доступной только для чтения |
|
|
Требование запуска контейнера от имени непривилегированного пользователя |
|
|
UID пользователя, от имени которого запускается процесс в контейнере |
|
service - определить настройки Service для loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Тип Kubernetes |
|
|
Порт, на котором |
|
|
Фиксированный порт на узлах кластера для типа |
Не задан |
|
Фиксированный IP-адрес для |
Не задан |
consoleLink - определить отображение ссылки на loginapp в консоли#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включает отображение ссылки на loginapp в интерфейсе консоли |
|
ingress - определить настройки Ingress для loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание Ingress-ресурса для внешнего доступа к приложению |
|
|
Имя |
|
|
Дополнительные аннотации для настройки поведения Ingress-контроллера |
|
|
Список хостов и путей для маршрутизации трафика |
|
|
Конфигурация TLS для защищенного HTTPS-соединения |
|
resources - определить requests и limits для контейнера loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Максимальное количество ядер CPU, которое может использовать контейнер |
|
|
Максимальное количество оперативной памяти, которое может использовать контейнер |
|
|
Гарантированное количество ядер CPU для контейнера при планировании |
|
|
Гарантированное количество оперативной памяти для контейнера при планировании |
|
nodeSelector - определить правила выбора узлов для pod’ов loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Набор меток для выбора узлов кластера, на которых можно запускать pod-приложения |
|
tolerations - определить tolerations для pod’ов loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список допусков, позволяющих подам размещаться на узлах с соответствующими |
|
affinity - определить affinity-правила для pod’ов loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Правила |
|
env - определить дополнительные переменные окружения для loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Произвольные переменные окружения для контейнера в формате «ключ-значение». Поддерживаются переменные с префиксом |
|
args - определить дополнительные аргументы запуска loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные аргументы для передачи в команду запуска Loginapp, например, |
|
config - определить основную конфигурацию loginapp и OIDC-подключения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Название приложения, отображаемое в веб-интерфейсе |
Не задан |
|
Имя существующего Kubernetes |
Не задан |
|
Секрет приложения для шифрования сессий (должен быть идентичен на всех репликах). Если пустое, генерируется случайная строка |
Не задан |
|
OIDC Client |
|
|
OIDC Client |
|
|
URL для перенаправления после OIDC-аутентификации, должен заканчиваться на |
|
|
Имя Kubernetes |
|
|
Имя |
Отсутствует |
|
Ключ в |
|
|
Пропустить проверку TLS-сертификата OIDC-провайдера (не рекомендуется для production) |
|
|
URL-адрес OIDC-провайдера ( |
|
|
Запрос |
|
|
Включение TLS-терминацию на уровне приложения |
|
|
Имя Kubernetes |
|
|
DNS-имена (Subject Alternative Names) для самоподписанного сертификата |
|
|
IP-адреса (Subject Alternative Names) для самоподписанного сертификата |
|
|
Список Kubernetes-кластеров для отображения в веб-интерфейсе и генерации |
|
configOverwrites - определить произвольные переопределения итоговой конфигурации loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Произвольные переопределения конфигурации, объединяемые с автоматически сгенерированной конфигурацией |
|
templates - определить переопределения HTML-шаблонов страниц loginapp#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение HTML-шаблонов для страниц ошибок и отображения токенов |
|