Модуль включен по умолчанию в наборах модулей: Default
, Managed
.
Модуль выключен по умолчанию в наборе модулей Minimal
.
Чтобы настроить модуль, используйте custom resource ModuleConfig
с именем upmeter
(подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/upmeter
для настройки модуля:
1apiVersion: deckhouse.io/v1alpha1
2kind: ModuleConfig
3metadata:
4 name: upmeter
5spec:
6 version: 2
7 enabled: true
8 settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 2
- массив строк
Группы доступа к просмотру интерфейса приложения.
- Используется, если включен модуль
user-authn
или параметрexternalAuthentication
. - Внимание! При использовании совместно с модулем
user-authn
необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.
- Используется, если включен модуль
- объект
Параметры для подключения внешней аутентификации (используется механизм NGINX Ingress external-auth, работающий на основе модуля NGINX auth_request.
Внешняя аутентификация включается автоматически, если включен модуль user-authn.
- массив строк
Группы доступа к просмотру интерфейса приложения.
- Используется, если включен модуль
user-authn
или параметрexternalAuthentication
. - Внимание! При использовании совместно с модулем
user-authn
необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.
- Используется, если включен модуль
- объект
Параметры для подключения внешней аутентификации (используется механизм NGINX Ingress external-auth, работающий на основе модуля NGINX auth_request.
Внешняя аутентификация включается автоматически, если включен модуль user-authn.
- объект
Тип сертификата, используемого для веб-приложений webui и status.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https
.Примеры:
1https: 2 mode: CustomCertificate 3 customCertificate: 4 secretName: foobar
1https: 2 mode: CertManager 3 certManager: 4 clusterIssuerName: letsencrypt
- строка
Имя Secret’а в namespace
d8-system
, который будет использоваться для webui/status.Secret должен быть в формате kubernetes.io/tls.
По умолчанию:
"false"
- строка
Режим работы HTTPS:
Disabled
— webui/status будут работать только по HTTP;CertManager
— webui/status будут работать по HTTPS и заказывать сертификат с помощью ClusterIssuer, заданного в параметреcertManager.clusterIssuerName
;CustomCertificate
— webui/status будут работать по HTTPS, используя сертификат из namespaced8-system
;OnlyInURI
— webui/status будет работать по HTTP (подразумевая, что перед ними стоит внешний балансировщик, который терминирует HTTPS) и все ссылки в user-authn будут генерироваться с HTTPS-схемой. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,CertManager
,CustomCertificate
,OnlyInURI
- объект
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если ничего не указано или указано
false
, будет использоваться автоматика.Пример:
1nodeSelector: 2 disktype: ssd
- массив строк
Группы доступа к просмотру интерфейса приложения.
- Используется, если включен модуль
user-authn
или параметрexternalAuthentication
. - Внимание! При использовании совместно с модулем
user-authn
необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.
- Используется, если включен модуль
- объект
Параметры для подключения внешней аутентификации. Используется механизм NGINX Ingress
external-auth
, работающей на основе модуля NGINXauth_request
.
- объект
Тип сертификата, используемого для smoke-mini.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https
.Примеры:
1https: 2 mode: CustomCertificate 3 customCertificate: 4 secretName: foobar
1https: 2 mode: CertManager 3 certManager: 4 clusterIssuerName: letsencrypt
- строка
Имя Secret’а в namespace
d8-system
, который будет использоваться для smoke-mini.Secret должен быть в формате kubernetes.io/tls.
По умолчанию:
"false"
- строка
Режим работы HTTPS:
Disabled
— smoke-mini будут работать только по HTTP;CertManager
— smoke-mini будут работать по HTTPS и заказывать сертификат с помощью ClusterIssuer, заданного в параметреcertManager.clusterIssuerName
.CustomCertificate
— smoke-mini будут работать по HTTPS, используя сертификат из namespaced8-system
.OnlyInURI
— smoke-mini будет работать по HTTP (подразумевая, что перед ними стоит внешний балансировщик, который терминирует HTTPS) и все ссылки в user-authn будут генерироваться с HTTPS-схемой. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,CertManager
,CustomCertificate
,OnlyInURI
StorageClass для использования при проверке работоспособности дисков.
- Если не указано, используется StorageClass существующей PVC, а если PVC пока нет, используется или глобальный StorageClass, или
global.discovery.defaultStorageClass
, а если и их нет, данные сохраняются в emptyDir. global.discovery.defaultStorageClass
применяется только при включении модуля, смена StorageClass по умолчанию в кластере не приведет к перезаказу диска.- Если указать
false
, будет форсироваться использование emptyDir’а.
По умолчанию:
false
Примеры:
1storageClass: false
1storageClass: default
- Если не указано, используется StorageClass существующей PVC, а если PVC пока нет, используется или глобальный StorageClass, или
Имя storageClass’а, который будет использоваться.
- Если не указано, используется StorageClass существующей PVC, а если PVC пока нет, используется или глобальный StorageClass, или
global.discovery.defaultStorageClass
, а если и их нет, данные сохраняются в emptyDir. global.discovery.defaultStorageClass
применяется только при включении модуля, смена StorageClass по умолчанию в кластере не приведет к перезаказу диска.- ОСТОРОЖНО! При указании этой опции в значение, отличное от текущего (из существующей PVC), диск будет перезаказан, а все данные удалены.
- Если указать
false
, будет форсироваться использование emptyDir’а.
Примеры:
1storageClass: false
1storageClass: default
- Если не указано, используется StorageClass существующей PVC, а если PVC пока нет, используется или глобальный StorageClass, или
- массив объектов
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если ничего не указано или указано
false
, будет использоваться автоматика.Пример:
1tolerations: 2- key: key1 3 operator: Equal 4 value: value1 5 effect: NoSchedule
Аутентификация
По умолчанию используется модуль user-authn. Также можно настроить аутентификацию через externalAuthentication
(см. ниже).
Если эти варианты отключены, то модуль включит basic auth со сгенерированным паролем.
Посмотреть сгенерированный пароль можно командой:
1kubectl -n d8-system exec deploy/deckhouse -- deckhouse-controller module values upmeter -o json | jq '.upmeter.internal.auth.webui.password'
Чтобы сгенерировать новый пароль, нужно удалить Secret:
1kubectl -n d8-upmeter delete secret/basic-auth-webui
Посмотреть сгенерированный пароль для страницы статуса можно командой:
1kubectl -n d8-system exec deploy/deckhouse -- deckhouse-controller module values upmeter -o json | jq '.upmeter.internal.auth.status.password'
Чтобы сгенерировать новый пароль для страницы статуса, нужно удалить секрет:
1kubectl -n d8-upmeter delete secret/basic-auth-status
Внимание! Параметры
auth.status.password
иauth.webui.password
больше не поддерживаются.