第 6 章 PodMonitor [monitoring.coreos.com/v1]
- 描述
- PodMonitor 为一组 pod 定义监控。
- 类型
-
object - 必填
-
spec
-
6.1. 规格 复制链接链接已复制到粘贴板!
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
|
| Prometheus 的目标发现所需的 Pod 选择规格。 |
6.1.1. .spec 复制链接链接已复制到粘贴板!
- 描述
- Prometheus 的目标发现所需的 Pod 选择规格。
- 类型
-
object - 必填
-
selector
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
|
它需要 Prometheus >= v2.37.0。 |
|
|
| 定义后,bodySizeLimit 指定 Prometheus 接受的未压缩响应正文大小的作业级别限制。 它需要 Prometheus >= v2.28.0。 |
|
|
|
用于从中检索作业名称的标签。
例如,如果
如果此字段的值为空,则指标 |
|
|
| 通过重新标记将在内存中保留的目标数量来按scrape 限制。0 表示没有限制。 它需要 Prometheus >= v2.47.0。 |
|
|
| 对示例接受的标签数的 per-scrape 限制。 它需要 Prometheus >= v2.27.0。 |
|
|
| 对示例接受的标签名称长度的 per-scrape 限制。 它需要 Prometheus >= v2.27.0。 |
|
|
| 对示例接受的标签值长度的 per-scrape 限制。 它需要 Prometheus >= v2.27.0。 |
|
|
|
从中发现 Kubernetes |
|
|
| 此 PodMonitor 的端点部分列表。 |
|
|
| PodMetricsEndpoint 定义了一个端点,供 Prometheus 提取 Prometheus 指标。 |
|
|
|
|
|
|
|
|
|
|
| 要应用的提取类。 |
|
|
|
如果未设置,Prometheus 将使用其默认值。 它需要 Prometheus >= v2.49.0。 |
|
|
|
选择 Kubernetes |
|
|
|
|
6.1.2. .spec.attachMetadata 复制链接链接已复制到粘贴板!
- 描述
attachMetadata定义添加到发现的目标中的其他元数据。它需要 Prometheus >= v2.37.0。
- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
|
当设置为 true 时,Prometheus 必须具有 |
6.1.3. .spec.namespaceSelector 复制链接链接已复制到粘贴板!
- 描述
-
从中发现 Kubernetes
Pod对象的命名空间的选择器。 - 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 布尔值描述是否都选择了所有命名空间,而不是列表限制它们。 |
|
|
| 要从中选择的命名空间名称列表。 |
6.1.4. .spec.podMetricsEndpoints 复制链接链接已复制到粘贴板!
- 描述
- 此 PodMonitor 的端点部分列表。
- 类型
-
array
6.1.5. .spec.podMetricsEndpoints[] 复制链接链接已复制到粘贴板!
- 描述
- PodMetricsEndpoint 定义了一个端点,供 Prometheus 提取 Prometheus 指标。
- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
|
不可与 |
|
|
|
不可 |
|
|
|
deprecated: 使用 |
|
|
|
|
|
|
| 为 true 时,在目标发现过程中丢弃没有运行(如 Failed 或 Succeeded 状态)的 pod。 如果未设置,则启用过滤。 更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase |
|
|
|
|
|
|
|
为 true 时,当指标标签与目标标签冲突时, |
|
|
|
|
|
|
| Prometheus 从目标中提取指标的间隔。 如果为空,Prometheus 将使用全局提取间隔。 |
|
|
|
|
|
|
| RelabelConfig 允许为目标、警报、提取示例和远程写入示例动态重写标签。 更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config |
|
|
|
它需要 Prometheus >= 2.27.0。
不可与授权同时设置,或者 |
|
|
|
|
|
|
| |
|
|
| 从中提取指标的 HTTP 路径。
如果为空,Prometheus 将使用默认值(如 |
|
|
| 此端点引用的 Pod 端口的名称。
它优先于 |
|
|
|
|
|
|
|
Operator 会自动为几个标准 Kubernetes 字段添加重新标记。
原始提取作业的名称可以通过 更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config |
|
|
| RelabelConfig 允许为目标、警报、提取示例和远程写入示例动态重写标签。 更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config |
|
|
| 用于提取的 HTTP 方案。
如果为空,Prometheus 将使用默认值 |
|
|
| Prometheus 将提取视为失败超时。 如果为空,Prometheus 将使用全局提取超时,除非它小于使用后者的目标提取间隔值。 |
|
|
|
在 Service 后面的 deprecated: 使用 'port' 替代。 |
|
|
| 提取目标时使用的 TLS 配置。 |
|
|
|
它需要 Prometheus >= v2.48.0。 |
6.1.6. .spec.podMetricsEndpoints[].authorization 复制链接链接已复制到粘贴板!
- 描述
授权将 Authorization 标头凭据配置为在提取目标时使用。不可与
basicAuth或oauth2同时设置。- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 选择命名空间中包含用于身份验证的凭证的 Secret 的键。 |
|
|
| 定义身份验证类型。该值不区分大小写。 "basic"不是受支持的值。 默认:"Bearer" |
- 描述
- 选择命名空间中包含用于身份验证的凭证的 Secret 的键。
- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.8. .spec.podMetricsEndpoints[].basicAuth 复制链接链接已复制到粘贴板!
- 描述
basicAuth将基本身份验证凭据配置为在提取目标时使用。不可
与授权(或oauth2)同时设置。- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
|
|
|
|
|
|
6.1.9. .spec.podMetricsEndpoints[].basicAuth.password 复制链接链接已复制到粘贴板!
- 描述
-
password指定包含用于身份验证的密码的 Secret 的键。 - 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.10. .spec.podMetricsEndpoints[].basicAuth.username 复制链接链接已复制到粘贴板!
- 描述
-
username指定包含用于身份验证的用户名的 Secret 的键。 - 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.11. .spec.podMetricsEndpoints[].bearerTokenSecret 复制链接链接已复制到粘贴板!
- 描述
bearerTokenSecret指定包含用于提取目标的 bearer 令牌的 Secret 的密钥。secret 需要与 PodMonitor 对象位于同一个命名空间中,并可由 Prometheus Operator 读取。deprecated: 使用
authorization替代。- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.12. .spec.podMetricsEndpoints[].metricRelabelings 复制链接链接已复制到粘贴板!
- 描述
-
metricRelabelings配置重新标记规则,以便在 ingestion 前应用到示例。 - 类型
-
array
6.1.13. .spec.podMetricsEndpoints[].metricRelabelings[] 复制链接链接已复制到粘贴板!
- 描述
RelabelConfig 允许为目标、警报、提取示例和远程写入示例动态重写标签。
更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 根据正则表达式匹配要执行的操作。
默认:"Replace" |
|
|
| modulus 采用 source 标签值的哈希。
仅在操作为 |
|
|
| 匹配提取值的正则表达式。 |
|
|
| 如果正则表达式匹配,则执行 replace 操作的替换值。 正则表达式捕获组可用。 |
|
|
| 分隔符是串联的 SourceLabels 之间的字符串。 |
|
|
| source 标签从现有标签中选择值。其内容使用配置的 Separator 连接,并与配置的正则表达式匹配。 |
|
|
| 生成的字符串写入替换标签。
对于 正则表达式捕获组可用。 |
6.1.14. .spec.podMetricsEndpoints[].oauth2 复制链接链接已复制到粘贴板!
- 描述
oauth2将 OAuth2 设置配置为在提取目标时使用。它需要 Prometheus >= 2.27.0。
不可与授权同时设置,或者
basicAuth。- 类型
-
object - 必填
-
clientId -
clientSecret -
tokenUrl
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.1.15. .spec.podMetricsEndpoints[].oauth2.clientId 复制链接链接已复制到粘贴板!
- 描述
-
clientId指定包含 OAuth2 客户端 ID 的 Secret 或 ConfigMap 的键。 - 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 包含用于目标的数据的 ConfigMap。 |
|
|
| 包含用于目标的数据的 secret。 |
- 描述
- 包含用于目标的数据的 ConfigMap。
- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要选择的密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否必须定义 ConfigMap 还是其键 |
- 描述
- 包含用于目标的数据的 secret。
- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.18. .spec.podMetricsEndpoints[].oauth2.clientSecret 复制链接链接已复制到粘贴板!
- 描述
-
clientSecret指定包含 OAuth2 客户端 secret 的 Secret 的密钥。 - 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.19. .spec.podMetricsEndpoints[].params 复制链接链接已复制到粘贴板!
- 描述
-
参数定义可选的 HTTP URL 参数。 - 类型
-
对象
6.1.20. .spec.podMetricsEndpoints[].relabelings 复制链接链接已复制到粘贴板!
- 描述
重新标记配置重新标记规则以应用目标的元数据标签。Operator 会自动为几个标准 Kubernetes 字段添加重新标记。
原始提取作业的名称可以通过
\__tmp_prometheus_job_name标签获得。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- 类型
-
array
6.1.21. .spec.podMetricsEndpoints[].relabelings[] 复制链接链接已复制到粘贴板!
- 描述
RelabelConfig 允许为目标、警报、提取示例和远程写入示例动态重写标签。
更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 根据正则表达式匹配要执行的操作。
默认:"Replace" |
|
|
| modulus 采用 source 标签值的哈希。
仅在操作为 |
|
|
| 匹配提取值的正则表达式。 |
|
|
| 如果正则表达式匹配,则执行 replace 操作的替换值。 正则表达式捕获组可用。 |
|
|
| 分隔符是串联的 SourceLabels 之间的字符串。 |
|
|
| source 标签从现有标签中选择值。其内容使用配置的 Separator 连接,并与配置的正则表达式匹配。 |
|
|
| 生成的字符串写入替换标签。
对于 正则表达式捕获组可用。 |
6.1.22. .spec.podMetricsEndpoints[].tlsConfig 复制链接链接已复制到粘贴板!
- 描述
- 提取目标时使用的 TLS 配置。
- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 验证服务器证书时使用的证书颁发机构。 |
|
|
| 执行 client-authentication 时要出现的客户端证书。 |
|
|
| 禁用目标证书验证。 |
|
|
| 包含目标客户端密钥文件的 secret。 |
|
|
| 用于验证目标的主机名。 |
6.1.23. .spec.podMetricsEndpoints[].tlsConfig.ca 复制链接链接已复制到粘贴板!
- 描述
- 验证服务器证书时使用的证书颁发机构。
- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 包含用于目标的数据的 ConfigMap。 |
|
|
| 包含用于目标的数据的 secret。 |
- 描述
- 包含用于目标的数据的 ConfigMap。
- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要选择的密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否必须定义 ConfigMap 还是其键 |
6.1.25. .spec.podMetricsEndpoints[].tlsConfig.ca.secret 复制链接链接已复制到粘贴板!
- 描述
- 包含用于目标的数据的 secret。
- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.26. .spec.podMetricsEndpoints[].tlsConfig.cert 复制链接链接已复制到粘贴板!
- 描述
- 执行 client-authentication 时要出现的客户端证书。
- 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 包含用于目标的数据的 ConfigMap。 |
|
|
| 包含用于目标的数据的 secret。 |
- 描述
- 包含用于目标的数据的 ConfigMap。
- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要选择的密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否必须定义 ConfigMap 还是其键 |
- 描述
- 包含用于目标的数据的 secret。
- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.29. .spec.podMetricsEndpoints[].tlsConfig.keySecret 复制链接链接已复制到粘贴板!
- 描述
- 包含目标客户端密钥文件的 secret。
- 类型
-
object - 必填
-
key
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
|
|
引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 当 controller-gen 不需要 https://github.com/kubernetes-sigs/kubebuilder/issues/3896 时,Drop |
|
|
| 指定是否需要定义 Secret 还是其密钥 |
6.1.30. .spec.selector 复制链接链接已复制到粘贴板!
- 描述
-
选择 Kubernetes
Pod对象的标签选择器。 - 类型
-
object
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 |
|
|
| 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
|
| matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。 |
6.1.31. .spec.selector.matchExpressions 复制链接链接已复制到粘贴板!
- 描述
- matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
- 类型
-
array
6.1.32. .spec.selector.matchExpressions[] 复制链接链接已复制到粘贴板!
- 描述
- 标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object - 必填
-
key -
operator
-
| 属性 | 类型 | 描述 |
|---|---|---|
|
|
| key 是选择器应用到的标签键。 |
|
|
| 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
|
| 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 |