Модуль monitoring-kubernetes-control-plane
настраивается автоматически и обычно не требует настройки. Настройка может потребоваться в некоторых нестандартных случаях.
Параметры
kubeApiserver
— параметры для сбора метрик kube-apiserver-а.metricsPath
— путь, по которому искать метрики. По умолчанию/metrics
.accessType
— способ организации доступа Prometheus к метрикам.- Варианты:
DefaultService
— самый распространённый вариант для 99% кластеров — kube-apiserver доступен через сервисkubernetes
в namespacedefault
.Pod
— kube-apiserver работает в Pod’е и порт с метриками доступен изнутри кластера средствами Kubernetes. См. дополнительные настройки в секцииpod
ниже.ThroughNode
— kube-apiserver работает на одной или нескольких узлах и доступен с этих узлов по локальному порту. В данном случае на узлах будет запущен прокси для обеспечения связи с Prometheus. См. дополнительные настройки в секцииthroughNode
ниже.
- По умолчанию —
DefaultService
.
- Варианты:
pod
— дополнительные параметры для accessTypePod
.port
— порт, где доступны метрики.- По умолчанию:
- Вычисляется автоматически на основе аргументов из Pod’а с kube-apiserver.
- Если не удалось, то —
6443
.
- По умолчанию:
podSelector
— селектор Pod’ов с сервисом. Обязательный параметр.- Формат — словарь лейблов.
podNamespace
— namespace, где работают Pod’ы компонента. Обязательный параметр.authenticationMethod
— как аутентифицироваться. Обязательный параметр.- Варианты:
Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.PrometheusCertificate
— использовать стандартный сертификат, который поставляется с модулем prometheus, и выдать ему соответствующие права на доступ к метрикам при помощи RBAC.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр, еслиauthenticationMethod
==Certificate
. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
throughNode
— дополнительные параметры для accessTypeThroughNode
.nodeSelector
— селектор узлов, где работает kube-apiserver. Обязательный параметр.- Формат — словарь лейблов.
localPort
— локальный порт kube-apiserver. Обязательный параметр.proxyListenPort
— на каком порту запустить прокси.- По умолчанию —
10361
.
- По умолчанию —
authenticationMethod
— как аутентифицироваться. Обязательный параметр.Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.ProxyServiceAccount
— при помощи RBAC разрешить ServiceAccount-у прокси обращаться к метрикам компонента и использовать этот SA для сбора.
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр, еслиauthenticationMethod
==Certificate
. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
kubeControllerManager
— параметры для сбора метрик kube-controller-manager-а.metricsPath
— путь, по которому искать метрики. По умолчанию/metrics
.accessType
— способ организации доступа Prometheus к метрикам.- Варианты:
Pod
— kube-controller-manager работает в Pod’е и порт с метриками доступен изнутри кластера средствами Kubernetes. См. дополнительные настройки в секцииpod
ниже.ThroughNode
— kube-controller-manager работает на одной или нескольких узлах и доступен с этих узлов по локальному порту. В данном случае на узлах будет запущен прокси для обеспечения связи с Prometheus. См. дополнительные настройки в секцииthroughNode
ниже.
- По умолчанию —
ThroughNode
.
- Варианты:
pod
— дополнительные параметры для accessTypePod
.port
— порт, где доступны метрики. Обязательный параметр.scheme
— HTTP-схема, по которой работает HTTP-порт с метриками.podSelector
— селектор Pod’ов с сервисом. Обязательный параметр.- Формат — словарь лейблов.
podNamespace
— namespace, где работают Pod’ы kube-controller-manager. Обязательный параметр.authenticationMethod
— как аутентифицироваться. Обязательный параметр.- Варианты:
None
— не аутентифицироваться.Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.PrometheusCertificate
— использовать стандартный сертификат, который поставляется с модулем prometheus, и выдать ему соответствующие права на доступ к метрикам при помощи RBAC.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр, еслиauthenticationMethod
==Certificate
. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
throughNode
— дополнительные параметры для accessTypeThroughNode
.nodeSelector
— селектор узлов, где работает kube-controller-manager.- Формат — словарь лейблов.
- По умолчанию —
node-role.kubernetes.io/master: ""
localPort
— локальный порт kube-controller-manager.- По умолчанию —
10252
.
- По умолчанию —
scheme
— HTTP-схема, по которой работает локальный порт.- По умолчанию —
http
.
- По умолчанию —
proxyListenPort
— на каком порту запустить прокси.- По умолчанию —
10362
.
- По умолчанию —
authenticationMethod
— как аутентифицироваться.- Варианты:
None
— не аутентифицироваться.Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.ProxyServiceAccount
— при помощи RBAC разрешить ServiceAccount-у прокси обращаться к метрикам компонента и использовать этот SA для сбора.
- По умолчанию —
None
.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр, еслиauthenticationMethod
==Certificate
. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
kubeScheduler
— параметры для сбора метрик kube-scheduler’а.metricsPath
— путь, по которому искать метрики. По умолчанию/metrics
.accessType
— способ организации доступа Prometheus к метрикам.- Варианты:
Pod
— kube-scheduler работает в Pod’е и порт с метриками доступен изнутри кластера средствами Kubernetes. См. дополнительные настройки в секцииpod
ниже.ThroughNode
— kube-scheduler работает на одной или нескольких узлах и доступен с этих узлов по локальному порту. В данном случае на узлах будет запущен прокси для обеспечения связи с Prometheus. См. дополнительные настройки в секцииthroughNode
ниже.
- По умолчанию —
ThroughNode
.
- Варианты:
pod
— дополнительные параметры для accessTypePod
.port
— порт, где доступны метрики. Обязательный параметр.scheme
— HTTP-схема, по которой работает HTTP-порт с метриками.podSelector
— селектор Pod’ов с сервисом. Обязательный параметр.- Формат — словарь лейблов.
podNamespace
— namespace, где работают Pod’ы kube-scheduler. Обязательный параметр.authenticationMethod
— как аутентифицироваться. Обязательный параметр.- Варианты:
None
— не аутентифицироваться.Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.PrometheusCertificate
— использовать стандартный сертификат, который поставляется с модулем prometheus, и выдать ему соответствующие права на доступ к метрикам при помощи RBAC.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр, еслиauthenticationMethod
==Certificate
. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
throughNode
— дополнительные параметры для accessTypeThroughNode
.nodeSelector
— селектор узлов, где работает kube-scheduler.- Формат — словарь лейблов.
- По умолчанию —
node-role.kubernetes.io/master: ""
.
localPort
— локальный порт kube-scheduler.- По умолчанию —
10251
.
- По умолчанию —
scheme
— HTTP-схема, по которой работает локальный порт.- По умолчанию —
http
.
- По умолчанию —
proxyListenPort
— на каком порту запустить прокси.- По умолчанию —
10363
.
- По умолчанию —
authenticationMethod
— как аутентифицироваться.- Варианты:
None
— не аутентифицироваться.Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.ProxyServiceAccount
— при помощи RBAC разрешить ServiceAccount-у прокси обращаться к метрикам компонента и использовать этот SA для сбора.
- По умолчанию —
None
.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр, еслиauthenticationMethod
==Certificate
. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
kubeEtcd
— параметры для сбора метрик основного инстанса kube-etcd`.metricsPath
— путь, по которому искать метрики. По умолчанию/metrics
.accessType
— способ организации доступа Prometheus к метрикам.- Варианты:
Pod
— kube-etcd работает в Pod’е и порт с метриками доступен изнутри кластера средствами Kubernetes. См. дополнительные настройки в секцииpod
ниже.ThroughNode
— kube-etcd работает на одной или нескольких узлах и доступен с этих узлов по локальному порту. В данном случае на узлах будет запущен прокси для обеспечения связи с Prometheus. См. дополнительные настройки в секцииthroughNode
ниже.
- По умолчанию —
ThroughNode
.
- Варианты:
pod
— дополнительные параметры для accessTypePod
.port
— порт, где доступны метрики. Обязательный параметр.scheme
— HTTP-схема, по которой работает HTTP-порт с метриками.- По умолчанию —
https
.
- По умолчанию —
podSelector
— селектор Pod’ов с сервисом. Обязательный параметр.- Формат — словарь лейблов.
podNamespace
— namespace, где работают Pod’ы kube-etcd. Обязательный параметр.authenticationMethod
— как аутентифицироваться.- Варианты:
Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.- D8PKI — использовать сертификаты из секрета
kube-system/d8-pki
, который генерируется при бутстрапе кластера средствамиdhctl
. Данный вариант не предназначен для ручного использования, только для автонастройки.
- Обязательный параметр если в системе нет секрета
kube-system/d8-pki
.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
throughNode
— дополнительные параметры для accessTypeThroughNode
.nodeSelector
— селектор узлов, где работает kube-etcd. Обязательный параметр.- Формат — словарь лейблов.
localPort
— локальный порт kube-etcd.- По умолчанию:
- Вычисляется автоматически на основе аргументов из Pod’а с kube-etcd.
- Если не удалось, то —
2379
.
- По умолчанию:
scheme
— HTTP-схема, по которой работает HTTP-порт с метриками.- По умолчанию —
https
.
- По умолчанию —
proxyListenPort
— на каком порту запустить прокси.- По умолчанию —
10370
.
- По умолчанию —
authenticationMethod
— как аутентифицироваться.- Варианты:
None
— не аутентифицироваться.Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.HostPathCertificate
— использовать сертификат и ключ, которые уже лежат на ФС узла.- D8PKI — использовать сертификаты из секрета
kube-system/d8-pki
, который генерируется при bootstrap’е кластера средствамиdhctl
. Данный вариант не предназначен для ручного использования, только для автонастройки.
- По умолчанию —
HostPathCertificate
.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр, еслиauthenticationMethod
==Certificate
. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
hostPathCertificate
— путь до сертификата на ФС узла.- По умолчанию:
- Вычисляется автоматически на основе аргументов запуска kube-apiserver.
- Если не удалось, то —
/etc/kubernetes/pki/apiserver-etcd-client.crt
.
- По умолчанию:
hostPathCertificateKey
— путь до ключа на ФС узла.- По умолчанию:
- Вычисляется автоматически на основе аргументов запуска kube-apiserver.
- Если не удалось, то —
/etc/kubernetes/pki/apiserver-etcd-client.key
.
- По умолчанию:
kubeEtcdAdditionalInstances
— параметры для сбора метрик дополнительного инстанса kube-etcd. Например, для kube-etcd-events в kops-инсталляциях (который в данном модуле дискаверится автоматически).- Формат — массив инстансов:
name
— короткое имя для инстанса.- Обязательный параметр.
- Не более 12 символов [a-z0-9].
metricsPath
— путь, по которому искать метрики. По умолчанию —/metrics
.accessType
— способ организации доступа Prometheus к метрикам.- Варианты:
Pod
— дополнительный kube-etcd работает в Pod’е и порт с метриками доступен изнутри кластера средствами Kubernetes. См. дополнительные настройки в секцииpod
ниже.ThroughNode
— дополнительный kube-etcd работает на одной или нескольких узлах и доступен с этих узлов по локальному порту. В данном случае на узлах будет запущен прокси для обеспечения связи с Prometheus. См. дополнительные настройки в секцииthroughNode
ниже.
- Обязательный параметр.
- Варианты:
pod
— дополнительные параметры для accessTypePod
.port
— порт, где доступны метрики. Обязательный параметр.scheme
— HTTP-схема, по которой работает HTTP-порт с метриками.- По умолчанию —
https
.
- По умолчанию —
podSelector
— селектор Pod’ов с сервисом. Обязательный параметр.- Формат — словарь лейблов.
podNamespace
— namespace, где работают Pod’ы с дополнительными kube-etcd. Обязательный параметр.authenticationMethod
— как аутентифицироваться.- Варианты:
Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.- D8PKI — использовать сертификаты из секрета
kube-system/d8-pki
, который генерируется при bootstrap’е кластера средствамиdhctl
. Данный вариант не предназначен для ручного использования, только для автонастройки.
- Обязательный параметр, если в системе нет секрета
kube-system/d8-pki
.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
throughNode
— дополнительные параметры для accessTypeThroughNode
.nodeSelector
— селектор узлов, где работает дополнительней kube-etcd. Обязательный параметр.- Формат — словарь лейблов.
localPort
— локальный порт дополнительного kube-etcd. Обязательный параметр.scheme
— HTTP-схема, по которой работает HTTP-порт с метриками.- По умолчанию —
https
.
- По умолчанию —
proxyListenPort
— на каком порту запустить прокси.- По умолчанию — вычисляется автоматически по формуле
10370 + n
.
- По умолчанию — вычисляется автоматически по формуле
authenticationMethod
— как аутентифицироваться.- Варианты:
Certificate
— указать кастомный сертификат. См.certificateSecret
ниже.HostPathCertificate
— использовать сертификат и ключ, которые уже лежат на ФС узла.- D8PKI — использовать сертификаты из секрета
kube-system/d8-pki
, который генерируется при bootstrap’е кластера средствамиdhctl
. Данный вариант не предназначен для ручного использования, только для автонастройки.
- Обязательный параметр, если в системе нет секрета
kube-system/d8-pki
.
- Варианты:
certificateSecret
— имя секрета в namespaced8-system
, где лежит кастомный сертификат. Обязательный параметр, еслиauthenticationMethod
==Certificate
. Секрет должен содержать два ключа:client.crt
— сертификат.client.key
— ключ.
hostPathCertificate
— путь до сертификата на ФС узла. Обязательный параметр, еслиauthenticationMethod
==HostPathCertificate
.hostPathCertificateKey
— путь до ключа на ФС узла. Обязательный параметр, еслиauthenticationMethod
==HostPathCertificate
.
- Формат — массив инстансов: