Доступно в редакциях: CE, BE, SE, SE+, EE
Модуль не включен по умолчанию в каком-либо наборе модулей.
Модуль останется отключенным вне зависимости от параметра ciliumHubbleEnabled:
, если не включен модуль cni-cilium
.
Чтобы настроить модуль, используйте custom resource ModuleConfig
с именем cilium-hubble
(подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/cilium-hubble
для настройки модуля:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: cilium-hubble
spec:
version: 2
enabled: true
settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 2
- объект
Опции, связанные с аутентификацией и авторизацией доступа к веб-интерфейсу Hubble.
- объект
Параметры для подключения внешней аутентификации (используется механизм NGINX Ingress external-auth, работающий на основе модуля Nginx auth_request.
Внешняя аутентификация включается автоматически, если включен модуль user-authn.
- объект
Тип используемого сертификата.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https
.Примеры:
https: mode: Disabled
https: mode: OnlyInURI
https: mode: CustomCertificate customCertificate: secretName: foobar
https: mode: CertManager certManager: clusterIssuerName: letsencrypt
- строка
Тип ClusterIssuer’а, используемого для заказа SSL-сертификата (в данный момент доступны
letsencrypt
,letsencrypt-staging
,selfsigned
, но возможно определить свои).По умолчанию:
"letsencrypt"
Примеры:
clusterIssuerName: letsencrypt
clusterIssuerName: letsencrypt-staging
clusterIssuerName: selfsigned
- строка
Имя Secret’а в пространстве имен
d8-system
, который будет использоваться для веб-интерфейса Hubble.Secret должен быть в формате kubernetes.io/tls.
- строка
Режимы работы HTTPS:
CertManager
— доступ по HTTPS с заказом сертификата согласно ClusterIssuer’у, заданному в параметреcertManager.clusterIssuerName
.CustomCertificate
— доступ по HTTPS с использованием сертификата из пространства именd8-system
.Disabled
— доступ только по HTTP.OnlyInURI
— доступ по HTTP, подразумевая, что перед веб-интерфейсом стоит внешний HTTPS-балансер, который терминирует HTTPS и все ссылки вuser-authn
будут генерироваться с HTTPS-схемой. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.
По умолчанию:
"CertManager"
Допустимые значения:
Disabled
,CertManager
,CustomCertificate
,OnlyInURI
- объект
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - массив объектов
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.
Аутентификация
По умолчанию используется модуль user-authn. Также можно настроить аутентификацию через externalAuthentication
(см. ниже).
Если эти варианты отключены, модуль включит basic auth со сгенерированным паролем.
Посмотреть сгенерированный пароль можно командой:
kubectl -n d8-system exec svc/deckhouse-leader -c deckhouse -- deckhouse-controller module values cilium-hubble -o json | jq '.ciliumHubble.internal.auth.password'
Чтобы сгенерировать новый пароль, нужно удалить Secret:
kubectl -n d8-cni-cilium delete secret/hubble-basic-auth
Внимание! Параметр
auth.password
больше не поддерживается.