admission-policy-engine
Версия схемы: 1
- settings
- settings.denyVulnerableImages
Настройки trivy-провайдера.
Trivy-провайдер запрещает создание
Pod
/Deployment
/StatefulSet
/DaemonSet
с образами, которые имеют уязвимости в пространствах имен с лейбломsecurity.deckhouse.io/trivy-provider: ""
.Доступно только в enterprise edition.
- settings.denyVulnerableImages.enabled
Включить trivy-провайдер.
По умолчанию:
false
- settings.denyVulnerableImages.registrySecrets
Список дополнительных секретов приватных регистри.
По умолчанию для загрузки образов для сканирования используется секрет
deckhouse-registry
.По умолчанию:
[]
- settings.denyVulnerableImages.registrySecrets.name
Обязательный параметр
- settings.denyVulnerableImages.registrySecrets.namespace
Обязательный параметр
- settings.denyVulnerableImages.storageClass
Имя StorageClass для использования
trivy_provider
.Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClass
учитывается только при включении модуля. Изменение глобального параметраstorageClass
при включенном модуле не приведет к перезаказу диска.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Если указать
false
, будет принудительно использоватьсяemptyDir
.Примеры:
storageClass: ceph-ssd
storageClass: 'false'
- settings.podSecurityStandards
Настройки политик Pod Security Standards (PSS).
- settings.podSecurityStandards.defaultPolicy
Определяет политику Pod Security Standards по умолчанию для всех несистемных пространств имен:
Privileged
— политика без ограничений. Данная политика допускает эскалацию привилегий;Baseline
— политика с минимальными ограничениями, ограничивающая использование эскалаций привилегий;Restricted
— политика с максимальными ограничениями, соотвествущая актуальным рекомендациям по безопасному запуску приложений в кластере.
По умолчанию:
Baseline
— при первичной установке Deckhouse версии v1.55 и выше;Privileged
— при первичной установке Deckhouse версии ниже v1.55 (обновление Deckhouse в кластере на версию v1.55 и выше не меняет политику по умолчанию наBaseline
).
Допустимые значения:
Privileged
,Baseline
,Restricted
- settings.podSecurityStandards.enforcementAction
Действие, которое будет выполнено по результатам проверки ограничений:
- Deny — запрет;
- Dryrun — отсутствие действия. Применяется при отладке. Информацию о событии можно посмотреть в Grafana или консоли с помощью kubectl;
- Warn — аналогично
Dryrun
, но дополнительно к информации о событии будет выведена информация о том, из-за какого ограничения (constraint) был бы запрет действия, если бы вместоWarn
использовалсяDeny
.
По умолчанию:
"Deny"
Допустимые значения:
Warn
,Deny
,Dryrun
- settings.podSecurityStandards.policies
Определяет дополнительные параметры политик
- settings.podSecurityStandards.policies.hostPorts
Настройки ограничения HostPort.
- settings.podSecurityStandards.policies.hostPorts.knownRanges
Список диапазонов портов, которые будут разрешены в привязке hostPort.
- settings.podSecurityStandards.policies.hostPorts.knownRanges.max
- settings.podSecurityStandards.policies.hostPorts.knownRanges.min
cert-manager
Версия схемы: 1
- settings
- settings.cleanupOrphanSecrets
Удалять Secret с сертификатом автоматически, если соответствующий ресурс Certificate удален из кластера.
По умолчанию:
false
Примеры:
cleanupOrphanSecrets: true
cleanupOrphanSecrets: false
- settings.cloudDNSServiceAccount
Service Account для Google Cloud из того же проекта с ролью Администратора DNS.
Пример:
cloudDNSServiceAccount: eyJzYSI6ICJhYmNkZWZnaEBzZXJ2aWNlYWNjb3VudC5jb20iLCAicHJvamVjdF9pZCI6ImFhYWFhIn0=
- settings.cloudflareAPIToken
API Tokens позволяют использовать ключи, привязанные к определенным DNS-зонам.
Рекомендуется использовать API Tokens для более высокой безопасности, поскольку они имеют более строгие разрешения и могут быть легко отозваны.
Способ проверки того, что домены, указанные в ресурсе Certificate, для которых заказывается сертификат, находятся под управлением
cert-manager
у DNS-провайдера Cloudflare. Проверка происходит путем добавления специальных TXT-записей для домена ACME DNS01 Challenge Provider.Пример:
cloudflareAPIToken: token
- settings.cloudflareEmail
Почтовый ящик проекта, на который выдавались доступы для управления Cloudflare.
Пример:
cloudflareEmail: example@example.com
- settings.cloudflareGlobalAPIKey
Cloudflare Global API key для управления DNS-записями.
Способ проверки того, что домены, указанные в ресурсе Certificate, для которых заказывается сертификат, находятся под управлением
cert-manager
у DNS-провайдера Cloudflare. Проверка происходит путем добавления специальных TXT-записей для домена ACME DNS01 Challenge Provider.Пример:
cloudflareGlobalAPIKey: key
- settings.digitalOceanCredentials
Access Token от Digital Ocean API, который можно создать в разделе
API
.Пример:
digitalOceanCredentials: creds
- settings.disableLetsencrypt
Не создавать ClusterIssuer
letsencrypt
иletsencrypt-staging
в кластере (еслиtrue
).Примеры:
disableLetsencrypt: true
disableLetsencrypt: false
- settings.email
Почтовый ящик проекта, на который LetsEncrypt будет слать уведомления.
Пример:
email: example@example.com
- settings.enableCAInjector
Включить CAInjector. Он необходим только для инъекции CA-сертификатов в
ValidatingWebhookConfiguration
,MutatingWebhookConfiguration
,CustomResourceDefinition
иAPIService
. Deckhouse не использует CAInjector, поэтому включать нужно только в том случае, если вы используете в своих сервисах пользовательские инъекции CA.По умолчанию:
false
Примеры:
enableCAInjector: true
enableCAInjector: false
- settings.maxConcurrentChallenges
Максимальное количество одновременных Challenges в статусе
Processing
Допустимые значения:
0 <= X
Пример:
maxConcurrentChallenges: 25
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
nodeSelector: has-gpu: 'true'
- settings.route53AccessKeyID
Access Key ID пользователя с необходимыми правами.
Amazon Route53 IAM Policy для управления доменными записями домена.
Пример:
route53AccessKeyID: key_id
- settings.route53SecretAccessKey
Secret Access Key пользователя с необходимыми правами для управления доменными записями домена.
Пример:
route53SecretAccessKey: secret
- settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
tolerations: - key: dedicated.deckhouse.io operator: Equal value: cert-manager
- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
chrony
Версия схемы: 1
- settings
- settings.ntpServers
Список NTP-серверов для синхронизации.
По умолчанию:
["pool.ntp.org"]
Примеры:
ntpServers: - pool.ntp.org
ntpServers: - pool.ntp.org - ntp.ubuntu.com - time.google.com
cilium-hubble
Версия схемы: 2
- settings
- settings.auth
Опции, связанные с аутентификацией и авторизацией доступа к веб-интерфейсу Hubble.
- settings.auth.allowedUserGroups
Список групп, пользователям которых разрешен доступ к веб-интерфейсу Hubble.
Используется, если включен модуль
user-authn
или задан параметрexternalAuthentication
. - settings.auth.externalAuthentication
Параметры для подключения внешней аутентификации (используется механизм NGINX Ingress external-auth, работающий на основе модуля Nginx auth_request.
Внешняя аутентификация включается автоматически, если включен модуль user-authn.
- settings.auth.externalAuthentication.authSignInURL
URL, куда будет перенаправлен пользователь для прохождения аутентификации (если сервис аутентификации вернул код ответа HTTP, отличный от 200).
Пример:
authSignInURL: https://example.com/dex/sign_in
- settings.auth.externalAuthentication.authURL
URL сервиса аутентификации.
Если пользователь прошел аутентификацию, сервис должен возвращать код ответа HTTP 200.
Пример:
authURL: https://example.com/dex/auth
- settings.auth.whitelistSourceRanges
Список адресов (CIDR), которым разрешен доступ к веб-интерфейсу Hubble.
Пример:
whitelistSourceRanges: - 1.1.1.1/32
- settings.debugLogging
Включает отладочный уровень логирования для компонентов Hubble.
По умолчанию:
false
- settings.https
Тип используемого сертификата.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https
.Примеры:
https: mode: Disabled
https: mode: OnlyInURI
https: mode: CustomCertificate customCertificate: secretName: foobar
https: mode: CertManager certManager: clusterIssuerName: letsencrypt
- settings.https.certManager
Настройки для certmanager.
- settings.https.certManager.clusterIssuerName
Тип ClusterIssuer’а, используемого для заказа SSL-сертификата (в данный момент доступны
letsencrypt
,letsencrypt-staging
,selfsigned
, но возможно определить свои).По умолчанию:
"letsencrypt"
Примеры:
clusterIssuerName: letsencrypt
clusterIssuerName: letsencrypt-staging
clusterIssuerName: selfsigned
- settings.https.customCertificate
Настройки для использования пользовательского сертификата.
- settings.https.customCertificate.secretName
Имя Secret’а в пространстве имен
d8-system
, который будет использоваться для веб-интерфейса Hubble.Secret должен быть в формате kubernetes.io/tls.
- settings.https.mode
Режимы работы 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
- settings.ingressClass
Класс Ingress-контроллера, который используется для Hubble.
Опциональный параметр, по умолчанию используется глобальное значение
modules.ingressClass
.Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
cni-cilium
Версия схемы: 1
- settings
- settings.bpfLBMode
Режим работы балансировщика eBPF:
SNAT
— трафик от клиента до пода (и обратно) проходит через NAT, соответственно теряется адрес отправителя.DSR
— трафик от клиента до пода проходит с сохранением адреса отправителя, а обратно - согласно правилам роутинга (минуя балансировщик). Этот режим экономит сетевой трафик, уменьшает задержки, но работает только для TCP трафика.Hybrid
— TCP трафик обрабатывается в режиме DSR, а UDP - в режиме SNAT.
По умолчанию:
"Hybrid"
Допустимые значения:
SNAT
,Hybrid
,DSR
- settings.createNodeRoutes
Включает создание маршрутов к подам на других узлах.
Все узлы должны находиться в одной сети L2.
- settings.debugLogging
Включает отладочный уровень логирования для компонентов Cilium.
По умолчанию:
false
- settings.labelsRegex
Cilium создает идентификаторы безопасности основываясь на лейблах сущностей k8s, чем больше лейблов участвует в этом процессе - тем более детализированно можно настроить доступы. Но в кластерах больших объёмов излишняя детализация может создать большую нагрузку, и при помощи опции labelsRegex можно более явно указать - какие лейблы будут использоваться для политик безопасности, а какими следует пренебречь. Подробнее об уменьшении количества создаваемых identity можно прочитать в документации
Каждый лейбл должен задаваться RegExp-выражением в формате YAML quoted string с экранированием спецсимволов.
Пример:
labelsRegex: - k8s:!app\.kubernetes\.io - k8s:io\.cilium\.k8s\.policy
- settings.masqueradeMode
Режим работы SNAT для трафика подов, исходящего из кластера.
-
BPF
— использовать BPF. Базовый режим работы.В данном режиме сетевые запросы из подов не будут подвержены процедуре Source NAT, если IP-адрес назначения принадлежит
podSubnetCIDR
илиInternalIP
/ExternalIP
любого из узлов кластера. -
Netfilter
— использовать Netfilter(iptables/nf_tables).В данном режиме сетевые запросы из подов не будут подвержены процедуре Source NAT, если IP-адрес назначения принадлежит
podSubnetCIDR
илиInternalIP
любого из узлов кластера.
В режиме
BPF
, если на узле кластера указан ExternalIP, отличный от InternalIP, но этот IP-адрес не назначен на ни на один интерфейс, то он будет не доступен с соседних узлов из сети подов. РежимNetfilter
позволяет обойти это ограничение. Однако при этом некоторые другие функции перестают работать, в частностиEgressGateway
.По умолчанию:
"BPF"
Допустимые значения:
Netfilter
,BPF
-
- settings.policyAuditMode
Отключает влияние сетевых политик на трафик. Сетевые запросы, попавшие под запрет политик, просто логируются.
По умолчанию:
false
- settings.resourcesManagement
Настройки запросов (requests) и ограничений (limits) использования CPU и памяти подами агента cilium.
Примеры:
resourcesManagement: mode: VPA vpa: mode: Auto cpu: min: 50m max: 2 limitRatio: 1.5 memory: min: 256Mi max: 2Gi limitRatio: 1.5
resourcesManagement: mode: Static static: requests: cpu: 55m memory: 256Mi limits: cpu: 2 memory: 2Gi
- settings.resourcesManagement.mode
Режим управления ресурсами:
По умолчанию:
"VPA"
Допустимые значения:
VPA
,Static
- settings.resourcesManagement.static
Настройка управления ресурсами в режиме
Static
.- settings.resourcesManagement.static.limits
Настройка ограничений (limits) использования CPU и памяти.
- settings.resourcesManagement.static.limits.cpu
Настройка ограничений использования CPU (CPU limits).
- settings.resourcesManagement.static.limits.memory
Настройка ограничений использования памяти (memory limits).
- settings.resourcesManagement.static.requests
Настройки запросов ресурсов (requests) подов.
- settings.resourcesManagement.static.requests.cpu
Настройка запроса CPU (CPU requests).
- settings.resourcesManagement.static.requests.memory
Настройка запроса памяти (memory requests).
- settings.resourcesManagement.vpa
Настройка управления ресурсами в режиме
VPA
.- settings.resourcesManagement.vpa.cpu
Настройки VPA при работе с CPU.
- settings.resourcesManagement.vpa.cpu.limitRatio
Коэффициент расчета ограничений использования CPU относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования CPU для пода (CPU limits).
Если параметр указан, то VPA, при пересчете запросов CPU (CPU requests) будет пересчитывать ограничения использования CPU (CPU limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- settings.resourcesManagement.vpa.cpu.max
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
4
- settings.resourcesManagement.vpa.cpu.min
Минимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
100m
- settings.resourcesManagement.vpa.memory
Настройка ограничений (limits) использования CPU и памяти.
- settings.resourcesManagement.vpa.memory.limitRatio
Коэффициент расчета ограничений использования памяти относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования памяти для пода (memory limits).
Если параметр указан, то VPA, при пересчете запросов памяти (memory requests) будет пересчитывать ограничения использования памяти (memory limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- settings.resourcesManagement.vpa.memory.max
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
4Gi
- settings.resourcesManagement.vpa.memory.min
Минимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
128Mi
- settings.resourcesManagement.vpa.mode
Режим работы VPA.
По умолчанию:
"Initial"
Допустимые значения:
Initial
,Auto
- settings.svcSourceRangeCheck
Для сервисов с типом
loadBalancer
включает проверку source IP на его соответствие loadBalancer.sourceRanges. Проверка не производится, если доступ производится изнутри кластера или параметрsourceRanges
пуст/не указан. Некоторые облачные провайдеры в своих реализациях loadBalancer поддерживают фильтрацию входящего трафика на основе параметраsourceRanges
, в таком случае документация по cilium рекомендует отключать проверкуsvcSourceRangeCheck
.Не включайте, если перед сервисами есть другой балансировщик или какие-либо виды SNAT.
По умолчанию:
false
- settings.tunnelMode
Режим работы туннеля.
Внимание! После изменения параметра необходимо перезагрузить все узлы, иначе могут быть проблемы с доступностью подов.
Внимание! Режим VXLAN не совместим со следующими режимами bpfLBMode: Hybrid, DSR. Если tunnelMode настроен на VXLAN, то bpfLBMode будет переопределён на SNAT автоматически.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,VXLAN
control-plane-manager
Версия схемы: 1
Пример:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: control-plane-manager
spec:
version: 1
enabled: true
settings:
apiserver:
bindToWildcard: true
certSANs:
- bakery.infra
- devs.infra
loadBalancer: {}
- settings
- settings.apiserver
Параметры
kube-apiserver
.- settings.apiserver.admissionPlugins
Список включенных дополнительных admission-плагинов.
Обратите внимание, что, помимо включенных по умолчанию в Kubernetes admission-плагинов, также всегда включены (без возможности отключения) следующие admission-плагины:
ExtendedResourceToleration
;PodNodeSelector
;PodTolerationRestriction
;-
EventRateLimit
, который использует следующую конфигурацию:apiVersion: eventratelimit.admission.k8s.io/v1alpha1 kind: Configuration limits: - type: Namespace qps: 50 burst: 100 cacheSize: 2000
Admission-плагин
PodNodeSelector
не требует указания глобальной конфигурации, он использует только аннотации на пространстве имен (namespace’ах).Пример:
admissionPlugins: - AlwaysPullImages - NamespaceAutoProvision
- Элемент массива
Допустимые значения:
AlwaysPullImages
,NamespaceAutoProvision
,OwnerReferencesPermissionEnforcement
,PodNodeSelector
,PodTolerationRestriction
- settings.apiserver.auditLog
Параметры аудита.
По умолчанию:
{"output":"File"}
- settings.apiserver.auditLog.output
Обязательный параметр
Тип потока для вывода журнала аудита.
По умолчанию:
"File"
Допустимые значения:
File
,Stdout
Пример:
output: Stdout
- settings.apiserver.auditLog.path
Путь к директории. Действует только в случае
output: "File"
.По умолчанию:
"/var/log/kube-audit"
Шаблон:
^[a-zA-Z0-9_/.-]+[a-zA-Z0-9_.-]$
- settings.apiserver.auditPolicyEnabled
Применяет дополнительные политики аудита с конфигурацией из Secret’а
kube-system/audit-policy
.По умолчанию:
false
- settings.apiserver.authn
Опциональные параметры аутентификации клиентов Kubernetes API.
По умолчанию используются данные из ConfigMap, устанавливаемого модулем user-authn.
- settings.apiserver.authn.oidcCA
CA OIDC-провайдера.
- settings.apiserver.authn.oidcIssuerAddress
Сетевой адрес OIDC-провайдера.
Примеры:
oidcIssuerAddress: 1.2.3.4
oidcIssuerAddress: ''
- settings.apiserver.authn.oidcIssuerURL
URL OIDC-провайдера.
Пример:
oidcIssuerURL: https://my-super-site.tech/
- settings.apiserver.authn.webhookCA
CA аутентификационного webhook’a.
- settings.apiserver.authn.webhookCacheTTL
Продолжительность кэширования ответов от аутентификационного webhook’a.
Задается в виде строки с указанием часов и минут: 30m, 1h, 2h30m, 24h.
Шаблон:
^([0-9]+h)?([0-9]+m)?([0-9]+s)?$
Пример:
webhookCacheTTL: 5m
- settings.apiserver.authn.webhookURL
URL аутентификационного webhook’а.
Пример:
webhookURL: https://127.0.0.1:40443/
- settings.apiserver.authz
Параметры авторизации клиентов Kubernetes API.
По умолчанию используются данные из ConfigMap, устанавливаемого модулем user-authz.
- settings.apiserver.authz.webhookCA
CA webhook’а авторизации.
- settings.apiserver.authz.webhookURL
URL webhook’а авторизации.
Пример:
webhookURL: https://127.0.0.1:40443/
- settings.apiserver.basicAuditPolicyEnabled
Применяет базовые политики аудита Deckhouse.
По умолчанию:
true
- settings.apiserver.bindToWildcard
Прослушивание на
0.0.0.0
.По умолчанию API-сервер слушает на hostIP, который обычно соответствует Internal-адресу узла, но это зависит от типа кластера (Static или Cloud) и выбранной схемы размещения (layout).
По умолчанию:
false
- settings.apiserver.certSANs
Массив строк, список дополнительных SANs, с которыми будет сгенерирован сертификат API-сервера.
Кроме переданного списка, всегда используется и следующий список:
kubernetes
;kubernetes.default
;kubernetes.default.svc
;kubernetes.default.svc.cluster.local
;- Адрес API-сервера кластера;
127.0.0.1
;- DNS-имя хоста (hostname);
- IP-адрес хоста.
Пример:
certSANs: - my-site.com - 192.168.67.76
- Элемент массива
Шаблон:
^[0-9a-zA-Z\.-]+$
- settings.apiserver.encryptionEnabled
Включает режим encrypting secret data at rest.
Генерирует Secret
kube-system/d8-secret-encryption-key
, содержащий ключ шифрования.Важно! Этот режим нельзя отключить!
По умолчанию:
false
- settings.apiserver.loadBalancer
Создание сервиса
kube-system/d8-control-plane-apiserver
с типомLoadBalancer
.- settings.apiserver.loadBalancer.annotations
Аннотации, которые будут проставлены сервису для гибкой настройки балансировщика.
Внимание! Модуль не учитывает особенности указания аннотаций в различных облаках. Если аннотации для заказа LoadBalancer’а применяются только при создании сервиса, для обновления подобных параметров вам необходимо будет удалить и добавить параметр
apiserver.loadBalancer
. - settings.apiserver.loadBalancer.port
Внешний порт TCP-балансировщика.
По умолчанию:
443
Допустимые значения:
1 <= X <= 65534
- settings.apiserver.loadBalancer.sourceRanges
Список CIDR, которым разрешен доступ к API.
Облачный провайдер может не поддерживать данную опцию и игнорировать ее.
- Элемент массива
Шаблон:
^[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\/[0-9]+$
- settings.apiserver.serviceAccount
Настройки выпуска ServiceAccount’ов.
Примеры:
serviceAccount: {}
serviceAccount: additionalAPIAudiences: - istio-ca
- settings.apiserver.serviceAccount.additionalAPIAudiences
Список дополнительных API audience’ов, которые следует добавить при создании токенов ServiceAccount.
Audience по умолчанию, автоматически генерируются на основе шаблона
https://kubernetes.default.svc.${clusterDomain}
, например,https://kubernetes.default.svc.cluster.local
. Аутентификатор токенов ServiceAccount проверяет, что токены, использованные с API, привязаны как минимум к одной из этих audiences.Этот вариант полезен при переходе от одного издателя API к другому.
- settings.apiserver.serviceAccount.additionalAPIIssuers
Список дополнительных издателей API токенов ServiceAccount, которые нужно включить при их создании.
Эти издатели (iss) используются для проверки источника токенов, чтобы гарантировать, что они поступают от доверенных сущностей.
Первый издатель автоматически генерируется по шаблону
https://kubernetes.default.svc.${clusterDomain}
, например,https://kubernetes.default.svc.cluster.local
. Когда указано несколько издателей, то первый используется для генерации токенов, а все указанные издатели принимаются для валидации токенов.Этот вариант полезен при переходе от одного API издателя к другому.
- settings.apiserver.serviceAccount.issuer
Издатель ServiceAccount’ов. Это URL API-сервера. Значения этого поля используются как
iss
claim токена и для проверки JWT-токенов ServiceAccount.Обратите внимание, что все поды в кластере, использующие токены ServiceAccount, должны быть перезапущены при изменении этой опции.
Пример:
issuer: https://api.example.com
- settings.etcd
Параметры
etcd
.- settings.etcd.externalMembersNames
Массив имен внешних etcd member’ов (эти member’ы не будут удаляться).
Пример:
externalMembersNames: - main-master-1 - my-external-member
- Элемент массива
Шаблон:
^[0-9a-zA-Z\.-:\-\/]+$
- settings.etcd.maxDbSize
quota-backend-bytes параметр. Deckhouse автоматически управляет
quota-backend-bytes
параметром. Если параметрmaxDbSize
установлен, Deckhouse будет использовать это значение для параметраquota-backend-bytes
etcd.Минимальное значение: 512MB.
Максимальное значение: 8GB.
Экспериментальный. Может быть удален в будущем.
Допустимые значения:
536870912 <= X <= 8589934592
- settings.failedNodePodEvictionTimeoutSeconds
Количество секунд, по прошествии которых с узла в статусе
Unreachable
будут удалены поды.Важно! При изменении этого параметра потребуется перезапуск подов.
По умолчанию:
300
- settings.nodeMonitorGracePeriodSeconds
Число секунд, через которое узел перейдет в состояние
Unreachable
при потере с ним связи.По умолчанию:
40
descheduler
extended-monitoring
Версия схемы: 2
- settings
- settings.certificates
Настройки для мониторинга сертификатов в кластере Kubernetes.
- settings.certificates.exporterEnabled
Включен ли certExporter.
По умолчанию:
false
- settings.events
Настройки для мониторинга event’ов в кластере Kubernetes.
- settings.events.exporterEnabled
Включен ли eventsExporter.
По умолчанию:
false
- settings.events.severityLevel
Enables eventsExporter.
По умолчанию:
"OnlyWarnings"
Допустимые значения:
All
,OnlyWarnings
- settings.imageAvailability
Настройки для мониторинга доступности образов в кластере.
- settings.imageAvailability.exporterEnabled
Включен ли imageAvailabilityExporter.
По умолчанию:
true
- settings.imageAvailability.forceCheckDisabledControllers
Список контроллеров, которые необходимо проверять, даже если количество реплик подов равняется 0 или контроллер находится в статусе
suspend
(приостановленный).Укажите
All
, для проверки всех типов контроллеров.Пример:
forceCheckDisabledControllers: - Deployment - StatefulSet
- Элемент массива
Допустимые значения:
Deployment
,StatefulSet
,DaemonSet
,CronJob
,All
- settings.imageAvailability.ignoredImages
Список образов, для которых нужно пропустить проверку, например
alpine:3.12
илиquay.io/test/test:v1.1
.Пример:
ignoredImages: - alpine:3.10 - alpine:3.2
- settings.imageAvailability.mirrors
Список зеркал для container registry.
Пример:
mirrors: - original: docker.io mirror: mirror.gcr.io - original: internal-registry.com mirror: mirror.internal-registry.com
- settings.imageAvailability.mirrors.mirror
Обязательный параметр
- settings.imageAvailability.mirrors.original
Обязательный параметр
- settings.imageAvailability.registry
Настройки подключения к container registry.
- settings.imageAvailability.registry.scheme
Протокол доступа к container registry.
По умолчанию:
"HTTPS"
Допустимые значения:
HTTP
,HTTPS
- settings.imageAvailability.registry.tlsConfig
Настройки подключения к container registry
- settings.imageAvailability.registry.tlsConfig.ca
Корневой сертификат, которым можно проверить сертификат container registry при работе по HTTPS (если registry использует самоподписанные SSL-сертификаты).
- settings.imageAvailability.registry.tlsConfig.insecureSkipVerify
Пропускать ли валидацию TLS-сертификата для container registry.
По умолчанию:
false
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
global
Версия схемы: 2
- settings
- settings.defaultClusterStorageClass
Имя StorageClass, который DKP определит как StorageClass используемый в кластере по умолчанию.
DKP запрещает вручную добавлять или изменять default-аннотацию (
storageclass.kubernetes.io/is-default-class='true'
) у StorageClass. Используйте параметр, чтобы определять или изменять StorageClass используемый в кластере по умолчанию.Если значение не указано, фактический StorageClass используемый в кластере по умолчанию будет определяться в следующем порядке:
- StorageClass в кластере, имеющий default-аннотацию (
storageclass.kubernetes.io/is-default-class='true'
); - Первый (по алфавиту) StorageClass из создаваемых модулем облачного провайдера (если какой-либо модуль облачного провайдера используется).
По умолчанию:
""
- StorageClass в кластере, имеющий default-аннотацию (
- settings.highAvailability
Параметр глобального включения режима отказоустойчивости для модулей, которые его поддерживают.
Если значение не указано, оно определяется автоматически как
true
для кластеров с более чем одним master-узлом. В остальных случаях значение определяется какfalse
.Примеры:
highAvailability: true
highAvailability: false
- settings.modules
Общие параметры модулей Deckhouse.
- settings.modules.https
Способ реализации протокола HTTPS, используемый модулями Deckhouse.
Примеры:
https: certManager: clusterIssuerName: letsencrypt mode: CertManager
https: mode: Disabled
https: mode: OnlyInURI
https: mode: CustomCertificate customCertificate: secretName: plainstring
- settings.modules.https.certManager
- settings.modules.https.certManager.clusterIssuerName
Имя
ClusterIssuer
, используемого модулями Deckhouse.В модуле cert-manager доступны следующие
ClusterIssuer
:letsencrypt
,letsencrypt-staging
,selfsigned
,clouddns
,cloudflare
,digitalocean
,route53
. Также вы можете использовать свойClusterIssuer
.По умолчанию:
"letsencrypt"
- settings.modules.https.customCertificate
- settings.modules.https.customCertificate.secretName
Имя Secret’а в пространстве имен
d8-system
, который будет использоваться модулями Deckhouse.Указанный Secret должен быть в формате kubernetes.io/tls.
По умолчанию:
"false"
- settings.modules.https.mode
Режим работы HTTPS:
CertManager
— модули Deckhouse будут работать по HTTPS, самостоятельно заказывая сертификат с помощью ClusterIssuer, указанного в параметреcertManager.clusterIssuerName
;CustomCertificate
— модули Deckhouse будут работать по HTTPS, используя сертификат из пространства именd8-system
;Disabled
— модули Deckhouse будут работать только по HTTP (некоторые модули могут не работать, например user-authn);OnlyInURI
— модули Deckhouse будут работать по HTTP, подразумевая, что перед ними стоит внешний HTTPS-балансировщик, который терминирует HTTPS. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.
По умолчанию:
"CertManager"
Допустимые значения:
Disabled
,CertManager
,CustomCertificate
,OnlyInURI
- settings.modules.ingressClass
Класс Ingress-контроллера (Ingress class), используемый для модулей Deckhouse.
По умолчанию:
"nginx"
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
Пример:
ingressClass: nginx
- settings.modules.placement
Настройки, определяющие расположение компонентов модулей Deckhouse по умолчанию.
- settings.modules.placement.customTolerationKeys
Список ключей пользовательских toleration.
Необходимо указывать, чтобы позволить планировщику размещать критически важные компоненты Deckhouse, такие как cni и csi, на выделенных узлах.
Пример:
customTolerationKeys: - dedicated.example.com - node-dedicated.example.com/master
- settings.modules.publicDomainTemplate
Шаблон DNS-имен c ключом
%s
в качестве динамической части строки.Модули Deckhouse используют этот шаблон при создании Ingress-ресурсов.
Например, для шаблона
%s.kube.company.my
модуль prometheus создаст Ingress-ресурс на адресgrafana.kube.company.my
для доступа к Grafana.Обратите внимание:
- Нельзя использовать в кластере DNS-имена (создавать соответствующие Ingress-ресурсы), подпадающие под указанный шаблон. Это может вызвать пересечения с создаваемыми Deckhouse Ingress-ресурсами.
- Домен, используемый в шаблоне, не должен совпадать с доменом, указанным в параметре clusterDomain. Например, если
clusterDomain
установлен вcluster.local
(значение по умолчанию), тоpublicDomainTemplate
не может быть%s.cluster.local
. - Домен, используемый в шаблоне, не должен совпадать с доменом, указанным в параметре clusterDomain и внутренней сервисной зоне сети. Например, если clusterDomain установлен в cluster.local (по умолчанию), а сервисная зона сети — ru-central1.internal, то publicDomainTemplate не может быть %s.cluster.local или %s.ru-central1.internal.
- Если параметр не указан, Ingress-ресурсы создаваться не будут.
Шаблон:
^(%s([-a-z0-9]*[a-z0-9])?|[a-z0-9]([-a-z0-9]*)?%s([-a-z0-9]*)?[a-z0-9]|[a-z0-9]([-a-z0-9]*)?%s)(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
Примеры:
publicDomainTemplate: "%s.kube.company.my"
publicDomainTemplate: kube-%s.company.my
- settings.modules.resourcesRequests
Количество ресурсов (CPU и памяти), выделяемых для работы компонентов Deckhouse, работающих на каждом узле кластера (обычно это DaemonSet’ы, например
cni-flannel
,monitoring-ping
).Подробнее про единицы измерения ресурсов.
- settings.modules.resourcesRequests.controlPlane
Количество ресурсов (CPU и памяти), выделяемых для компонентов control plane, работающих на каждом master-узле кластера. Не работает для not-managed-облаков (например, GKE).
Пример:
controlPlane: cpu: 1000m memory: 500M
- settings.modules.resourcesRequests.controlPlane.cpu
Количество CPU, выделяемых для компонентов control plane, работающих на каждом master-узле кластера.
- settings.modules.resourcesRequests.controlPlane.memory
Объем памяти, выделяемой для компонентов control plane, работающих на каждом master-узле кластера.
Шаблон:
^[0-9]+(\.[0-9]+)?(E|P|T|G|M|K|Ei|Pi|Ti|Gi|Mi|Ki)?$
- settings.modules.storageClass
Имя StorageClass, который будет использоваться для всех компонентов Deckhouse Kubernetes Platform (Prometheus, Grafana, OpenVPN и т. д.).
- Если значение не указано, то используется StorageClass по умолчанию, установленный в кластере.
- Этот параметр имеет смысл использовать только в исключительных ситуациях.
- Этот параметр применяется в процессе включения модуля.
По умолчанию:
""
- settings.storageClassПараметр устарел
УСТАРЕВШИЙ. Теперь его значение задается в global.modules.storageClass.
Имя StorageClass, который будет использоваться для всех компонентов Deckhouse Kubernetes Platform (Prometheus, Grafana, OpenVPN и т. д.).
- Если значение не указано, то используется StorageClass по умолчанию, установленный в кластере.
- Этот параметр имеет смысл использовать только в исключительных ситуациях.
- Этот параметр применяется в процессе включения модуля.
По умолчанию:
""
ingress-nginx
Версия схемы: 1
- settings
- settings.defaultControllerVersion
Версия контроллера ingress-nginx, которая будет использоваться для всех контроллеров по умолчанию, если не был задан параметр
controllerVersion
в IngressNginxController CR.По умолчанию:
1.9
- settings.highAvailability
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Пример:
highAvailability: true
log-shipper
Версия схемы: 1
- settings
- settings.debug
Включить или выключить отладочные логи агента. По умолчанию:
false
.По умолчанию:
false
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.resourcesRequests
Настройки максимальных значений CPU и памяти, которые может запросить под при выборе узла (CPU requests, memory requests).
Если модуль
vertical-pod-autoscaler
выключен, максимальные значения становятся значениями по умолчанию.Примеры:
resourcesRequests: mode: VPA vpa: mode: Auto cpu: min: 50m max: 2 memory: min: 256Mi max: 2Gi
resourcesRequests: mode: VPA vpa: mode: Initial cpu: min: 1 max: 3000m memory: min: 1024 max: 4096
resourcesRequests: mode: Static static: cpu: 55m memory: 256Ki
- settings.resourcesRequests.mode
Обязательный параметр
Режим управления запросами ресурсов (requests):
По умолчанию:
"VPA"
Допустимые значения:
VPA
,Static
- settings.resourcesRequests.static
Настройка управления ресурсами в режиме
Static
.- settings.resourcesRequests.static.cpu
Обязательный параметр
Настройка запроса CPU (CPU requests).
По умолчанию:
50m
- settings.resourcesRequests.static.memory
Обязательный параметр
Настройка запроса памяти (memory requests).
По умолчанию:
64Mi
- settings.resourcesRequests.vpa
Настройка управления ресурсами в режиме
VPA
.- settings.resourcesRequests.vpa.cpu
Обязательный параметр
Настройки VPA при работе с CPU.
- settings.resourcesRequests.vpa.cpu.max
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
500m
- settings.resourcesRequests.vpa.cpu.min
Минимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
50m
- settings.resourcesRequests.vpa.memory
Обязательный параметр
Настройки VPA при работе с памятью.
- settings.resourcesRequests.vpa.memory.max
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
2048Mi
- settings.resourcesRequests.vpa.memory.min
Минимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
64Mi
- settings.resourcesRequests.vpa.mode
Обязательный параметр
Режим работы VPA.
По умолчанию:
"Initial"
Допустимые значения:
Initial
,Auto
- settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
loki
Версия схемы: 1
- settings
- settings.diskSizeGigabytes
Размер диска для хранения логов или размер PVC при указании параметра storageClass.
Вы должны самостоятельно указать необходимый размер диска для хранения логов за период, указанный в параметре
retentionPeriodHours
. Loki не может удалять старые данные автоматически при заполнении диска.Занятый объем автоматически мониторится с помощью модуля extended-monitoring
Внимание. Если диск с данными Loki переполнится, приложение перестанет работать. Вам следует выбрать необходимый баланс между значениями параметров
retentionPeriodHours
иdiskSizeGigabytes
.По умолчанию:
2
- settings.lokiConfig
Опции Loki, доступные для изменения.
Подробнее о настройки Loki читайте в документации Loki.
Внимание! Ошибочные настройки могут привести к неработоспособности Loki.
- settings.lokiConfig.grpcServerMaxConcurrentStreams
Ограничение на количество одновременных потоков для вызовов gRPC.
По умолчанию:
100
- settings.lokiConfig.grpcServerMaxRecvMsgSize
Ограничение на размер сообщения gRPC, которое может получить сервер, в байтах.
По умолчанию:
104857600
- settings.lokiConfig.grpcServerMaxSendMsgSize
Ограничение на размер сообщения gRPC, которое может отправить сервер, в байтах.
По умолчанию:
4194304
- settings.lokiConfig.ingestionBurstSizeMB
Общий лимит всплеска объема принимаемых логов. Например, максимальный размер запроса на запись.
По умолчанию:
6
- settings.lokiConfig.ingestionRateMB
Общий лимит скорости приема логов в мегабайтах в секунду.
По умолчанию:
4
- settings.lokiConfig.maxChunksPerQuery
Максимальное количество файлов, которые могут быть скачаны в рамках одного запроса.
По умолчанию:
2000000
- settings.lokiConfig.maxEntriesLimitPerQuery
Максимальное количество записей, возвращаемых для одного запроса.
По умолчанию:
5000
- settings.lokiConfig.maxStreamsPerUser
Максимальное общее количество потоков логов для экземпляра Loki.
Каждый поток логов имеет уникальный набор меток. Количество потоков равно количеству уникальных наборов меток. Например:
{job="my-app", instance="kube-node-1", namespace="production", pod_name="backend-79dbf6fcb7-v5gs7", app="backend"}
.Значение 0 отключает ограничение.
По умолчанию:
0
- settings.lokiConfig.perStreamRateLimit
Максимальная скорость в байтах в секунду для одного потока. Может быть как числом, так и строкой с единицей измерения (KB, MB, GB).
По умолчанию:
3MB
- settings.lokiConfig.perStreamRateLimitBurst
Максимальный размер всплеска объема логов для одного потока. Может быть как числом, так и строкой с единицей измерения (KB, MB, GB).
По умолчанию:
15MB
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.resourcesManagement
Настройки запросов (requests) и ограничений (limits) использования CPU и памяти подами Loki.
Примеры:
resourcesManagement: mode: VPA vpa: mode: Auto cpu: min: 50m max: 2 limitRatio: 1.5 memory: min: 256Mi max: 2Gi limitRatio: 1.5
resourcesManagement: mode: Static static: requests: cpu: 55m memory: 256Mi limits: cpu: 2 memory: 2Gi
- settings.resourcesManagement.mode
Режим управления ресурсами:
По умолчанию:
"VPA"
Допустимые значения:
VPA
,Static
- settings.resourcesManagement.static
Настройка управления ресурсами в режиме
Static
.- settings.resourcesManagement.static.limits
Настройка ограничений (limits) использования CPU и памяти.
- settings.resourcesManagement.static.limits.cpu
Настройка ограничений использования CPU (CPU limits).
- settings.resourcesManagement.static.limits.memory
Настройка ограничений использования памяти (memory limits).
- settings.resourcesManagement.static.requests
Настройки запросов ресурсов (requests) подов.
- settings.resourcesManagement.static.requests.cpu
Настройка запроса CPU (CPU requests).
- settings.resourcesManagement.static.requests.memory
Настройка запроса памяти (memory requests).
- settings.resourcesManagement.vpa
Настройка управления ресурсами в режиме
VPA
.- settings.resourcesManagement.vpa.cpu
Настройки VPA при работе с CPU.
- settings.resourcesManagement.vpa.cpu.limitRatio
Коэффициент расчета ограничений использования CPU относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования CPU для пода (CPU limits).
Если параметр указан, то VPA, при пересчете запросов CPU (CPU requests) будет пересчитывать ограничения использования CPU (CPU limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- settings.resourcesManagement.vpa.cpu.max
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
2
- settings.resourcesManagement.vpa.cpu.min
Минимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
По умолчанию:
50m
- settings.resourcesManagement.vpa.memory
Настройки VPA при работе с памятью.
- settings.resourcesManagement.vpa.memory.limitRatio
Коэффициент расчета ограничений использования памяти относительно запросов (limits/requests).
Применяется для расчета начальных ограничений использования памяти для пода (memory limits).
Если параметр указан, то VPA, при пересчете запросов памяти (memory requests) будет пересчитывать ограничения использования памяти (memory limits) сохраняя указанное соотношение ограничений к запросам (limits/requests).
- settings.resourcesManagement.vpa.memory.max
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
2Gi
- settings.resourcesManagement.vpa.memory.min
Минимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
По умолчанию:
256Mi
- settings.resourcesManagement.vpa.mode
Режим работы VPA.
По умолчанию:
"Auto"
Допустимые значения:
Initial
,Auto
- settings.retentionPeriodHours
Сколько часов логи будут храниться, прежде чем будут удалены.
По умолчанию:
168
- settings.storageClass
Имя StorageClass, который будет использоваться по умолчанию в кластере.
Если значение не указано, используется StorageClass существующей PVC Loki. Если PVC нет, будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClass
учитывается только при включении модуля. Изменение глобального параметраstorageClass
при включенном модуле не приведет к перезаказу диска.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Если указать
false
, будет принудительно использоватьсяemptyDir
.Примеры:
storageClass: false
storageClass: default
- settings.storeSystemLogs
Сохранять логи из пространства имен
d8-*
в loki.Для работы необходим включенный модуль log-shipper.
По умолчанию:
true
- settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
metallb
Версия схемы: 2
Примеры:
bgpPeers:
- peer-address: 192.168.1.1
peer-asn: 1111
my-asn: 2222
source-address: 192.168.1.2
hold-time: 10s
node-selector:
matchLabels:
node: test
addressPools:
- name: my-pool-bgp
protocol: bgp
addresses:
- 192.168.100.1-192.168.100.10
- 192.168.101.0/24
bgp-advertisements:
- aggregation-length: 32
localpref: 100
communities:
- no-advertise
bgpCommunities:
no-advertise: 65535:65282
speaker:
nodeSelector:
mylabel: speaker
addressPools:
- name: my-pool-l2
protocol: layer2
addresses:
- 192.168.100.1-192.168.100.10
- 192.168.101.0/24
speaker:
nodeSelector:
mylabel: speaker
tolerations:
- key: dedicated
operator: Equal
value: speaker
- settings
- settings.addressPools
Список диапазонов IP, которые будут выдаваться сервисам.
Формат — массив, как у оригинального MetalLB.
По умолчанию:
[]
- settings.addressPools.addresses
Список диапазонов, где диапазон — это либо подсеть с маской, либо диапазон значений с “-“ в качестве разделителя.
- settings.addressPools.auto-assign
Флаг auto-assign используется для предотвращения автоматического выделения IP из пула.
По умолчанию:
true
- settings.addressPools.avoid-buggy-ips
Запрещает использование адресов из пула, заканчивающихся на
.0
и.255
.По умолчанию:
false
- settings.addressPools.bgp-advertisements
Определяет BGP advertisements.
- settings.addressPools.bgp-advertisements.aggregation-length
Опция aggregation-length позволяет «свернуть» префикс в более крупный.
Работает для адресов IPv4.
По умолчанию:
32
Допустимые значения:
1 <= X
- settings.addressPools.bgp-advertisements.communities
BGP communities, связанные с анонсом. Каждый элемент — это ключ из параметра bgpCommunities.
Пример:
communities: - no-advertise
- settings.addressPools.bgp-advertisements.localpref
Атрибут
BGP LOCAL_PREF
используется алгоритмом BGP best path.Путь с более высоким localpref предпочтительнее пути с более низким localpref.
- settings.addressPools.name
Имя пула, которое можно уточнять с помощью аннотации к сервису
metallb.universe.tf/address-pool: <name>
. Имя должно соответствовать RFC 1123: разделенные точками части в нижнем регистре, состоящие из букв и ‘-‘. Каждое имя должно начинаться и заканчиваться буквой алфавита.Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
- settings.addressPools.protocol
Технология публикации сервисов, которую должен реализовать speaker.
Допустимые значения:
bgp
,layer2
- settings.bgpCommunities
Список BGP communities.
Пример:
bgpCommunities: no-advertise: 65535:65282
- settings.bgpPeers
Список внешних BGP-роутеров, которые будут работать с этим модулем.
Формат — массив, как у оригинального MetalLB.
По умолчанию:
[]
- settings.bgpPeers.hold-time
Таймаут, после которого партнерский BGP-пир считается утерянным. Это значение делится на 3 и получается интервал для keep-alive.
Рекомендуемое значение —
3s
(keep-alive раз в секунду), протокол BGP не поддерживает меньшие значения. По умолчанию —90s
(keep-alive раз в 30 секунд).Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- settings.bgpPeers.my-asn
Обязательный параметр
Номер автономной системы для кластера.
Допустимые значения:
0 <= X <= 4294967295
- settings.bgpPeers.node-selector
Дополнительный псевдоселектор, который реализуется приложением speaker’а. Говорит о том, с каких узлов стоит устанавливать связь с внешними BGP-роутерами. Не путать с
speaker.nodeSelector
иnodeSelector
.Опциональный параметр.
Формат —
matchLabels
илиmatchExpressions
.- settings.bgpPeers.node-selector.matchExpressions
- settings.bgpPeers.node-selector.matchExpressions.key
- settings.bgpPeers.node-selector.matchExpressions.operator
- settings.bgpPeers.node-selector.matchExpressions.values
- settings.bgpPeers.node-selector.matchLabels
- settings.bgpPeers.password
Пароль для аутентификациии для роутеров, требующих TCP MD5 авторизованных сессий.
- settings.bgpPeers.peer-address
Обязательный параметр
IP внешнего BGP-роутера.
Шаблон:
^([0-9]{1,3}\.){3}[0-9]{1,3}$
- settings.bgpPeers.peer-asn
Обязательный параметр
Номер автономной системы на внешнем BGP-роутере.
Допустимые значения:
0 <= X <= 4294967295
- settings.bgpPeers.peer-port
Порт, к которому устанавливать сессию.
По умолчанию:
179
Допустимые значения:
0 <= X <= 16384
- settings.bgpPeers.router-id
ID BGP-роутера для анонса.
- settings.bgpPeers.source-address
IP-адрес для исходящих соединений.
Шаблон:
^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$
- settings.loadBalancerClass
Необязательное поле, описывающее класс LoadBalancer. Поле LoadBalancerClass следует использовать в режиме L2 LoadBalancer для указания MetalLoadBalancerClass, задающего параметры балансировщика для Service.
- settings.nodeSelector
Селектор узлов, на которых будет работать главный контроллер. Структура, аналогичная параметру
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.speaker
Настройки компонента
speaker
, реализующего протокол публикации и направляющего на свой узел прикладной трафик сервисов.- settings.speaker.nodeSelector
Обязательный параметр
Селектор узлов, на которых будет работать DaemonSet speaker. Структура, аналогичная параметру
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.speaker.tolerations
Структура для DaemonSet speaker’а, аналогичная параметру
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.- settings.speaker.tolerations.effect
- settings.speaker.tolerations.key
- settings.speaker.tolerations.operator
- settings.speaker.tolerations.tolerationSeconds
- settings.speaker.tolerations.value
- settings.tolerations
Структура, аналогичная параметру
spec.tolerations
пода Kubernetes для главного контроллера.Если значение не указано или указано
false
, будет использоваться автоматика.- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
monitoring-custom
monitoring-deckhouse
monitoring-kubernetes
Версия схемы: 1
- settings
- settings.ebpfExporterEnabled
Флаг отключения ebpf_exporter для случаев, когда его работа создает проблемы в нормальной работе узлов.
По умолчанию:
true
Пример:
ebpfExporterEnabled: false
- settings.highAvailability
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Примеры:
highAvailability: true
highAvailability: false
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
nodeSelector: disktype: ssd
- settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
tolerations: - key: key1 operator: Equal value: value1 effect: NoSchedule
- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
- settings.vpa
Настройки VPA для подов
kube-state-metrics
.Пример:
vpa: kubeStateMetricsMaxCPU: 130m kubeStateMetricsMaxMemory: 115Mi
- settings.vpa.kubeStateMetricsMaxCPU
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests).
Примеры:
kubeStateMetricsMaxCPU: 3
kubeStateMetricsMaxCPU: 1000m
- settings.vpa.kubeStateMetricsMaxMemory
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests).
Пример:
kubeStateMetricsMaxMemory: 3Mi
monitoring-kubernetes-control-plane
monitoring-ping
Версия схемы: 1
- settings
- settings.externalTargets
Список дополнительных хостов для мониторинга.
Пример:
- name: google-primary host: 8.8.8.8 - name: yaru host: ya.ru - host: youtube.com
- settings.externalTargets.host
Обязательный параметр
IP-адрес или host для мониторинга.
- settings.externalTargets.name
Название записи мониторинга.
multitenancy-manager
Версия схемы: 1
- settings
- settings.allowNamespacesWithoutProjects
Если эта опция выключена — запретите создавать пространства имен, которые не являются частью проекта.
По умолчанию:
true
- settings.highAvailability
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Пример:
highAvailability: true
operator-prometheus
Версия схемы: 1
- settings
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
prometheus
Версия схемы: 2
- settings
- settings.auth
Опции, связанные с аутентификацией или авторизацией в приложении.
- settings.auth.allowedUserGroups
Массив групп, пользователям которых позволен доступ в Grafana и Prometheus.
Используется, если включен модуль user-authn или параметр
externalAuthentication
.Внимание! При использовании совместно с модулем user-authn необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.
- settings.auth.externalAuthentication
Параметры для подключения внешней аутентификации (используется механизм NGINX Ingress external-auth, работающий на основе модуля NGINX auth_request.
Внешняя аутентификация включается автоматически, если включен модуль user-authn.
- settings.auth.externalAuthentication.authSignInURL
URL, куда будет перенаправлен пользователь для прохождения аутентификации (если сервис аутентификации вернул код ответа HTTP, отличный от 200).
Пример:
authSignInURL: https://example.com/dex/sign_in
- settings.auth.externalAuthentication.authURL
URL сервиса аутентификации. Если пользователь прошел аутентификацию, сервис должен возвращать код ответа HTTP 200.
Пример:
authURL: https://example.com/dex/auth
- settings.auth.satisfyAny
Разрешает пройти только одну из аутентификаций.
В комбинации с опцией
whitelistSourceRanges
позволяет считать авторизованными всех пользователей из указанных сетей без ввода логина и пароля.По умолчанию:
false
Пример:
satisfyAny: true
- settings.auth.whitelistSourceRanges
Список адресов в формате CIDR, которым разрешено проходить авторизацию в Grafana и Prometheus.
Пример:
whitelistSourceRanges: - 1.1.1.1/32
- settings.externalLabels
Набор внешних меток для маркировки метрик.
Допускается использование значений переменных окружения контейнера
config-reloader
в качестве значений меток, например:HOSTNAME
/POD_NAME
— содержит наименование пода (например,prometheus-main-0
,prometheus-main-1
и т. д.);SHARD
— содержит номер шарда.
Пример:
externalLabels: prometheus_replica: "$(POD_NAME)" shard: "$(SHARD)" hostname: "$(HOSTNAME)"
- settings.grafana
Настройки для инсталляции Grafana.
- settings.grafana.customPlugins
Список дополнительных plug-in’ов для Grafana.
Необходимо указать в качестве значения список имен плагинов из официального репозитория.
Пример добавления plug-in’ов для возможности указания clickhouse в качестве datasource и панели flow-chart:
grafana: customPlugins: - agenty-flowcharting-panel - vertamedia-clickhouse-datasource
Вы также можете устанавливать плагины из других источников передав ссылку на zip-архив плагина в формате
<url to plugin zip>;<plugin name>
:grafana: customPlugins: - http://10.241.32.16:3000/netsage-bumpchart-panel-1.1.1.zip;netsage-bumpchart-panel
Пример:
customPlugins: - agenty-flowcharting-panel - vertamedia-clickhouse-datasource
- settings.grafana.useDarkTheme
Использование по умолчанию пользовательской темной темы.
По умолчанию:
false
Пример:
useDarkTheme: true
- settings.highAvailability
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Пример:
highAvailability: true
- settings.https
Тип сертификата, используемого для Grafana/Prometheus.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https
.Примеры:
https: mode: CustomCertificate customCertificate: secretName: foobar
https: mode: CertManager certManager: clusterIssuerName: letsencrypt
- settings.https.certManager
- settings.https.certManager.clusterIssuerName
ClusterIssuer, используемый для Grafana/Prometheus.
Доступны
letsencrypt
,letsencrypt-staging
,selfsigned
, но вы можете определить свои.По умолчанию:
"letsencrypt"
- settings.https.customCertificate
- settings.https.customCertificate.secretName
Имя Secret’а в namespace
d8-system
, который будет использоваться для Grafana/Prometheus.Secret должен быть в формате kubernetes.io/tls.
По умолчанию:
"false"
- settings.https.mode
Режим работы HTTPS:
Disabled
— Grafana/Prometheus будут работать только по HTTP;CertManager
— Grafana/Prometheus будут работать по HTTPS и заказывать сертификат с помощью ClusterIssuer, заданного в параметреcertManager.clusterIssuerName
.CustomCertificate
— Grafana/Prometheus будут работать по HTTPS, используя сертификат из namespaced8-system
.OnlyInURI
— Grafana/Prometheus будут работать по HTTP (подразумевая, что перед ними стоит внешний балансировщик, который терминирует HTTPS) и все ссылки в user-authn будут генерироваться с HTTPS-схемой. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,CertManager
,CustomCertificate
,OnlyInURI
- settings.ingressClass
Класс Ingress-контроллера, который используется для Grafana/Prometheus.
Опциональный параметр, по умолчанию используется глобальное значение
modules.ingressClass
.Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
Пример:
ingressClass: public
- settings.longtermMaxDiskSizeGigabytesПараметр устарел
Устарел и будет удален. Ни на что не влияет. Максимальный размер в гигабайтах, до которого автоматически может ресайзиться диск Longterm Prometheus.
- settings.longtermNodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
longtermNodeSelector: disktype: ssd
- settings.longtermPodAntiAffinity
Устанавливает конфигурацию podAntiAffinity для Prometheus longterm по отношению к Prometheus main.
Preferred
— позволяет размещать Prometheus longterm на одном узле с Prometheus main, если нет возможности их разместить на разных узлах.Required
— не позволяет размещать Prometheus longterm на одном узле с Prometheus main ни при каких условиях.
По умолчанию:
"Preferred"
Допустимые значения:
Preferred
,Required
- settings.longtermRetentionDays
Сколько дней хранить данные в Longterm Prometheus. Если указать 0, Longterm Prometheus не будет запущен в кластере.
По умолчанию:
1095
- settings.longtermScrapeInterval
Как часто Longterm Prometheus должен собирать себе «снимок» данных из основного Prometheus.
По умолчанию:
"5m"
- settings.longtermStorageClass
Имя StorageClass, который будет использован для Longterm Prometheus.
Если значение не указано, используется StorageClass существующей PVC Longterm Prometheus. Если PVC нет, будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClass
учитывается только при включении модуля. Изменение глобального параметраstorageClass
при включенном модуле не приведет к перезаказу диска.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Пример:
longtermStorageClass: ceph-ssd
- settings.longtermTolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
longtermTolerations: - key: key1 operator: Equal value: value1 effect: NoSchedule
- settings.longtermTolerations.effect
- settings.longtermTolerations.key
- settings.longtermTolerations.operator
- settings.longtermTolerations.tolerationSeconds
- settings.longtermTolerations.value
- settings.mainMaxDiskSizeGigabytesПараметр устарел
Устарел и будет удален. Ни на что не влияет. Максимальный размер в гигабайтах, до которого автоматически может ресайзиться диск Prometheus.
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
nodeSelector: disktype: ssd
- settings.retentionDays
Сколько дней хранить данные.
По умолчанию:
15
- settings.scrapeInterval
Как часто Prometheus должен собирать метрики с target’ов.
Evaluation Interval всегда равен
scrapeInterval
.По умолчанию:
"30s"
Шаблон:
^([\d]*y)?([\d]*w)?([\d]*d)?([\d]*h)?([\d]*m)?([\d]*s)?$
- settings.storageClass
Имя StorageClass, который будет использоваться по умолчанию в кластере.
Если не указано, используется StorageClass существующей PVC Prometheus. Если PVC нет, будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClass
учитывается только при включении модуля. Изменение глобального параметраstorageClass
при включенном модуле не приведет к перезаказу диска.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск Prometheus будет перезаказан, а все данные удалены.
Внимание. При переносе Prometheus с локальным хранилищем на другие узлы, поды зависнут в состоянии Pending. В этом случае будет необходимо сохранить базу данных Prometheus, удалить старые PVC и перезапустить под вручную. Под локальным хранилищем подразумевается StorageClass, связанный не с сетевым хранилищем, а с локальным томом на узле (например, StorageClass, создаваемый модулем local-path-provisioner).
Если указать
false
, будет принудительно использоватьсяemptyDir
.Примеры:
storageClass: ceph-ssd
storageClass: 'false'
- settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
tolerations: - key: key1 operator: Equal value: value1 effect: NoSchedule
- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
- settings.vpa
Настройки VPA для подов.
По умолчанию:
{"updateMode":"Initial"}
Примеры:
vpa: updateMode: Initial longtermMaxCPU: '1' longtermMaxMemory: 1500Mi maxCPU: 1000m maxMemory: 1500Mi
vpa: updateMode: 'Off'
- settings.vpa.longtermMaxCPU
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests) для подов Longterm Prometheus.
Значение по умолчанию подбирается автоматически, исходя из максимального количества подов, которое можно создать в кластере при текущем количестве узлов и их настройках. Подробнее см. хук
detect_vpa_max
модуля.Пример:
longtermMaxCPU: 0.1
- settings.vpa.longtermMaxMemory
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests) для подов Longterm Prometheus.
Значение по умолчанию подбирается автоматически, исходя из максимального количества подов, которое можно создать в кластере при текущем количестве узлов и их настройках. Подробнее см. хук
detect_vpa_max
модуля.Пример:
longtermMaxMemory: 4Mi
- settings.vpa.maxCPU
Максимальное значение, которое может выставить VPA для запроса CPU (CPU requests) для подов основного Prometheus.
Значение по умолчанию подбирается автоматически, исходя из максимального количества подов, которое можно создать в кластере при текущем количестве узлов и их настройках. Подробнее см. хук
detect_vpa_max
модуля.Пример:
maxCPU: '3'
- settings.vpa.maxMemory
Максимальное значение, которое может выставить VPA для запроса к памяти (memory requests) для подов основного Prometheus..
Значение по умолчанию подбирается автоматически, исходя из максимального количества подов, которое можно создать в кластере при текущем количестве узлов и их настройках. Подробнее см. хук
detect_vpa_max
модуля.Пример:
maxMemory: 3Mi
- settings.vpa.updateMode
Режим работы VPA.
По умолчанию:
"Initial"
Допустимые значения:
Initial
,Auto
,Off
prometheus-metrics-adapter
sds-local-volume
Версия схемы: 2
- settings
- settings.dataNodes
Настройки локальных томов csi на узлах с данными
- settings.dataNodes.nodeSelector
То же, что и в параметре
spec.nodeSelector
подов в Kubernetes.Если параметр опущен, локальный том csi будет размещен на всех узлах.
Внимание! Изменение этого параметра не приводит к перераспределению данных. Если узел с данными больше не соответствует «nodeSelector», данные на этом узле станут недоступными.
По умолчанию:
{"kubernetes.io/os":"linux"}
- settings.enableThinProvisioning
Allow thin LVM volumes usage
По умолчанию:
false
- settings.logLevel
Уровень логирования модуля.
По умолчанию:
"DEBUG"
Допустимые значения:
ERROR
,WARN
,INFO
,DEBUG
,TRACE
sds-node-configurator
Версия схемы: 2
- settings
- settings.disableDs
Выключить sds-node-configurator daemonset
По умолчанию:
false
- settings.enableThinProvisioning
Включить поддержку thin LVM томов
По умолчанию:
false
- settings.logLevel
Уровень логирования для приложений модуля
По умолчанию:
"INFO"
Допустимые значения:
ERROR
,WARN
,INFO
,DEBUG
,TRACE
sds-replicated-volume
Версия схемы: 1
- settings
- settings.backup
Module backup settings
- settings.backup.enabled
Включение резервного копирования БД модуля
По умолчанию:
true
- settings.backup.retentionCount
Количество резервных копий для хранения
По умолчанию:
3
- settings.backup.schedule
Расписание резервного копирования
По умолчанию:
"0 3 * * *"
- settings.dataNodes
Настройки для узлов Linstor с данными
- settings.dataNodes.nodeSelector
Настройка аналогична
spec.nodeSelector
в Kubernetes.Если параметр не указан, поды для Linstor будут запущены на всех узлах.
Внимание! При изменении этого параметра не происходит переразмещение данных. Если узел с данными перестанет соответствовать
nodeSelector
, данные на нем будут недоступны.По умолчанию:
{"kubernetes.io/os":"linux"}
- settings.drbdPortRange
Settings for DRBD TCP ports
- settings.drbdPortRange.maxPort
DRBD ports range end
По умолчанию:
7999
- settings.drbdPortRange.minPort
DRBD ports range start
По умолчанию:
7000
- settings.enableThinProvisioning
Allow thin LVM volumes usage
По умолчанию:
false
- settings.logLevel
Уровень логирования для приложений модуля
По умолчанию:
"INFO"
Допустимые значения:
ERROR
,WARN
,INFO
,DEBUG
,TRACE
- settings.registryScheme
Deprecated parameter. Remove it from ModuleConfig for Deckhouse with version greater than 1.57.
По умолчанию:
"https"
snapshot-controller
Версия схемы: 1
- settings
- settings.highAvailability
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Примеры:
highAvailability: true
highAvailability: false
upmeter
Версия схемы: 3
- settings
- settings.auth
Доступ к веб-интерфейсу.
- settings.auth.status
Обязательный параметр
Настройки доступа к веб-интерфейсу.
- settings.auth.status.allowedUserGroups
Группы доступа к просмотру интерфейса приложения.
- Используется, если включен модуль
user-authn
или параметрexternalAuthentication
. - Внимание! При использовании совместно с модулем
user-authn
необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.
- Используется, если включен модуль
- settings.auth.status.externalAuthentication
Параметры для подключения внешней аутентификации (используется механизм NGINX Ingress external-auth, работающий на основе модуля NGINX auth_request.
Внешняя аутентификация включается автоматически, если включен модуль user-authn.
- settings.auth.status.externalAuthentication.authSignInURL
URL, куда будет перенаправлен пользователь для прохождения аутентификации (если сервис аутентификации вернул код ответа HTTP, отличный от 200).
- settings.auth.status.externalAuthentication.authURL
URL сервиса аутентификации. Если пользователь прошел аутентификацию, сервис должен возвращать код ответа HTTP 200.
- settings.auth.status.whitelistSourceRanges
Список адресов в формате CIDR, которым разрешено проходить аутентификацию. Если параметр не указан, аутентификацию разрешено проходить без ограничения по IP-адресу.
Пример:
whitelistSourceRanges: - 1.1.1.1/32
- settings.auth.webui
Обязательный параметр
Настройки доступа к веб-интерфейсу.
- settings.auth.webui.allowedUserGroups
Группы доступа к просмотру интерфейса приложения.
- Используется, если включен модуль
user-authn
или параметрexternalAuthentication
. - Внимание! При использовании совместно с модулем
user-authn
необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.
- Используется, если включен модуль
- settings.auth.webui.externalAuthentication
Параметры для подключения внешней аутентификации (используется механизм NGINX Ingress external-auth, работающий на основе модуля NGINX auth_request.
Внешняя аутентификация включается автоматически, если включен модуль user-authn.
- settings.auth.webui.externalAuthentication.authSignInURL
URL, куда будет перенаправлен пользователь для прохождения аутентификации (если сервис аутентификации вернул код ответа HTTP, отличный от 200).
- settings.auth.webui.externalAuthentication.authURL
URL сервиса аутентификации. Если пользователь прошел аутентификацию, сервис должен возвращать код ответа HTTP 200.
- settings.auth.webui.password
Password for http authorization of the
admin
user. It is generated automatically, but you can change it.This parameter is used if the
externalAuthentication
is not enabled. - settings.auth.webui.whitelistSourceRanges
Список адресов в формате CIDR, которым разрешено проходить аутентификацию. Если параметр не указан, аутентификацию разрешено проходить без ограничения по IP-адресу.
Пример:
whitelistSourceRanges: - 1.1.1.1/32
- settings.disabledProbes
Массив строк из названий групп или определенных проб из группы. Названия можно подсмотреть в веб-интерфейсе.
Пример:
disabledProbes: - "synthetic/api" # Отключить отдельную пробу. - "synthetic/" # Отключить группу проб. - control-plane # Или без /.
По умолчанию:
[]
- settings.https
Тип сертификата, используемого для веб-приложений webui и status.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https
.Примеры:
https: mode: CustomCertificate customCertificate: secretName: foobar
https: mode: CertManager certManager: clusterIssuerName: letsencrypt
- settings.https.certManager
- settings.https.certManager.clusterIssuerName
ClusterIssuer, используемый для webui/status.
Доступны
letsencrypt
,letsencrypt-staging
,selfsigned
, но вы можете определить свои.По умолчанию:
"letsencrypt"
- settings.https.customCertificate
- settings.https.customCertificate.secretName
Имя Secret’а в пространстве имен
d8-system
, который будет использоваться для webui/status.Secret должен быть в формате TLS.
По умолчанию:
"false"
- settings.https.mode
Режим работы 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
- settings.ingressClass
Класс Ingress-контроллера, который используется для Upmeter.
Опциональный параметр, по умолчанию используется глобальное значение
modules.ingressClass
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
nodeSelector: disktype: ssd
- settings.smokeMini
Configuration of authentication for smoke-mini.
- settings.smokeMini.auth
Обязательный параметр
Настройки доступа к веб-интерфейсу.
- settings.smokeMini.auth.allowedUserGroups
Группы доступа к просмотру интерфейса приложения.
- Используется, если включен модуль
user-authn
или параметрexternalAuthentication
. - Внимание! При использовании совместно с модулем
user-authn
необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.
- Используется, если включен модуль
- settings.smokeMini.auth.externalAuthentication
Параметры для подключения внешней аутентификации. Используется механизм NGINX Ingress
external-auth
, работающей на основе модуля NGINXauth_request
.- settings.smokeMini.auth.externalAuthentication.authSignInURL
URL, куда будет перенаправлен пользователь для прохождения аутентификации (если сервис аутентификации вернул код ответа HTTP, отличный от 200).
- settings.smokeMini.auth.externalAuthentication.authURL
URL сервиса аутентификации. Если пользователь прошел аутентификацию, сервис должен возвращать код ответа HTTP 200.
- settings.smokeMini.auth.password
Пароль для HTTP-авторизации для пользователя
admin
(генерируется автоматически, но можно менять)Используется, если не включен параметр
externalAuthentication
. - settings.smokeMini.auth.whitelistSourceRanges
Список адресов в формате CIDR, которым разрешено проходить аутентификацию. Если параметр не указан, аутентификацию разрешено проходить без ограничения по IP-адресу.
Пример:
whitelistSourceRanges: - 1.1.1.1/32
- settings.smokeMini.https
Тип сертификата, используемого для smoke-mini.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https
.Примеры:
https: mode: CustomCertificate customCertificate: secretName: foobar
https: mode: CertManager certManager: clusterIssuerName: letsencrypt
- settings.smokeMini.https.certManager
- settings.smokeMini.https.certManager.clusterIssuerName
ClusterIssuer, используемый для smoke-mini.
Доступны
letsencrypt
,letsencrypt-staging
,selfsigned
, но вы можете определить свои.По умолчанию:
"letsencrypt"
- settings.smokeMini.https.customCertificate
- settings.smokeMini.https.customCertificate.secretName
Имя Secret’а в namespace
d8-system
, который будет использоваться для smoke-mini.Secret должен быть в формате TLS.
По умолчанию:
"false"
- settings.smokeMini.https.mode
Режим работы 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
- settings.smokeMini.storageClass
StorageClass для использования при проверке работоспособности дисков.
Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClass
учитывается только при включении модуля. Изменение глобального параметраstorageClass
при включенном модуле не приведет к перезаказу диска.Если указать
false
, будет принудительно использоваться emptyDir.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Внимание. При переносе Upmeter с локальным хранилищем на другие узлы, поды зависнут в состоянии Pending. В этом случае будет необходимо сохранить базу данных Upmeter, удалить старые PVC и перезапустить под вручную. Под локальным хранилищем подразумевается StorageClass, связанный не с сетевым хранилищем, а с локальным томом на узле (например, StorageClass, создаваемый модулем local-path-provisioner).
По умолчанию:
false
Примеры:
storageClass: false
storageClass: default
- settings.smokeMiniDisabled
Выключение smokeMini. Также отключает группу “synthetic”.
По умолчанию:
false
- settings.statusPageAuthDisabled
Выключение авторизации для status-домена.
По умолчанию:
false
- settings.storageClass
Имя StorageClass, который будет использоваться по умолчанию в кластере.
Если значение не указано, используется StorageClass существующей PVC. Если PVC нет, будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClass
учитывается только при включении модуля. Изменение глобального параметраstorageClass
при включенном модуле не приведет к перезаказу диска.Если указать
false
, будет принудительно использоватьсяemptyDir
.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Внимание. При переносе Upmeter с локальным хранилищем на другие узлы, поды зависнут в состоянии Pending. В этом случае будет необходимо сохранить базу данных Upmeter, удалить старые PVC и перезапустить под вручную. Под локальным хранилищем подразумевается StorageClass, связанный не с сетевым хранилищем, а с локальным томом на узле (например, StorageClass, создаваемый модулем local-path-provisioner).
Примеры:
storageClass: false
storageClass: default
- settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
tolerations: - key: key1 operator: Equal value: value1 effect: NoSchedule
- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
user-authn
Версия схемы: 2
- settings
- settings.controlPlaneConfigurator
Настройки параметров для модуля автоматической настройки
kube-apiserver
control-plane-manager.- settings.controlPlaneConfigurator.dexCAMode
Способ определения CA, который будет использован при настройке
kube-apiserver
:Custom
— использовать CA, указанный в параметреdexCustomCA
. Этот вариант уместен, например, если вы используете внешний HTTPS-балансировщик перед Ingress-контроллером и на этом балансировщике используется самоподписанный сертификат.DoNotNeed
— CA не требуется (например, при использовании публичного TLS-провайдера Let’s Encrypt или других).FromIngressSecret
— извлечь CA или сам сертификат из Secret’а, который используется в Ingress-ресурсе. Если вы используете самоподписанные сертификаты в Ingress-ресурсах — это ваш вариант.
По умолчанию:
"DoNotNeed"
Допустимые значения:
Custom
,DoNotNeed
,FromIngressSecret
- settings.controlPlaneConfigurator.dexCustomCA
CA, который будет использован в случае, если
dexCAMode
установлен вCustom
. - settings.controlPlaneConfigurator.enabled
Использовать ли
control-plane-manager
для настройки OIDC вkube-apiserver
.По умолчанию:
true
- settings.highAvailability
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Примеры:
highAvailability: true
highAvailability: false
- settings.https
Тип сертификата, используемого для Dex/kubeconfig-generator.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https
.Примеры:
https: mode: CustomCertificate customCertificate: secretName: foobar
https: mode: CertManager certManager: clusterIssuerName: letsencrypt
- settings.https.certManager
- settings.https.certManager.clusterIssuerName
ClusterIssuer, используемый для Dex/kubeconfig-generator.
Доступны
letsencrypt
,letsencrypt-staging
,selfsigned
, но вы можете определить свои.По умолчанию:
"letsencrypt"
- settings.https.customCertificate
- settings.https.customCertificate.secretName
Имя Secret’а в namespace
d8-system
, который будет использоваться для Dex/kubeconfig-generator.Secret должен быть в формате kubernetes.io/tls.
По умолчанию:
"false"
- settings.https.mode
Режим работы HTTPS:
CertManager
— Dex/kubeconfig-generator будет работать по HTTPS и заказывать сертификат с помощью ClusterIssuer, заданного в параметреcertManager.clusterIssuerName
;CustomCertificate
— Dex/kubeconfig-generator будет работать по HTTPS, используя сертификат из namespaced8-system
;Disabled
— Dex/kubeconfig-generator будет работать только по HTTP;OnlyInURI
— Dex/kubeconfig-generator будет работать по HTTP (подразумевая, что перед ним стоит внешний балансировщик, который терминирует HTTPS-трафик) и все ссылки в user-authn будут генерироваться с HTTPS-схемой. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,CertManager
,CustomCertificate
,OnlyInURI
- settings.idTokenTTL
Время жизни ID-токена.
Задается в виде строки с указанием часов, минут и секунд: 30m, 20s, 2h30m10s, 24h.
По умолчанию:
"10m"
Шаблон:
^([0-9]+h)?([0-9]+m)?([0-9]+s)?$
- settings.ingressClass
Класс Ingress-контроллера, который используется для Dex/kubeconfig-generator.
Опциональный параметр, по умолчанию используется глобальное значение
modules.ingressClass
.Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
- settings.kubeconfigGenerator
Массив, в котором указываются дополнительные способы доступа к API-серверу.
Параметр может быть полезен в случае, если вы хотите предоставить доступ к API-серверу не через Ingress, а другими способами (например, с bastion-хоста или через OpenVPN).
- settings.kubeconfigGenerator.description
Текстовое описание, содержащее информацию о том, чем этот метод аутентификации отличается от других.
- settings.kubeconfigGenerator.id
Обязательный параметр
Имя способа доступа к API-серверу (без пробелов, маленькими буквами).
Шаблон:
^[\@\.\:0-9a-z._-]+$
- settings.kubeconfigGenerator.masterCA
CA для доступа к API-серверу.
Если данный параметр не указать, то будет автоматически использован Kubernetes CA.
При публикации API-сервера через HTTP-прокси, который терминирует HTTPS-трафик, рекомендуется использовать самоподписанный сертификат, который нужно указать в параметре
masterCA
. - settings.kubeconfigGenerator.masterURI
Обязательный параметр
Если планируется использовать TCP-прокси, для адреса TCP-прокси должен быть сконфигурирован сертификат на стороне API-сервера. Например, в случае, если API-сервер доступен по трем адресам (
192.168.0.10
,192.168.0.11
и192.168.0.12
), а ходить к API-серверу клиент будет через TCP-балансер (например,192.168.0.15
), необходимо перегенерировать сертификаты для API-серверов:- отредактировать
kubeadm-config
:kubectl -n kube-system edit configmap kubeadm-config
, добавив в.apiServer.certSANs
адрес192.168.0.15
; - сохранить получившийся конфиг:
kubeadm config view > kubeadmconf.yaml
; - удалить старые сертификаты API-сервера:
mv /etc/kubernetes/pki/apiserver.* /tmp/
; - перевыпустить новые сертификаты:
kubeadm init phase certs apiserver --config=kubeadmconf.yaml
; - перезапустить контейнер с API-сервером:
docker ps -a | grep 'kube-apiserver' | grep -v pause| awk '{print $1}' | xargs docker restart
; - повторить данное действие для всех master-узлов.
- отредактировать
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.publishAPI
Настройки публикации API-сервера Kubernetes через Ingress для обеспечения его публичного доступа.
- settings.publishAPI.addKubeconfigGeneratorEntry
Если указать
false
, будет удалена запись в kubeconfig-generator.По умолчанию:
true
- settings.publishAPI.enabled
Если указать
true
, в namespaced8-user-authn
кластера будет создан Ingress-ресурс, который откроет публичный доступ к API-серверу.По умолчанию:
false
- settings.publishAPI.https
Режим работы HTTPS для Ingress API-сервера.
Примеры:
https: mode: SelfSigned
https: mode: Global global: kubeconfigGeneratorMasterCA: plainstring
- settings.publishAPI.https.global
Дополнительный параметр для режима
Global
.- settings.publishAPI.https.global.kubeconfigGeneratorMasterCA
Если перед Ingress-контроллером есть внешний балансировщик, который терминирует HTTPS-трафик с использованием непубличного сертификата, укажите цепочку CA в этом параметре. Она будет добавлена в сгенерированные kubectl-конфиги.
Если вы используете в кластере сертификаты, выдаваемые c помощью модуля
cert-manager
и Let’s Encrypt, следует в качестве значения установить пустую строку""
.В качестве CA допускается указать непосредственно сертификат внешнего балансировщика. В таком случае нужно помнить, что обновление сертификата на балансировщике повредит ранее сгенерированные kubectl-конфиги.
- settings.publishAPI.https.mode
Режим выдачи сертификатов для данного Ingress-ресурса.
В случае использования режима
SelfSigned
, для Ingress-ресурса будет выпущен сертификат подписанный CA.Получить выпущенный сертификат можно следующей командой:
kubectl -n d8-user-authn get secrets kubernetes-api-ca-key-pair -oyaml
.В случае использования режима
Global
будут применены политики из глобальной настройкиglobal.modules.https.mode
. То есть если в глобальной настройке стоит режимCertManager
с ClusterIssuerletsencrypt
, для Ingress-ресурса будет заказан сертификат Let’s Encrypt.По умолчанию:
"SelfSigned"
Допустимые значения:
SelfSigned
,Global
- settings.publishAPI.ingressClass
Ingress-класс, который будет использован для публикации API Kubernetes через Ingress.
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
- settings.publishAPI.whitelistSourceRanges
Список адресов в формате CIDR, которым разрешено подключение к API-серверу.
- Элемент массива
Шаблон:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))?$
- settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.Пример:
tolerations: - key: key1 operator: Equal value: value1 effect: NoSchedule
- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
user-authz
Версия схемы: 1
- settings
- settings.controlPlaneConfigurator
Настройки параметров для модуля автоматической настройки kube-apiserver control-plane-manager.
- settings.controlPlaneConfigurator.enabled
Передавать ли в control-plane-manager параметры для настройки authz-webhook (см. параметры control-plane-manager’а).
При выключении этого параметра модуль
control-plane-manager
будет считать, что по умолчанию webhook-авторизация выключена, и, соответственно, если не будет дополнительных настроек,control-plane-manager
будет стремиться вычеркнуть упоминания webhook-плагина из манифеста. Даже если вы настроите манифест вручную.По умолчанию:
true
Примеры:
enabled: true
enabled: false
- settings.enableMultiTenancy
Включить авторизацию по namespace (режим multi-tenancy).
Все настройки
kube-apiserver
, необходимые для работы авторизации по namespace, выполняются автоматически модулем control-plane-manager (подробнее).Доступно только в версии Enterprise Edition.
По умолчанию:
false
Примеры:
enableMultiTenancy: true
enableMultiTenancy: false
vertical-pod-autoscaler
Версия схемы: 1
- settings
- settings.nodeSelector
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - settings.tolerations
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.- settings.tolerations.effect
- settings.tolerations.key
- settings.tolerations.operator
- settings.tolerations.tolerationSeconds
- settings.tolerations.value
virtualization
Версия схемы: 1
- settings
- settings.dvcr
Параметры, для настройки deckhouse virtualization container registry. Внутренний сервис для хранения и кеширования образов виртуальных машин.
- settings.dvcr.storage
Обязательный параметр
Параметры для настройки хранилища.
- settings.dvcr.storage.objectStorage
Параметры для настройки объектного хранилища.
- settings.dvcr.storage.objectStorage.s3
Параметры для использования s3.
- settings.dvcr.storage.objectStorage.s3.accessKey
Обязательный параметр
accessKey должен быть закодирован в base64. accessKey — это уникальный идентификатор, который идентифицирует вас как пользователя, имеющего доступ к S3.
Шаблон:
^[A-Za-z0-9+/]*={0,2}$
Пример:
accessKey: YWNjZXNzS2V5Cg==
- settings.dvcr.storage.objectStorage.s3.bucket
Обязательный параметр
Контейнер, в котором вы можете хранить свои файлы и объекты данных.
Пример:
bucket: dvcr
- settings.dvcr.storage.objectStorage.s3.region
Обязательный параметр
Географическая зона.
Примеры:
region: us-east-2
region: us-west-1
- settings.dvcr.storage.objectStorage.s3.regionEndpoint
Обязательный параметр
Конечная точка для подключения к сервису S3.
Шаблон:
^https?://[0-9a-zA-Z\.\-:@_]+$
Пример:
regionEndpoint: s3.example.com
- settings.dvcr.storage.objectStorage.s3.secretKey
Обязательный параметр
secretKey должен быть закодирован в base64. secretKey — это конфиденциальный секретный ключ, связанный с вашим идентификатором ключа доступа.
Шаблон:
^[A-Za-z0-9+/]*={0,2}$
Пример:
secretKey: c2VjcmV0S2V5Cg==
- settings.dvcr.storage.objectStorage.type
What ObjectStorage to use as store for dvcr.
Допустимые значения:
S3
- settings.dvcr.storage.persistentVolumeClaim
Параметры для настройки PersistentVolumeClaim.
- settings.dvcr.storage.persistentVolumeClaim.size
Обязательный параметр
Размер pvc.
Пример:
size: 10Gi
- settings.dvcr.storage.persistentVolumeClaim.storageClassName
Имя StorageClass, используемого для создания persistentvolumeclaim. Если не указан - будет использоваться StorageClass, указанный в кластере по умолчанию.
Примеры:
storageClassName: linstor
storageClassName: nfs
- settings.dvcr.storage.type
Тип используемого хранилища.
persistentVolumeClaim
— Использование pvcobjectStorage
— Использование objectStorage
Допустимые значения:
PersistentVolumeClaim
,ObjectStorage
- settings.highAvailability
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Примеры:
highAvailability: true
highAvailability: false
- settings.https
Тип используемого сертификата.
Этот параметр задаёт особые настройки https для модуля, переопределяя глобальные настройки
global.modules.https
.Примеры:
https: mode: Disabled
https: mode: OnlyInURI
https: mode: CustomCertificate customCertificate: secretName: foobar
https: mode: CertManager certManager: clusterIssuerName: letsencrypt
- settings.https.certManager
Настройки для certmanager.
- settings.https.certManager.clusterIssuerName
Тип ClusterIssuer’а, используемого для заказа SSL-сертификата (в данный момент доступны
letsencrypt
,letsencrypt-staging
,selfsigned
, но возможно определить свои).По умолчанию:
"letsencrypt"
Примеры:
clusterIssuerName: letsencrypt
clusterIssuerName: letsencrypt-staging
clusterIssuerName: selfsigned
- settings.https.customCertificate
Настройки для использования пользовательского сертификата.
- settings.https.customCertificate.secretName
Имя Secret’а в пространстве имён
d8-system
, который будет использоваться для web-интерфейса загрузки модуля CDI.Secret должен быть в формате kubernetes.io/tls.
- settings.https.mode
Режим работы HTTPS:
CertManager
— доступ по HTTPS с заказом сертификата согласно ClusterIssuer’у, заданному в параметреcertManager.clusterIssuerName
.CustomCertificate
— доступ по HTTPS с использованием сертификата из пространства имёнd8-system
.Disabled
— доступ только по HTTP.OnlyInURI
— доступ по HTTP, подразумевая, что перед web-интерфейсом стоит внешний HTTPS-балансер, который терминирует HTTPS и все ссылки вuser-authn
будут генерироваться с HTTPS-схемой.
По умолчанию:
"CertManager"
Допустимые значения:
Disabled
,CertManager
,CustomCertificate
,OnlyInURI
- settings.ingressClass
Класс Ingress-контроллера, который использоваться для загрузки образов. По умолчанию используется глобальное значение
modules.ingressClass
.Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
- settings.logFormat
Устанавливает формат логирования.
Работает для следующих компонентов:
virtualization-controller
Допустимые значения:
text
,json
- settings.logLevel
Устанавливает уровень логирования.
Работает для следующих компонентов:
virtualization-api
virtualization-controller
kube-api-rewriter
vm-route-forge
Допустимые значения:
debug
,info
,warn
,error
- settings.virtualDisks
Настройка класса хранения для виртуальных дисков.
- settings.virtualDisks.allowedStorageClassSelector
Селектор разрешенных классов хранения, используемых для виртуальных дисков.
- settings.virtualDisks.allowedStorageClassSelector.matchNames
Примеры:
matchNames: sc-1
matchNames: sc-2
- settings.virtualDisks.defaultStorageClassName
Указывает имя класса хранения по умолчанию, который будет использоваться для виртуальных дисков.
- settings.virtualImages
Настройка класса хранения для виртуальных образов на PVC.
- settings.virtualImages.allowedStorageClassSelector
Селектор разрешенных классов хранения, которые можно использовать для виртуальных образов на PVC.
- settings.virtualImages.allowedStorageClassSelector.matchNames
Примеры:
matchNames: sc-1
matchNames: sc-2
- settings.virtualImages.defaultStorageClassName
Указывает имя класса хранения по умолчанию, который будет использоваться для виртуальных образов на PVC.
- settings.virtualImages.storageClassNameПараметр устарел
Поскольку этот параметр был устаревшим, используйте параметр
defaultStorageClassName
.
- settings.virtualMachineCIDRs
Список подсетей используемых для выделения статических IP-адресов виртуальным машинам.
Пример:
virtualMachineCIDRs: - 10.10.10.0/24 - 10.10.20.0/24