×
Description

描述

Prometheus defines a Prometheus deployment.

定义 Prometheus 部署

Type

类型

object

对象

Required

必填
  • spec

    规范

Specification

规范

Property

属性
Type

类型
Description

描述

apiVersion

API 版本

string

字符串

APIVersion 定义了此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

字符串

Kind 是一个字符串值,表示此对象所代表的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

规范

object

对象

Prometheus 集群所需行为的规范。更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

status

object

对象

Prometheus 集群最近观察到的状态。只读。更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

.spec

Description

描述
Type

类型

object

对象

Property

属性
Type

类型
Description

描述

additionalAlertManagerConfigs

object

对象

AdditionalAlertManagerConfigs 指定包含额外 Prometheus Alertmanager 配置的 Secret 的键。Alertmanager 配置将附加到由 Prometheus Operator 生成的配置中。它们必须根据官方 Prometheus 文档进行格式化

https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#alertmanager_config

用户有责任确保配置有效。

请注意,使用此功能可能会导致 Prometheus 升级中断。建议查看 Prometheus 发行说明,以确保没有不兼容的 AlertManager 配置会在升级后中断 Prometheus。

additionalAlertRelabelConfigs

object

对象

AdditionalAlertRelabelConfigs 指定包含额外 Prometheus 警报重标记配置的 Secret 的键。警报重标记配置将附加到由 Prometheus Operator 生成的配置中。它们必须根据官方 Prometheus 文档进行格式化

https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs

用户有责任确保配置有效。

请注意,使用此功能可能会导致 Prometheus 升级中断。建议查看 Prometheus 发行说明,以确保没有不兼容的警报重标记配置会在升级后中断 Prometheus。

additionalArgs

数组

AdditionalArgs 允许为“prometheus”容器设置附加参数。

它用于例如激活尚未由专用配置选项支持的隐藏标志。这些参数将按原样传递给 Prometheus 容器,如果它们无效或不受给定 Prometheus 版本支持,可能会导致问题。

如果发生参数冲突(例如,操作员本身已设置的参数)或提供无效参数,则协调将失败并记录错误。

additionalArgs[]

object

对象

作为 AdditionalArgs 列表一部分的参数。

additionalScrapeConfigs

object

对象

AdditionalScrapeConfigs 允许指定包含额外 Prometheus 抓取配置的 Secret 的键。指定的抓取配置将附加到由 Prometheus Operator 生成的配置中。指定的作业配置必须具有官方 Prometheus 文档中指定的格式:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#scrape_config。由于抓取配置是附加的,因此用户有责任确保其有效性。请注意,使用此功能可能会导致 Prometheus 升级中断。建议查看 Prometheus 发行说明,以确保没有不兼容的抓取配置会在升级后中断 Prometheus。

affinity

object

对象

如果指定,则定义 Pod 的亲和力调度规则。

alerting

object

对象

定义与 Alertmanager 相关的设置。

allowOverlappingBlocks

布尔值

AllowOverlappingBlocks 在 Prometheus 中启用垂直压缩和垂直查询合并。

已弃用:对于 Prometheus >= 2.39.0,此标志无效,因为默认情况下已启用重叠块。

apiserverConfig

object

对象

APIServerConfig 允许指定主机和身份验证方法以访问 Kubernetes API 服务器。如果为 null,则假定 Prometheus 在集群内运行:它将自动发现 API 服务器并使用 Pod 的 CA 证书和位于 /var/run/secrets/kubernetes.io/serviceaccount/ 的 bearer 令牌文件。

arbitraryFSAccessThroughSMs

object

对象

如果为 true,则禁止 ServiceMonitor、PodMonitor 和 Probe 对象引用“prometheus”容器文件系统上的任意文件。如果 ServiceMonitor 的端点指定了 `bearerTokenFile` 值(例如,`/var/run/secrets/kubernetes.io/serviceaccount/token`),则恶意目标可以在 Prometheus 的抓取请求中访问 Prometheus 服务帐户的令牌。将 `spec.arbitraryFSAccessThroughSM` 设置为“true”将阻止此攻击。用户应改为使用 `spec.bearerTokenSecret` 字段提供凭据。

automountServiceAccountToken

布尔值

AutomountServiceAccountToken 指示是否应在 Pod 中自动挂载服务帐户令牌。如果未设置此字段,则操作员默认情况下会挂载服务帐户令牌。

警告:请注意,默认情况下,Prometheus 需要服务帐户令牌才能进行 Kubernetes 服务发现。可以使用策略性合并补丁将服务帐户令牌投影到“prometheus”容器中。

baseImage

string

字符串

已弃用:请改用“spec.image”。

bodySizeLimit

string

字符串

BodySizeLimit 定义每个抓取的响应正文大小。仅在 Prometheus 版本 2.45.0 及更高版本中有效。

请注意,全局限制仅适用于未指定显式限制值的抓取对象。如果要对所有抓取对象强制执行最大限制,请参阅 enforcedBodySizeLimit。

configMaps

数组 (字符串)

ConfigMaps 是与 Prometheus 对象位于同一命名空间中的 ConfigMap 列表,这些 ConfigMap 将被挂载到 Prometheus Pod 中。每个 ConfigMap 都会作为名为 `configmap-` 的卷添加到 StatefulSet 定义中。这些 ConfigMap 将挂载到“prometheus”容器中的 /etc/prometheus/configmaps/

containers

数组

Containers 允许注入额外的容器或修改操作员生成的容器。这可用于允许向 Pod 添加身份验证代理或更改操作员生成的容器的行为。如果此处描述的容器具有相同的名称,并且修改是通过策略性合并补丁完成的,则它们会修改操作员生成的容器。

操作员管理的容器名称为:* `prometheus` * `config-reloader` * `thanos-sidecar`

覆盖容器完全超出维护人员将支持的范围,这样做意味着您接受此行为可能随时中断且无需通知。

containers[]

object

对象

您想要在 Pod 中运行的单个应用程序容器。

disableCompaction

布尔值

设置为 true 时,将禁用 Prometheus 数据压缩。

enableAdminAPI

布尔值

启用对 Prometheus Web 管理 API 的访问。

警告:启用管理 API 会启用修改端点,例如删除数据、关闭 Prometheus 等。启用此功能应谨慎操作,建议用户通过代理添加额外的身份验证和授权,以确保只有被授权执行这些操作的客户端才能执行。

更多信息:https://prometheus.ac.cn/docs/prometheus/latest/querying/api/#tsdb-admin-apis

enableFeatures

数组 (字符串)

启用对 Prometheus 功能标志的访问。默认情况下,不启用任何功能。

启用默认情况下禁用的功能完全超出维护人员的支持范围,这样做意味着您接受此行为可能随时中断且无需通知。

更多信息请参见 https://prometheus.ac.cn/docs/prometheus/latest/feature_flags/

enableRemoteWriteReceiver

布尔值

启用 Prometheus 作为 Prometheus 远程写入协议的接收器。

警告:这并非一种高效的样本摄取方式。谨慎用于特定的低容量用例。它不适合替代通过抓取进行的摄取,并将 Prometheus 变成基于推送的指标收集系统。更多信息请参见 https://prometheus.ac.cn/docs/prometheus/latest/querying/api/#remote-write-receiver

需要 Prometheus >= v2.33.0。

enforcedBodySizeLimit

string

字符串

如果定义了 `enforcedBodySizeLimit`,则它指定 Prometheus 将接受的未压缩响应正文大小的全局限制。响应正文大小超过此字节数的目标将导致抓取失败。

需要 Prometheus >= v2.28.0。

如果同时定义了 `enforcedBodySizeLimit` 和 `bodySizeLimit` 且都大于零,则适用以下规则:* 没有定义 `bodySizeLimit` 值的抓取对象将继承全局 `bodySizeLimit` 值 (Prometheus >= 2.45.0) 或 `enforcedBodySizeLimit` 值 (Prometheus < v2.45.0)。如果 Prometheus 版本 >= 2.45.0 且 `enforcedBodySizeLimit` 大于 `bodySizeLimit`,则 `bodySizeLimit` 将设置为 `enforcedBodySizeLimit`。* `bodySizeLimit` 值小于或等于 `enforcedBodySizeLimit` 的抓取对象将保留其特定值。* `bodySizeLimit` 值大于 `enforcedBodySizeLimit` 的抓取对象将设置为 `enforcedBodySizeLimit`。

enforcedKeepDroppedTargets

整数

如果定义了 `enforcedKeepDroppedTargets`,则它指定由重新标记丢弃的目标数量的全局限制,这些目标将保留在内存中。除非 `spec.keepDroppedTargets` 大于零且小于 `spec.enforcedKeepDroppedTargets`,否则该值将覆盖由 ServiceMonitor、PodMonitor、Probe 对象设置的任何 `spec.keepDroppedTargets`。

需要 Prometheus >= v2.47.0。

如果同时定义了 `enforcedKeepDroppedTargets` 和 `keepDroppedTargets` 且都大于零,则适用以下规则:* 没有定义 `keepDroppedTargets` 值的抓取对象将继承全局 `keepDroppedTargets` 值 (Prometheus >= 2.45.0) 或 `enforcedKeepDroppedTargets` 值 (Prometheus < v2.45.0)。如果 Prometheus 版本 >= 2.45.0 且 `enforcedKeepDroppedTargets` 大于 `keepDroppedTargets`,则 `keepDroppedTargets` 将设置为 `enforcedKeepDroppedTargets`。* `keepDroppedTargets` 值小于或等于 `enforcedKeepDroppedTargets` 的抓取对象将保留其特定值。* `keepDroppedTargets` 值大于 `enforcedKeepDroppedTargets` 的抓取对象将设置为 `enforcedKeepDroppedTargets`。

enforcedLabelLimit

整数

如果定义了 `enforcedLabelLimit`,则它指定每个样本标签数量的全局限制。除非 `spec.labelLimit` 大于零且小于 `spec.enforcedLabelLimit`,否则该值将覆盖由 ServiceMonitor、PodMonitor、Probe 对象设置的任何 `spec.labelLimit`。

需要 Prometheus >= v2.27.0。

如果同时定义了 `enforcedLabelLimit` 和 `labelLimit` 且都大于零,则适用以下规则:* 没有定义 `labelLimit` 值的抓取对象将继承全局 `labelLimit` 值 (Prometheus >= 2.45.0) 或 `enforcedLabelLimit` 值 (Prometheus < v2.45.0)。如果 Prometheus 版本 >= 2.45.0 且 `enforcedLabelLimit` 大于 `labelLimit`,则 `labelLimit` 将设置为 `enforcedLabelLimit`。* `labelLimit` 值小于或等于 `enforcedLabelLimit` 的抓取对象将保留其特定值。* `labelLimit` 值大于 `enforcedLabelLimit` 的抓取对象将设置为 `enforcedLabelLimit`。

enforcedLabelNameLengthLimit

整数

如果定义了 `enforcedLabelNameLengthLimit`,则它指定每个样本标签名称长度的全局限制。除非 `spec.labelNameLengthLimit` 大于零且小于 `spec.enforcedLabelNameLengthLimit`,否则该值将覆盖由 ServiceMonitor、PodMonitor、Probe 对象设置的任何 `spec.labelNameLengthLimit`。

需要 Prometheus >= v2.27.0。

如果同时定义了 `enforcedLabelNameLengthLimit` 和 `labelNameLengthLimit` 且都大于零,则适用以下规则:* 没有定义 `labelNameLengthLimit` 值的抓取对象将继承全局 `labelNameLengthLimit` 值 (Prometheus >= 2.45.0) 或 `enforcedLabelNameLengthLimit` 值 (Prometheus < v2.45.0)。如果 Prometheus 版本 >= 2.45.0 且 `enforcedLabelNameLengthLimit` 大于 `labelNameLengthLimit`,则 `labelNameLengthLimit` 将设置为 `enforcedLabelNameLengthLimit`。* `labelNameLengthLimit` 值小于或等于 `enforcedLabelNameLengthLimit` 的抓取对象将保留其特定值。* `labelNameLengthLimit` 值大于 `enforcedLabelNameLengthLimit` 的抓取对象将设置为 `enforcedLabelNameLengthLimit`。

enforcedLabelValueLengthLimit

整数

如果非空,`enforcedLabelValueLengthLimit` 定义每个样本标签值长度的全局限制。除非 `spec.labelValueLengthLimit` 大于零且小于 `spec.enforcedLabelValueLengthLimit`,否则该值将覆盖由 ServiceMonitor、PodMonitor、Probe 对象设置的任何 `spec.labelValueLengthLimit`。

需要 Prometheus >= v2.27.0。

如果同时定义了 `enforcedLabelValueLengthLimit` 和 `labelValueLengthLimit` 且都大于零,则适用以下规则:* 没有定义 `labelValueLengthLimit` 值的抓取对象将继承全局 `labelValueLengthLimit` 值 (Prometheus >= 2.45.0) 或 `enforcedLabelValueLengthLimit` 值 (Prometheus < v2.45.0)。如果 Prometheus 版本 >= 2.45.0 且 `enforcedLabelValueLengthLimit` 大于 `labelValueLengthLimit`,则 `labelValueLengthLimit` 将设置为 `enforcedLabelValueLengthLimit`。* `labelValueLengthLimit` 值小于或等于 `enforcedLabelValueLengthLimit` 的抓取对象将保留其特定值。* `labelValueLengthLimit` 值大于 `enforcedLabelValueLengthLimit` 的抓取对象将设置为 `enforcedLabelValueLengthLimit`。

enforcedNamespaceLabel

string

字符串

如果非空,则将添加一个标签到:

1. 从 `ServiceMonitor`、`PodMonitor`、`Probe` 和 `ScrapeConfig` 对象抓取的所有指标。2. 从 `PrometheusRule` 对象中定义的记录规则生成的所有指标。3. 从 `PrometheusRule` 对象中定义的警报规则生成的所有警报。4. `PrometheusRule` 对象中定义的 PromQL 表达式的所有向量选择器。

对于 `spec.excludedFromEnforcement` 中引用的对象,不会添加该标签。

此字段的值为标签的名称。标签的值是ServiceMonitorPodMonitorProbePrometheusRuleScrapeConfig对象的命名空间。

enforcedSampleLimit

整数

如果定义了enforcedSampleLimit,则它指定了将被接受的已抓取样本的全局限制数量。除非spec.sampleLimit大于零且小于spec.enforcedSampleLimit,否则它将覆盖由ServiceMonitor、PodMonitor、Probe对象设置的任何spec.sampleLimit

管理员可以使用它来将样本/序列的总数保持在所需的限制以下。

如果同时定义了enforcedSampleLimitsampleLimit并且都大于零,则适用以下规则:* 未定义sampleLimit值的抓取对象将继承全局sampleLimit值(Prometheus >= 2.45.0)或enforcedSampleLimit值(Prometheus < v2.45.0)。如果Prometheus版本 >= 2.45.0并且enforcedSampleLimit大于sampleLimit,则sampleLimit将设置为enforcedSampleLimit。* sampleLimit值小于或等于enforcedSampleLimit的抓取对象将保留其特定值。* sampleLimit值大于enforcedSampleLimit的抓取对象将设置为enforcedSampleLimit。

enforcedTargetLimit

整数

如果定义了enforcedTargetLimit,则它指定了已抓取目标的全局限制数量。除非spec.targetLimit大于零且小于spec.enforcedTargetLimit,否则它将覆盖由ServiceMonitor、PodMonitor、Probe对象设置的任何spec.targetLimit

管理员可以使用它来将目标的总数保持在所需的限制以下。

如果同时定义了enforcedTargetLimittargetLimit并且都大于零,则适用以下规则:* 未定义targetLimit值的抓取对象将继承全局targetLimit值(Prometheus >= 2.45.0)或enforcedTargetLimit值(Prometheus < v2.45.0)。如果Prometheus版本 >= 2.45.0并且enforcedTargetLimit大于targetLimit,则targetLimit将设置为enforcedTargetLimit。* targetLimit值小于或等于enforcedTargetLimit的抓取对象将保留其特定值。* targetLimit值大于enforcedTargetLimit的抓取对象将设置为enforcedTargetLimit。

evaluationInterval

string

字符串

规则评估间隔。默认值:“30s”

excludedFromEnforcement

数组

要从强制执行源命名空间标签中排除的PodMonitor、ServiceMonitor、Probe和PrometheusRule对象的引用列表。

仅当spec.enforcedNamespaceLabel设置为true时才适用。

excludedFromEnforcement[]

object

对象

ObjectReference引用PodMonitor、ServiceMonitor、Probe或PrometheusRule对象。

exemplars

object

对象

与示例相关的设置,可在运行时重新加载。它需要启用exemplar-storage功能标志才能生效。

externalLabels

对象(字符串)

与外部系统(联合、远程存储、Alertmanager)通信时,要添加到任何时间序列或警报中的标签。由spec.replicaExternalLabelNamespec.prometheusExternalLabelName定义的标签优先于此列表。

externalUrl

string

字符串

Prometheus服务可在外部访问的外部URL。这对于生成正确的URL是必要的(例如,如果Prometheus可以通过Ingress资源访问)。

hostAliases

数组

如果指定,则将注入到Pod的主机文件中的一组可选主机和IP。

hostAliases[]

object

对象

HostAlias保存IP和主机名之间的映射,这些映射将作为条目注入到Pod的主机文件中。

hostNetwork

布尔值

如果为true,则使用主机的网络命名空间。

如果您想启用它,请确保了解安全隐患(https://kubernetes.ac.cn/docs/concepts/configuration/overview/)。

启用hostNetwork后,这将自动将DNS策略设置为ClusterFirstWithHostNet

ignoreNamespaceSelectors

布尔值

如果为true,则将忽略所有PodMonitor、ServiceMonitor和Probe对象的spec.namespaceSelector。它们只会发现PodMonitor、ServiceMonitor和Probe对象命名空间内的目标。

image

string

字符串

Prometheus的容器镜像名称。如果指定,则它优先于spec.baseImagespec.tagspec.sha字段。

仍然需要指定spec.version,以确保Prometheus Operator知道正在配置哪个版本的Prometheus。

如果既未定义spec.image也未定义spec.baseImage,则操作符将使用在发布操作符时可用的最新上游版本的Prometheus。

imagePullPolicy

string

字符串

“prometheus”、“init-config-reloader”和“config-reloader”容器的镜像拉取策略。更多详情请参见 https://kubernetes.ac.cn/docs/concepts/containers/images/#image-pull-policy

imagePullSecrets

数组

从注册表拉取镜像时,用于同一命名空间中Secrets的可选引用列表。请参见 https://kubernetes.ac.cn/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod

imagePullSecrets[]

object

对象

LocalObjectReference包含足够的信息,让您可以在同一命名空间内找到引用的对象。

initContainers

数组

InitContainers允许将initContainers注入到Pod定义中。这些可以用于例如从外部来源获取用于注入到Prometheus配置中的密钥。initContainer执行期间的任何错误都将导致Pod重启。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/init-containers/ 此处描述的InitContainers如果具有相同的名称并且修改是通过策略性合并补丁完成的,则会修改操作员生成的init容器。

操作员管理的init容器名称为:* init-config-reloader

覆盖init容器完全不在维护者将支持的范围内,这样做意味着您接受此行为可能会随时中断而无需通知。

initContainers[]

object

对象

您想要在 Pod 中运行的单个应用程序容器。

keepDroppedTargets

整数

每个抓取的被重新标记丢弃的目标数量限制,这些目标将保留在内存中。0表示无限制。

需要 Prometheus >= v2.47.0。

请注意,全局限制仅适用于未指定显式限制值的抓取对象。如果您想对所有抓取对象强制执行最大限制,请参考enforcedKeepDroppedTargets。

labelLimit

整数

每个抓取的将被接受的样本标签数量限制。仅在Prometheus 2.45.0及更高版本中有效。

请注意,全局限制仅适用于未指定显式限制值的抓取对象。如果您想对所有抓取对象强制执行最大限制,请参考enforcedLabelLimit。

labelNameLengthLimit

整数

每个抓取操作对样本中接受的标签名称长度的限制。仅在 Prometheus 2.45.0 及更高版本中有效。

请注意,全局限制仅适用于未指定显式限制值的抓取对象。如果要对所有抓取对象强制执行最大限制,请参考 enforcedLabelNameLengthLimit。

labelValueLengthLimit

整数

每个抓取操作对样本中接受的标签值长度的限制。仅在 Prometheus 2.45.0 及更高版本中有效。

请注意,全局限制仅适用于未指定显式限制值的抓取对象。如果要对所有抓取对象强制执行最大限制,请参考 enforcedLabelValueLengthLimit。

listenLocal

布尔值

设置为 true 时,Prometheus 服务器监听环回地址而不是 Pod IP 地址。

logFormat

string

字符串

Prometheus 和 config-reloader sidecar 的日志格式。

logLevel

string

字符串

Prometheus 和 config-reloader sidecar 的日志级别。

maximumStartupDurationSeconds

整数

定义prometheus容器启动探针在被认为失败之前等待的最长时间。WAL 重放完成后,启动探针将返回成功。如果设置,该值应大于 60(秒)。否则将等于 600 秒(15 分钟)。

minReadySeconds

整数

新创建的 Pod 在其任何容器崩溃之前必须保持就绪状态的最短秒数,才能将其视为可用。默认为 0(pod 一旦就绪即可视为可用)。

这是 Kubernetes 1.22 到 1.24 的 alpha 字段,需要启用 StatefulSetMinReadySeconds 功能开关。

nodeSelector

对象(字符串)

定义 Pod 在哪些节点上调度。

overrideHonorLabels

布尔值

设置为 true 时,Prometheus 通过将抓取数据中的标签重命名为所有从 ServiceMonitor、PodMonitor 和 ScrapeConfig 对象创建的目标的“exported_”来解决标签冲突。否则,将应用服务或 pod 监控器的 HonorLabels 字段。实际上,overrideHonorLaels:true 对所有 ServiceMonitor、PodMonitor 和 ScrapeConfig 对象强制执行 honorLabels:false

overrideHonorTimestamps

布尔值

设置为 true 时,Prometheus 将忽略从服务和 pod 监控器创建的所有目标的时间戳。否则,将应用服务或 pod 监控器的 HonorTimestamps 字段。

paused

布尔值

当 Prometheus 部署暂停时,除了删除操作外,不会对底层对象执行任何操作。

persistentVolumeClaimRetentionPolicy

object

对象

该字段控制在 StatefulSet 的生命周期中是否以及如何删除 PVC。默认行为是保留所有 PVC。这是 Kubernetes 1.23 到 1.26 的 alpha 字段,以及 1.26 的 beta 字段。它需要启用 StatefulSetAutoDeletePVC 功能开关。

podMetadata

object

对象

PodMetadata 配置传播到 Prometheus pod 的标签和注释。

以下项目是保留的,不能被覆盖:* “prometheus”标签,设置为 Prometheus 对象的名称。* “app.kubernetes.io/instance”标签,设置为 Prometheus 对象的名称。* “app.kubernetes.io/managed-by”标签,设置为“prometheus-operator”。* “app.kubernetes.io/name”标签,设置为“prometheus”。* “app.kubernetes.io/version”标签,设置为 Prometheus 版本。* “operator.prometheus.io/name”标签,设置为 Prometheus 对象的名称。* “operator.prometheus.io/shard”标签,设置为 Prometheus 对象的分片号。* “kubectl.kubernetes.io/default-container”注释,设置为“prometheus”。

podMonitorNamespaceSelector

object

对象

要匹配 PodMonitors 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器(默认值)仅匹配当前命名空间。

podMonitorSelector

object

对象

要选择用于目标发现的 PodMonitors。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

如果spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelectorspec.scrapeConfigSelector为空,则 Prometheus 配置不受管理。Prometheus 运算符将确保 Prometheus 配置的 Secret 存在,但用户有责任在prometheus.yaml.gz密钥下提供原始的 gzip 压缩的 Prometheus 配置。此行为已弃用,将在自定义资源定义的下一个主要版本中删除。建议改用spec.additionalScrapeConfigs

podTargetLabels

数组 (字符串)

PodTargetLabels 将附加到所有 PodMonitor 和 ServiceMonitor 对象的spec.podTargetLabels字段。

portName

string

字符串

用于 pod 和管理服务的端口名称。默认值:“web”

priorityClassName

string

字符串

分配给 Pod 的优先级类。

probeNamespaceSelector

object

对象

要匹配 Probe 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器仅匹配当前命名空间。

probeSelector

object

对象

要选择用于目标发现的探针。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

如果spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelectorspec.scrapeConfigSelector为空,则 Prometheus 配置不受管理。Prometheus 运算符将确保 Prometheus 配置的 Secret 存在,但用户有责任在prometheus.yaml.gz密钥下提供原始的 gzip 压缩的 Prometheus 配置。此行为已弃用,将在自定义资源定义的下一个主要版本中删除。建议改用spec.additionalScrapeConfigs

prometheusExternalLabelName

string

字符串

用于表示 Prometheus 实例名称的 Prometheus 外部标签的名称。当该字段设置为空字符串 ("") 时,不会添加外部标签。

默认值:“prometheus”

prometheusRulesExcludedFromEnforce

数组

定义不应用命名空间标签强制执行的 PrometheusRule 对象列表。这仅在spec.enforcedNamespaceLabel设置为 true 时才相关。已弃用:改用spec.excludedFromEnforcement

prometheusRulesExcludedFromEnforce[]

object

对象

PrometheusRuleExcludeConfig 使用户能够配置被排除的 PrometheusRule 名称及其命名空间,以便在对警报和指标强制执行命名空间标签时忽略它们。

query

object

对象

QuerySpec 定义 Promethus 查询服务的配置。

queryLogFile

string

字符串

queryLogFile 指定记录 PromQL 查询的文件位置。

如果文件名没有路径,例如 'query.log',Prometheus Pod 将文件安装到/var/log/prometheus处的 emptyDir 卷中。如果提供完整路径,例如 '/var/log/prometheus/query.log',则必须在指定目录中安装卷,并且该卷必须是可写的。这是因为出于安全原因,prometheus 容器以只读根文件系统运行。或者,可以将位置设置为标准 I/O 流,例如/dev/stdout,以将查询信息记录到默认的 Prometheus 日志流。

reloadStrategy

string

字符串

定义用于重新加载 Prometheus 配置的策略。如果未指定,则使用 /-/reload HTTP 端点重新加载配置。

remoteRead

数组

定义远程读取配置的列表。

remoteRead[]

object

对象

RemoteReadSpec 定义 Prometheus 从远程端点读取回样本的配置。

remoteWrite

数组

定义远程写入配置的列表。

remoteWrite[]

object

对象

RemoteWriteSpec 定义将样本从 Prometheus 写入远程端点的配置。

replicaExternalLabelName

string

字符串

用于表示副本名称的 Prometheus 外部标签名称。如果该字段设置为空字符串 (""),则不会添加外部标签。

默认值:“prometheus_replica”

replicas

整数

为 Prometheus 部署部署每个分片的副本数量。spec.replicas 乘以 spec.shards 即为创建的 Pod 总数。

默认值:1

resources

object

对象

定义“prometheus”容器的资源请求和限制。

retention

string

字符串

保留 Prometheus 数据的时间长度。

如果spec.retentionspec.retentionSize 为空,则默认为“24h”。

retentionSize

string

字符串

Prometheus 数据使用的最大字节数。

routePrefix

string

字符串

Prometheus 注册 HTTP 处理程序的路由前缀。

当使用spec.externalURL,并且代理正在重写请求的 HTTP 路由,而实际的 ExternalURL 仍然有效,但服务器在不同的路由前缀下提供服务时,这很有用。例如,与kubectl proxy一起使用。

ruleNamespaceSelector

object

对象

匹配 PrometheusRule 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器仅匹配当前命名空间。

ruleSelector

object

对象

要选择用于规则评估的 PrometheusRule 对象。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

rules

object

对象

定义 Prometheus 规则引擎的配置。

sampleLimit

整数

SampleLimit 定义每个抓取对将被接受的抓取样本数量的限制。仅在 Prometheus 2.45.0 及更高版本中有效。

请注意,全局限制仅适用于未指定显式限制值的抓取对象。如果要对所有抓取对象强制执行最大限制,请参考 enforcedSampleLimit。

scrapeClasses

数组

要公开给抓取对象(例如 PodMonitors、ServiceMonitors、Probes 和 ScrapeConfigs)的抓取类列表。

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

scrapeClasses[]

object

对象

scrapeConfigNamespaceSelector

object

对象

匹配 ScrapeConfig 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器仅匹配当前命名空间。

请注意,ScrapeConfig 自定义资源定义目前处于 Alpha 级别。

scrapeConfigSelector

object

对象

要选择用于目标发现的 ScrapeConfigs。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

如果spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelectorspec.scrapeConfigSelector为空,则 Prometheus 配置不受管理。Prometheus 运算符将确保 Prometheus 配置的 Secret 存在,但用户有责任在prometheus.yaml.gz密钥下提供原始的 gzip 压缩的 Prometheus 配置。此行为已弃用,将在自定义资源定义的下一个主要版本中删除。建议改用spec.additionalScrapeConfigs

请注意,ScrapeConfig 自定义资源定义目前处于 Alpha 级别。

scrapeInterval

string

字符串

连续抓取之间的时间间隔。

默认值:“30s”

scrapeProtocols

数组 (字符串)

在抓取过程中协商的协议。它按优先级顺序(从最高到最低)告诉客户端 Prometheus 支持的协议。

如果未设置,Prometheus 将使用其默认值。

它需要 Prometheus >= v2.49.0。

scrapeTimeout

string

字符串

等待抓取请求超时的时间(秒)。

secrets

数组 (字符串)

Secrets 是与 Prometheus 对象位于同一命名空间中的 Secrets 列表,这些 Secrets 将被挂载到 Prometheus Pod 中。每个 Secret 都会作为名为secret-<secret-name>的卷添加到 StatefulSet 定义中。这些 Secrets 将挂载到 'prometheus' 容器中的 /etc/prometheus/secrets/<secret-name>。

securityContext

object

对象

SecurityContext 包含 Pod 级别的安全属性和常见的容器设置。这默认为默认 PodSecurityContext。

serviceAccountName

string

字符串

ServiceAccountName 是用于运行 Prometheus Pod 的 ServiceAccount 的名称。

serviceMonitorNamespaceSelector

object

对象

匹配 ServicedMonitors 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器(默认值)仅匹配当前命名空间。

serviceMonitorSelector

object

对象

要选择用于目标发现的 ServiceMonitors。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

如果spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelectorspec.scrapeConfigSelector为空,则 Prometheus 配置不受管理。Prometheus 运算符将确保 Prometheus 配置的 Secret 存在,但用户有责任在prometheus.yaml.gz密钥下提供原始的 gzip 压缩的 Prometheus 配置。此行为已弃用,将在自定义资源定义的下一个主要版本中删除。建议改用spec.additionalScrapeConfigs

sha

string

字符串

已弃用:请改用“spec.image”。映像的摘要可以作为映像名称的一部分指定。

shards

整数

将目标分发到的分片数。spec.replicas 乘以 spec.shards 即为创建的 Pod 总数。

请注意,缩减分片不会将数据重新分片到剩余的实例上,必须手动移动。增加分片也不会重新分片数据,但它将继续从相同的实例中获取。

分片是在 PodMonitors 和 ServiceMonitors 的address目标元标签以及 Probes 的param_target的内容上执行的。

默认值:1

storage

object

对象

Storage 定义 Prometheus 使用的存储。

tag

string

字符串

已弃用:请改用“spec.image”。映像的标签可以作为映像名称的一部分指定。

targetLimit

整数

TargetLimit 定义对将被接受的已抓取目标数量的限制。仅在 Prometheus 2.45.0 及更高版本中有效。

请注意,全局限制仅适用于未指定显式限制值的抓取对象。如果要对所有抓取对象强制执行最大限制,请参考 enforcedTargetLimit。

thanos

object

对象

定义可选 Thanos sidecar 的配置。

tolerations

数组

如果指定,则定义 Pod 的容忍度。

tolerations[]

object

对象

此容忍度附加到的 Pod 容忍任何与三元组 <key,value,effect> 匹配的污点,使用匹配运算符 <operator>。

topologySpreadConstraints

数组

如果指定,则定义 Pod 的拓扑传播约束。

topologySpreadConstraints[]

object

对象

tracingConfig

object

对象

TracingConfig 配置 Prometheus 中的跟踪。

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

tsdb

object

对象

定义时间序列数据库 (TSDB) 的运行时可重新加载配置。

version

string

字符串

正在部署的 Prometheus 版本。操作员使用此信息来生成 Prometheus StatefulSet + 配置文件。

如果未指定,操作员将假设在发布操作员版本时可用的最新上游 Prometheus 版本。

volumeMounts

数组

VolumeMounts 允许配置额外的 VolumeMounts。

VolumeMounts 将附加到“prometheus”容器中的其他 VolumeMounts,这些 VolumeMounts 是 StorageSpec 对象生成的。

volumeMounts[]

object

对象

VolumeMount 描述在容器内挂载卷。

volumes

数组

Volumes 允许在输出 StatefulSet 定义中配置附加卷。指定的卷将附加到由 StorageSpec 对象生成的其它卷。

volumes[]

object

对象

Volume 代表 Pod 中的命名卷,Pod 中的任何容器都可以访问该卷。

walCompression

布尔值

使用 Snappy 配置预写日志 (WAL) 的压缩。

对于 Prometheus >= 2.20.0,默认情况下启用 WAL 压缩。

需要 Prometheus v2.11.0 及更高版本。

web

object

对象

定义 Prometheus web 服务器的配置。

.spec.additionalAlertManagerConfigs

Description

描述

AdditionalAlertManagerConfigs 指定包含额外 Prometheus Alertmanager 配置的 Secret 的键。Alertmanager 配置将附加到由 Prometheus Operator 生成的配置中。它们必须根据官方 Prometheus 文档进行格式化

用户有责任确保配置有效。

请注意,使用此功能可能会导致 Prometheus 升级中断。建议查看 Prometheus 发行说明,以确保没有不兼容的 AlertManager 配置会在升级后中断 Prometheus。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.additionalAlertRelabelConfigs

Description

描述

AdditionalAlertRelabelConfigs 指定包含额外 Prometheus 警报重标记配置的 Secret 的键。警报重标记配置将附加到由 Prometheus Operator 生成的配置中。它们必须根据官方 Prometheus 文档进行格式化

用户有责任确保配置有效。

请注意,使用此功能可能会导致 Prometheus 升级中断。建议查看 Prometheus 发行说明,以确保没有不兼容的警报重标记配置会在升级后中断 Prometheus。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.additionalArgs

Description

描述

AdditionalArgs 允许为“prometheus”容器设置附加参数。

它用于例如激活尚未由专用配置选项支持的隐藏标志。这些参数将按原样传递给 Prometheus 容器,如果它们无效或不受给定 Prometheus 版本支持,可能会导致问题。

如果发生参数冲突(例如,操作员本身已设置的参数)或提供无效参数,则协调将失败并记录错误。

Type

类型

数组

.spec.additionalArgs[]

Description

描述

作为 AdditionalArgs 列表一部分的参数。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

参数名称,例如“scrape.discovery-reload-interval”。

string

字符串

参数值,例如 30s。对于仅名称的参数可以为空(例如 --storage.tsdb.no-lockfile)

.spec.additionalScrapeConfigs

Description

描述

AdditionalScrapeConfigs 允许指定包含额外 Prometheus 抓取配置的 Secret 的键。指定的抓取配置将附加到由 Prometheus Operator 生成的配置中。指定的作业配置必须具有官方 Prometheus 文档中指定的格式:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#scrape_config。由于抓取配置是附加的,因此用户有责任确保其有效性。请注意,使用此功能可能会导致 Prometheus 升级中断。建议查看 Prometheus 发行说明,以确保没有不兼容的抓取配置会在升级后中断 Prometheus。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.affinity

Description

描述

如果指定,则定义 Pod 的亲和力调度规则。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

nodeAffinity

object

对象

描述 Pod 的节点亲和性调度规则。

podAffinity

object

对象

描述 Pod 亲和性调度规则(例如,将此 Pod 与其他一些 Pod 放在相同的节点、区域等)。

podAntiAffinity

object

对象

描述 Pod 反亲和性调度规则(例如,避免将此 Pod 与其他一些 Pod 放在相同的节点、区域等)。

.spec.affinity.nodeAffinity

Description

描述

描述 Pod 的节点亲和性调度规则。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

preferredDuringSchedulingIgnoredDuringExecution

数组

调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否匹配相应的 matchExpressions 将“weight”添加到总和中来计算总和;总和最高的节点(s)是最优选的。

preferredDuringSchedulingIgnoredDuringExecution[]

object

对象

空的优先调度项匹配所有具有隐式权重 0 的对象(即它是无操作的)。空优先调度项不匹配任何对象(即也是无操作的)。

requiredDuringSchedulingIgnoredDuringExecution

object

对象

如果此字段指定的亲和性要求在调度时未满足,则 Pod 将不会被调度到该节点上。如果此字段指定的亲和性要求在 Pod 执行期间的某个时间点不再满足(例如,由于更新),系统可能会也可能不会尝试最终将其从节点中逐出。

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution

Description

描述

调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否匹配相应的 matchExpressions 将“weight”添加到总和中来计算总和;总和最高的节点(s)是最优选的。

Type

类型

数组

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

Description

描述

空的优先调度项匹配所有具有隐式权重 0 的对象(即它是无操作的)。空优先调度项不匹配任何对象(即也是无操作的)。

Type

类型

object

对象

Required

必填
  • 偏好

  • 权重

Property

属性
Type

类型
Description

描述

偏好

object

对象

与相应的权重关联的节点选择器项。

权重

整数

与匹配相应的 nodeSelectorTerm 相关的权重,范围为 1-100。

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference

Description

描述

与相应的权重关联的节点选择器项。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

根据节点的标签列出节点选择器要求。

matchExpressions[]

object

对象

节点选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。

matchFields

数组

根据节点的字段列出节点选择器要求。

matchFields[]

object

对象

节点选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions

Description

描述

根据节点的标签列出节点选择器要求。

Type

类型

数组

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]

Description

描述

节点选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

选择器应用到的标签键。

运算符

string

字符串

表示键与一组值的关系。有效的运算符包括 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。

数组 (字符串)

字符串值数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符是 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略性合并补丁期间会被替换。

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields

Description

描述

根据节点的字段列出节点选择器要求。

Type

类型

数组

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]

Description

描述

节点选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

选择器应用到的标签键。

运算符

string

字符串

表示键与一组值的关系。有效的运算符包括 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。

数组 (字符串)

字符串值数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符是 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略性合并补丁期间会被替换。

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution

Description

描述

如果此字段指定的亲和性要求在调度时未满足,则 Pod 将不会被调度到该节点上。如果此字段指定的亲和性要求在 Pod 执行期间的某个时间点不再满足(例如,由于更新),系统可能会也可能不会尝试最终将其从节点中逐出。

Type

类型

object

对象

Required

必填
  • nodeSelectorTerms

Property

属性
Type

类型
Description

描述

nodeSelectorTerms

数组

必需。节点选择器项列表。这些项使用 OR 运算连接。

nodeSelectorTerms[]

object

对象

空或空的节点选择器项不匹配任何对象。它们的条件使用 AND 运算连接。TopologySelectorTerm 类型实现了 NodeSelectorTerm 的一个子集。

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms

Description

描述

必需。节点选择器项列表。这些项使用 OR 运算连接。

Type

类型

数组

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]

Description

描述

空或空的节点选择器项不匹配任何对象。它们的条件使用 AND 运算连接。TopologySelectorTerm 类型实现了 NodeSelectorTerm 的一个子集。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

根据节点的标签列出节点选择器要求。

matchExpressions[]

object

对象

节点选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。

matchFields

数组

根据节点的字段列出节点选择器要求。

matchFields[]

object

对象

节点选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions

Description

描述

根据节点的标签列出节点选择器要求。

Type

类型

数组

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]

Description

描述

节点选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

选择器应用到的标签键。

运算符

string

字符串

表示键与一组值的关系。有效的运算符包括 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。

数组 (字符串)

字符串值数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符是 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略性合并补丁期间会被替换。

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields

Description

描述

根据节点的字段列出节点选择器要求。

Type

类型

数组

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]

Description

描述

节点选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

选择器应用到的标签键。

运算符

string

字符串

表示键与一组值的关系。有效的运算符包括 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。

数组 (字符串)

字符串值数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符是 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略性合并补丁期间会被替换。

.spec.affinity.podAffinity

Description

描述

描述 Pod 亲和性调度规则(例如,将此 Pod 与其他一些 Pod 放在相同的节点、区域等)。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

preferredDuringSchedulingIgnoredDuringExecution

数组

调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否具有匹配相应 podAffinityTerm 的 Pod 将“weight”添加到总和中来计算总和;总和最高的节点(s)是最优选的。

preferredDuringSchedulingIgnoredDuringExecution[]

object

对象

所有匹配的 WeightedPodAffinityTerm 字段的权重都会按节点相加,以找到最优选的节点(s)。

requiredDuringSchedulingIgnoredDuringExecution

数组

如果此字段指定的亲和性要求在调度时未满足,则 Pod 将不会被调度到该节点上。如果此字段指定的亲和性要求在 Pod 执行期间的某个时间点不再满足(例如,由于 Pod 标签更新),系统可能会也可能不会尝试最终将其从节点中逐出。当有多个元素时,对应于每个 podAffinityTerm 的节点列表会被相交,即所有项都必须满足。

requiredDuringSchedulingIgnoredDuringExecution[]

object

对象

定义一组 Pod(即相对于给定命名空间(s)匹配 labelSelector 的那些 Pod),此 Pod 应与之一起定位(亲和性)或不一起定位(反亲和性),其中一起定位定义为运行在标签键 的值与任何运行该组 Pod 的 Pod 所在节点的标签值匹配的节点上。

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution

Description

描述

调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否具有匹配相应 podAffinityTerm 的 Pod 将“weight”添加到总和中来计算总和;总和最高的节点(s)是最优选的。

Type

类型

数组

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

Description

描述

所有匹配的 WeightedPodAffinityTerm 字段的权重都会按节点相加,以找到最优选的节点(s)。

Type

类型

object

对象

Required

必填
  • podAffinityTerm

  • 权重

Property

属性
Type

类型
Description

描述

podAffinityTerm

object

对象

必需。与相应的权重关联的 Pod 亲和性项。

权重

整数

与匹配相应的 podAffinityTerm 相关的权重,范围为 1-100。

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

Description

描述

必需。与相应的权重关联的 Pod 亲和性项。

Type

类型

object

对象

Required

必填
  • topologyKey

Property

属性
Type

类型
Description

描述

labelSelector

object

对象

对一组资源(本例中为 Pod)执行标签查询。如果为 null,则此 PodAffinityTerm 不匹配任何 Pod。

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择要考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值对将与labelSelector合并为key in (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod (反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为 null。matchLabelKeys 和 labelSelector 中禁止存在相同的键。此外,如果未设置 labelSelector,则不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能网关。

mismatchLabelKeys

数组 (字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择要考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值对将与labelSelector合并为key notin (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod (反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为 null。MismatchLabelKeys 和 labelSelector 中禁止存在相同的键。此外,如果未设置 labelSelector,则不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能网关。

namespaceSelector

object

对象

对术语适用的命名空间集执行标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。

namespaces

数组 (字符串)

namespaces 指定术语适用的命名空间名称的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。null 或空的命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。

topologyKey

string

字符串

此 Pod 应与指定命名空间中与 labelSelector 匹配的 Pod 位于同一位置(亲和性)或不位于同一位置(反亲和性),其中同一位置定义为运行在节点上,该节点的标签键 topologyKey 的值与任何选定 Pod 所在的任何节点的标签键 topologyKey 的值匹配。不允许使用空的 topologyKey。

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector

Description

描述

对一组资源(本例中为 Pod)执行标签查询。如果为 null,则此 PodAffinityTerm 不匹配任何 Pod。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector

Description

描述

对术语适用的命名空间集执行标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

Description

描述

如果此字段指定的亲和性要求在调度时未满足,则 Pod 将不会被调度到该节点上。如果此字段指定的亲和性要求在 Pod 执行期间的某个时间点不再满足(例如,由于 Pod 标签更新),系统可能会也可能不会尝试最终将其从节点中逐出。当有多个元素时,对应于每个 podAffinityTerm 的节点列表会被相交,即所有项都必须满足。

Type

类型

数组

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

Description

描述

定义一组 Pod(即相对于给定命名空间(s)匹配 labelSelector 的那些 Pod),此 Pod 应与之一起定位(亲和性)或不一起定位(反亲和性),其中一起定位定义为运行在标签键 的值与任何运行该组 Pod 的 Pod 所在节点的标签值匹配的节点上。

Type

类型

object

对象

Required

必填
  • topologyKey

Property

属性
Type

类型
Description

描述

labelSelector

object

对象

对一组资源(本例中为 Pod)执行标签查询。如果为 null,则此 PodAffinityTerm 不匹配任何 Pod。

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择要考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值对将与labelSelector合并为key in (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod (反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为 null。matchLabelKeys 和 labelSelector 中禁止存在相同的键。此外,如果未设置 labelSelector,则不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能网关。

mismatchLabelKeys

数组 (字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择要考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值对将与labelSelector合并为key notin (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod (反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为 null。MismatchLabelKeys 和 labelSelector 中禁止存在相同的键。此外,如果未设置 labelSelector,则不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能网关。

namespaceSelector

object

对象

对术语适用的命名空间集执行标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。

namespaces

数组 (字符串)

namespaces 指定术语适用的命名空间名称的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。null 或空的命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。

topologyKey

string

字符串

此 Pod 应与指定命名空间中与 labelSelector 匹配的 Pod 位于同一位置(亲和性)或不位于同一位置(反亲和性),其中同一位置定义为运行在节点上,该节点的标签键 topologyKey 的值与任何选定 Pod 所在的任何节点的标签键 topologyKey 的值匹配。不允许使用空的 topologyKey。

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector

Description

描述

对一组资源(本例中为 Pod)执行标签查询。如果为 null,则此 PodAffinityTerm 不匹配任何 Pod。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector

Description

描述

对术语适用的命名空间集执行标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.affinity.podAntiAffinity

Description

描述

描述 Pod 反亲和性调度规则(例如,避免将此 Pod 与其他一些 Pod 放在相同的节点、区域等)。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

preferredDuringSchedulingIgnoredDuringExecution

数组

调度器将倾向于将 Pod 调度到满足此字段指定的反亲和性表达式的节点,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即,对于满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否具有与相应的 podAffinityTerm 匹配的 Pod 向总和添加“weight”来计算总和;总和最高的节点(s)是最优选的。

preferredDuringSchedulingIgnoredDuringExecution[]

object

对象

所有匹配的 WeightedPodAffinityTerm 字段的权重都会按节点相加,以找到最优选的节点(s)。

requiredDuringSchedulingIgnoredDuringExecution

数组

如果在调度时未满足此字段指定的反亲和性要求,则 Pod 将不会被调度到该节点。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)此字段指定的反亲和性要求不再满足,则系统可能会也可能不会尝试最终将其从其节点中逐出。当存在多个元素时,对应于每个 podAffinityTerm 的节点列表将相交,即所有术语都必须满足。

requiredDuringSchedulingIgnoredDuringExecution[]

object

对象

定义一组 Pod(即相对于给定命名空间(s)匹配 labelSelector 的那些 Pod),此 Pod 应与之一起定位(亲和性)或不一起定位(反亲和性),其中一起定位定义为运行在标签键 的值与任何运行该组 Pod 的 Pod 所在节点的标签值匹配的节点上。

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Description

描述

调度器将倾向于将 Pod 调度到满足此字段指定的反亲和性表达式的节点,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即,对于满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否具有与相应的 podAffinityTerm 匹配的 Pod 向总和添加“weight”来计算总和;总和最高的节点(s)是最优选的。

Type

类型

数组

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

Description

描述

所有匹配的 WeightedPodAffinityTerm 字段的权重都会按节点相加,以找到最优选的节点(s)。

Type

类型

object

对象

Required

必填
  • podAffinityTerm

  • 权重

Property

属性
Type

类型
Description

描述

podAffinityTerm

object

对象

必需。与相应的权重关联的 Pod 亲和性项。

权重

整数

与匹配相应的 podAffinityTerm 相关的权重,范围为 1-100。

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

Description

描述

必需。与相应的权重关联的 Pod 亲和性项。

Type

类型

object

对象

Required

必填
  • topologyKey

Property

属性
Type

类型
Description

描述

labelSelector

object

对象

对一组资源(本例中为 Pod)执行标签查询。如果为 null,则此 PodAffinityTerm 不匹配任何 Pod。

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择要考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值对将与labelSelector合并为key in (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod (反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为 null。matchLabelKeys 和 labelSelector 中禁止存在相同的键。此外,如果未设置 labelSelector,则不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能网关。

mismatchLabelKeys

数组 (字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择要考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值对将与labelSelector合并为key notin (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod (反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为 null。MismatchLabelKeys 和 labelSelector 中禁止存在相同的键。此外,如果未设置 labelSelector,则不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能网关。

namespaceSelector

object

对象

对术语适用的命名空间集执行标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。

namespaces

数组 (字符串)

namespaces 指定术语适用的命名空间名称的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。null 或空的命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。

topologyKey

string

字符串

此 Pod 应与指定命名空间中与 labelSelector 匹配的 Pod 位于同一位置(亲和性)或不位于同一位置(反亲和性),其中同一位置定义为运行在节点上,该节点的标签键 topologyKey 的值与任何选定 Pod 所在的任何节点的标签键 topologyKey 的值匹配。不允许使用空的 topologyKey。

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector

Description

描述

对一组资源(本例中为 Pod)执行标签查询。如果为 null,则此 PodAffinityTerm 不匹配任何 Pod。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector

Description

描述

对术语适用的命名空间集执行标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

Description

描述

如果在调度时未满足此字段指定的反亲和性要求,则 Pod 将不会被调度到该节点。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)此字段指定的反亲和性要求不再满足,则系统可能会也可能不会尝试最终将其从其节点中逐出。当存在多个元素时,对应于每个 podAffinityTerm 的节点列表将相交,即所有术语都必须满足。

Type

类型

数组

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

Description

描述

定义一组 Pod(即相对于给定命名空间(s)匹配 labelSelector 的那些 Pod),此 Pod 应与之一起定位(亲和性)或不一起定位(反亲和性),其中一起定位定义为运行在标签键 的值与任何运行该组 Pod 的 Pod 所在节点的标签值匹配的节点上。

Type

类型

object

对象

Required

必填
  • topologyKey

Property

属性
Type

类型
Description

描述

labelSelector

object

对象

对一组资源(本例中为 Pod)执行标签查询。如果为 null,则此 PodAffinityTerm 不匹配任何 Pod。

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择要考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值对将与labelSelector合并为key in (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod (反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为 null。matchLabelKeys 和 labelSelector 中禁止存在相同的键。此外,如果未设置 labelSelector,则不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能网关。

mismatchLabelKeys

数组 (字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择要考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值对将与labelSelector合并为key notin (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod (反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为 null。MismatchLabelKeys 和 labelSelector 中禁止存在相同的键。此外,如果未设置 labelSelector,则不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能网关。

namespaceSelector

object

对象

对术语适用的命名空间集执行标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。

namespaces

数组 (字符串)

namespaces 指定术语适用的命名空间名称的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。null 或空的命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。

topologyKey

string

字符串

此 Pod 应与指定命名空间中与 labelSelector 匹配的 Pod 位于同一位置(亲和性)或不位于同一位置(反亲和性),其中同一位置定义为运行在节点上,该节点的标签键 topologyKey 的值与任何选定 Pod 所在的任何节点的标签键 topologyKey 的值匹配。不允许使用空的 topologyKey。

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector

Description

描述

对一组资源(本例中为 Pod)执行标签查询。如果为 null,则此 PodAffinityTerm 不匹配任何 Pod。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector

Description

描述

对术语适用的命名空间集执行标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.alerting

Description

描述

定义与 Alertmanager 相关的设置。

Type

类型

object

对象

Required

必填
  • alertmanagers

Property

属性
Type

类型
Description

描述

alertmanagers

数组

Prometheus应将告警发送到的Alertmanager端点。

alertmanagers[]

object

对象

AlertmanagerEndpoints定义了一个包含Alertmanager IP地址的单个Endpoints对象的选取,用于发送告警。

.spec.alerting.alertmanagers

Description

描述

Prometheus应将告警发送到的Alertmanager端点。

Type

类型

数组

.spec.alerting.alertmanagers[]

Description

描述

AlertmanagerEndpoints定义了一个包含Alertmanager IP地址的单个Endpoints对象的选取,用于发送告警。

Type

类型

object

对象

Required

必填
  • name

  • 命名空间

  • 端口

Property

属性
Type

类型
Description

描述

alertRelabelings

数组

在将警报发送到特定 Alertmanager 之前应用的重标记配置。这需要 Prometheus >= v2.51.0。

alertRelabelings[]

object

对象

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config

apiVersion

API 版本

string

字符串

Prometheus 用于发送警报的 Alertmanager API 版本。可以是“v1”或“v2”。

授权

object

对象

Alertmanager 的授权部分。

不能与basicAuthbearerTokenFilesigv4同时设置。

basicAuth

object

对象

Alertmanager 的 BasicAuth 配置。

不能与bearerTokenFileauthorizationsigv4同时设置。

bearerTokenFile

string

字符串

用于读取 Alertmanager 的 bearer 令牌的文件。

不能与basicAuthauthorizationsigv4同时设置。

已弃用:这将在未来的版本中删除。建议使用authorization

enableHttp2

布尔值

是否启用 HTTP2。

name

string

字符串

命名空间中 Endpoints 对象的名称。

命名空间

string

字符串

Endpoints 对象的命名空间。

pathPrefix

string

字符串

推送警报的 HTTP 路径前缀。

端口

整数或字符串

Alertmanager API 公开的端口。

relabelings

数组

应用于已发现的 Alertmanagers 的重标记配置。

relabelings[]

object

对象

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config

scheme

string

字符串

发送警报时使用的方案。

sigv4

object

对象

Sigv4 允许为 URL 配置 AWS 的签名验证 4。

这需要 Prometheus >= v2.48.0。

不能与basicAuthbearerTokenFileauthorization同时设置。

timeout

string

字符串

Timeout 是推送警报时每个目标 Alertmanager 的超时时间。

tlsConfig

object

对象

用于 Alertmanager 的 TLS 配置。

.spec.alerting.alertmanagers[].alertRelabelings

Description

描述

在将警报发送到特定 Alertmanager 之前应用的重标记配置。这需要 Prometheus >= v2.51.0。

Type

类型

数组

.spec.alerting.alertmanagers[].alertRelabelings[]

Description

描述

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

action

string

字符串

根据正则表达式匹配执行的操作。

UppercaseLowercase操作需要Prometheus >= v2.36.0。DropEqualKeepEqual操作需要Prometheus >= v2.41.0。

默认值:“Replace”

modulus

整数

对源标签值的哈希进行取模。

仅当操作为HashMod时适用。

regex

string

字符串

与提取的值匹配的正则表达式。

replacement

string

字符串

如果正则表达式匹配,则执行 Replace 操作的替换值。

正则表达式捕获组可用。

separator

string

字符串

Separator 是连接的 SourceLabels 之间的字符串。

sourceLabels

数组 (字符串)

源标签从现有标签中选择值。它们的内容使用配置的 Separator 连接,并与配置的正则表达式匹配。

targetLabel

string

字符串

将结果字符串写入替换中的标签。

对于ReplaceHashModLowercaseUppercaseKeepEqualDropEqual操作,这是必需的。

正则表达式捕获组可用。

.spec.alerting.alertmanagers[].authorization

Description

描述

Alertmanager 的授权部分。

不能与basicAuthbearerTokenFilesigv4同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

credentials

object

对象

选择命名空间中 Secret 的密钥,该密钥包含用于身份验证的凭据。

type

string

字符串

定义身份验证类型。该值不区分大小写。

“Basic”不是受支持的值。

默认值:“Bearer”

.spec.alerting.alertmanagers[].authorization.credentials

Description

描述

选择命名空间中 Secret 的密钥,该密钥包含用于身份验证的凭据。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.alerting.alertmanagers[].basicAuth

Description

描述

Alertmanager 的 BasicAuth 配置。

不能与bearerTokenFileauthorizationsigv4同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

password

object

对象

password指定包含用于身份验证的密码的 Secret 的密钥。

username

object

对象

username指定包含用于身份验证的用户名 Secret 的密钥。

.spec.alerting.alertmanagers[].basicAuth.password

Description

描述

password指定包含用于身份验证的密码的 Secret 的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.alerting.alertmanagers[].basicAuth.username

Description

描述

username指定包含用于身份验证的用户名 Secret 的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.alerting.alertmanagers[].relabelings

Description

描述

应用于已发现的 Alertmanagers 的重标记配置。

Type

类型

数组

.spec.alerting.alertmanagers[].relabelings[]

Description

描述

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

action

string

字符串

根据正则表达式匹配执行的操作。

UppercaseLowercase操作需要Prometheus >= v2.36.0。DropEqualKeepEqual操作需要Prometheus >= v2.41.0。

默认值:“Replace”

modulus

整数

对源标签值的哈希进行取模。

仅当操作为HashMod时适用。

regex

string

字符串

与提取的值匹配的正则表达式。

replacement

string

字符串

如果正则表达式匹配,则执行 Replace 操作的替换值。

正则表达式捕获组可用。

separator

string

字符串

Separator 是连接的 SourceLabels 之间的字符串。

sourceLabels

数组 (字符串)

源标签从现有标签中选择值。它们的内容使用配置的 Separator 连接,并与配置的正则表达式匹配。

targetLabel

string

字符串

将结果字符串写入替换中的标签。

对于ReplaceHashModLowercaseUppercaseKeepEqualDropEqual操作,这是必需的。

正则表达式捕获组可用。

.spec.alerting.alertmanagers[].sigv4

Description

描述

Sigv4 允许为 URL 配置 AWS 的签名验证 4。

这需要 Prometheus >= v2.48.0。

不能与basicAuthbearerTokenFileauthorization同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

accessKey

object

对象

AccessKey 是 AWS API 密钥。如果未指定,则使用环境变量AWS_ACCESS_KEY_ID

profile

string

字符串

Profile 是用于身份验证的命名 AWS 配置文件。

region

string

字符串

Region 是 AWS 区域。如果为空,则使用默认凭据链中的区域。

roleArn

string

字符串

RoleArn 是用于身份验证的命名 AWS 配置文件。

secretKey

object

对象

SecretKey 是 AWS API 密钥。如果未指定,则使用环境变量AWS_SECRET_ACCESS_KEY

.spec.alerting.alertmanagers[].sigv4.accessKey

Description

描述

AccessKey 是 AWS API 密钥。如果未指定,则使用环境变量AWS_ACCESS_KEY_ID

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.alerting.alertmanagers[].sigv4.secretKey

Description

描述

SecretKey 是 AWS API 密钥。如果未指定,则使用环境变量AWS_SECRET_ACCESS_KEY

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.alerting.alertmanagers[].tlsConfig

Description

描述

用于 Alertmanager 的 TLS 配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

ca

object

对象

验证服务器证书时使用的证书颁发机构。

caFile

string

字符串

Prometheus 容器中用于目标的 CA 证书的路径。

cert

object

对象

进行客户端身份验证时要提供的客户端证书。

certFile

string

字符串

Prometheus 容器中用于目标的客户端证书文件的路径。

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

string

字符串

Prometheus 容器中用于目标的客户端密钥文件的路径。

keySecret

object

对象

包含用于目标的客户端密钥文件的 Secret。

serverName

string

字符串

用于验证目标的主机名。

.spec.alerting.alertmanagers[].tlsConfig.ca

Description

描述

验证服务器证书时使用的证书颁发机构。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.alerting.alertmanagers[].tlsConfig.ca.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.alerting.alertmanagers[].tlsConfig.ca.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.alerting.alertmanagers[].tlsConfig.cert

Description

描述

进行客户端身份验证时要提供的客户端证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.alerting.alertmanagers[].tlsConfig.cert.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.alerting.alertmanagers[].tlsConfig.cert.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.alerting.alertmanagers[].tlsConfig.keySecret

Description

描述

包含用于目标的客户端密钥文件的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.apiserverConfig

Description

描述

APIServerConfig 允许指定主机和身份验证方法以访问 Kubernetes API 服务器。如果为 null,则假定 Prometheus 在集群内运行:它将自动发现 API 服务器并使用 Pod 的 CA 证书和位于 /var/run/secrets/kubernetes.io/serviceaccount/ 的 bearer 令牌文件。

Type

类型

object

对象

Required

必填
  • host

Property

属性
Type

类型
Description

描述

授权

object

对象

API服务器的授权部分。

不能与basicAuthbearerTokenbearerTokenFile同时设置。

basicAuth

object

对象

API服务器的BasicAuth配置。

不能与authorizationbearerTokenbearerTokenFile同时设置。

bearerToken

string

字符串

警告:不应使用此字段,因为令牌值以明文形式出现。建议使用authorization

已弃用:这将在未来的版本中移除。

bearerTokenFile

string

字符串

读取用于访问 apiserver 的 bearer 令牌的文件。

不能与basicAuthauthorizationbearerToken同时设置。

已弃用:这将在未来的版本中删除。建议使用authorization

host

string

字符串

Kubernetes API 地址,由主机名或 IP 地址以及可选的端口号组成。

tlsConfig

object

对象

用于 API 服务器的 TLS 配置。

.spec.apiserverConfig.authorization

Description

描述

API服务器的授权部分。

不能与basicAuthbearerTokenbearerTokenFile同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

credentials

object

对象

选择命名空间中 Secret 的密钥,该密钥包含用于身份验证的凭据。

credentialsFile

string

字符串

读取密钥的文件,与credentials互斥。

type

string

字符串

定义身份验证类型。该值不区分大小写。

“Basic”不是受支持的值。

默认值:“Bearer”

.spec.apiserverConfig.authorization.credentials

Description

描述

选择命名空间中 Secret 的密钥,该密钥包含用于身份验证的凭据。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.apiserverConfig.basicAuth

Description

描述

API服务器的BasicAuth配置。

不能与authorizationbearerTokenbearerTokenFile同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

password

object

对象

password指定包含用于身份验证的密码的 Secret 的密钥。

username

object

对象

username指定包含用于身份验证的用户名 Secret 的密钥。

.spec.apiserverConfig.basicAuth.password

Description

描述

password指定包含用于身份验证的密码的 Secret 的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.apiserverConfig.basicAuth.username

Description

描述

username指定包含用于身份验证的用户名 Secret 的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.apiserverConfig.tlsConfig

Description

描述

用于 API 服务器的 TLS 配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

ca

object

对象

验证服务器证书时使用的证书颁发机构。

caFile

string

字符串

Prometheus 容器中用于目标的 CA 证书的路径。

cert

object

对象

进行客户端身份验证时要提供的客户端证书。

certFile

string

字符串

Prometheus 容器中用于目标的客户端证书文件的路径。

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

string

字符串

Prometheus 容器中用于目标的客户端密钥文件的路径。

keySecret

object

对象

包含用于目标的客户端密钥文件的 Secret。

serverName

string

字符串

用于验证目标的主机名。

.spec.apiserverConfig.tlsConfig.ca

Description

描述

验证服务器证书时使用的证书颁发机构。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.apiserverConfig.tlsConfig.ca.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.apiserverConfig.tlsConfig.ca.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.apiserverConfig.tlsConfig.cert

Description

描述

进行客户端身份验证时要提供的客户端证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.apiserverConfig.tlsConfig.cert.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.apiserverConfig.tlsConfig.cert.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.apiserverConfig.tlsConfig.keySecret

Description

描述

包含用于目标的客户端密钥文件的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.arbitraryFSAccessThroughSMs

Description

描述

如果为 true,则禁止 ServiceMonitor、PodMonitor 和 Probe 对象引用“prometheus”容器文件系统上的任意文件。如果 ServiceMonitor 的端点指定了 `bearerTokenFile` 值(例如,`/var/run/secrets/kubernetes.io/serviceaccount/token`),则恶意目标可以在 Prometheus 的抓取请求中访问 Prometheus 服务帐户的令牌。将 `spec.arbitraryFSAccessThroughSM` 设置为“true”将阻止此攻击。用户应改为使用 `spec.bearerTokenSecret` 字段提供凭据。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

deny

布尔值

.spec.containers

Description

描述

Containers 允许注入额外的容器或修改操作员生成的容器。这可用于允许向 Pod 添加身份验证代理或更改操作员生成的容器的行为。如果此处描述的容器具有相同的名称,并且修改是通过策略性合并补丁完成的,则它们会修改操作员生成的容器。

操作员管理的容器名称为:* `prometheus` * `config-reloader` * `thanos-sidecar`

覆盖容器完全超出维护人员将支持的范围,这样做意味着您接受此行为可能随时中断且无需通知。

Type

类型

数组

.spec.containers[]

Description

描述

您想要在 Pod 中运行的单个应用程序容器。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

args

数组 (字符串)

传递给入口点的参数。如果未提供此参数,则使用容器镜像的 CMD。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符将简化为单个美元符,这允许转义 $(VAR_NAME) 语法:例如,“(VAR_NAME)”将生成字符串字面量“$(VAR_NAME)”。转义的引用将永远不会被扩展,无论变量是否存在。

command

数组 (字符串)

入口点数组。不在 shell 中执行。如果未提供此参数,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符将简化为单个美元符,这允许转义 $(VAR_NAME) 语法:例如,“(VAR_NAME)”将生成字符串字面量“$(VAR_NAME)”。转义的引用将永远不会被扩展,无论变量是否存在。

env

数组

要在容器中设置的环境变量列表。

env[]

object

对象

EnvVar 表示容器中存在的环境变量。

envFrom

数组

用于填充容器中环境变量的来源列表。来源中定义的键必须是 C_IDENTIFIER。所有无效的键都将在容器启动时作为事件报告。当一个键存在于多个来源时,最后一个来源关联的值将优先。Env 中定义的具有重复键的值将优先。

envFrom[]

object

对象

EnvFromSource 表示一组 ConfigMaps 的来源。

image

string

字符串

容器镜像名称。此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployment 和 StatefulSet)中的容器镜像。

imagePullPolicy

string

字符串

镜像拉取策略。Always、Never、IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。

lifecycle

object

对象

管理系统应针对容器生命周期事件采取的操作。

livenessProbe

object

对象

容器存活状态的定期探测。如果探测失败,容器将被重启。

name

string

字符串

指定为 DNS_LABEL 的容器名称。pod 中的每个容器必须具有唯一的名称 (DNS_LABEL)。

ports

数组

要从容器中暴露的端口列表。此处不指定端口并不会阻止该端口被暴露。容器内监听默认“0.0.0.0”地址的任何端口都可从网络访问。使用战略性合并补丁修改此数组可能会损坏数据。

ports[]

object

对象

ContainerPort 表示单个容器中的网络端口。

readinessProbe

object

对象

容器服务就绪状态的定期探测。如果探测失败,容器将从服务端点中移除。

resizePolicy

数组

容器的资源调整策略。

resizePolicy[]

object

对象

ContainerResizePolicy 表示容器的资源调整策略。

resources

object

对象

此容器所需的计算资源。

restartPolicy

string

字符串

RestartPolicy 定义了 Pod 中单个容器的重启行为。此字段只能为 init 容器设置,且唯一允许的值为“Always”。对于非 init 容器或未指定此字段的情况,重启行为由 Pod 的重启策略和容器类型定义。为 init 容器设置 RestartPolicy 为“Always”将产生以下效果:此 init 容器将在退出时持续重启,直到所有常规容器都终止。一旦所有常规容器都完成,所有具有 restartPolicy 为“Always”的 init 容器都将关闭。此生命周期与普通 init 容器不同,通常被称为“sidecar”容器。尽管此 init 容器仍在 init 容器序列中启动,但在继续下一个 init 容器之前,它不会等待容器完成。相反,下一个 init 容器会在启动此 init 容器之后或任何 startupProbe 成功完成之后立即启动。

securityContext

object

对象

SecurityContext 定义了容器应运行的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/

startupProbe

object

对象

StartupProbe 指示 Pod 已成功初始化。如果指定,则在该探针成功完成之前不会执行其他探针。如果此探针失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探针参数,此时加载数据或预热缓存可能需要很长时间,而稳态运行期间则不需要。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

布尔值

此容器是否应在容器运行时分配 stdin 的缓冲区。如果未设置,则容器中来自 stdin 的读取将始终导致 EOF。默认为 false。

stdinOnce

布尔值

容器运行时是否应在单个附加操作打开 stdin 通道后关闭它。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果将 stdinOnce 设置为 true,则在容器启动时打开 stdin,在第一个客户端附加到 stdin 之前为空,然后保持打开状态并接受数据,直到客户端断开连接,此时 stdin 关闭并保持关闭状态,直到容器重新启动。如果此标志为 false,则从 stdin 读取的容器进程将永远不会收到 EOF。默认为 false

terminationMessagePath

string

字符串

可选:将容器终止消息写入的文件安装到容器文件系统的路径。写入的消息旨在简短地显示最终状态,例如断言失败消息。如果大于 4096 字节,则节点将对其进行截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。

terminationMessagePolicy

string

字符串

指示应如何填充终止消息。File 将使用 terminationMessagePath 的内容在成功和失败时填充容器状态消息。FallbackToLogsOnError 如果终止消息文件为空且容器以错误退出,则将使用容器日志输出的最后一段。日志输出限制为 2048 字节或 80 行,取较小值。默认为 File。无法更新。

tty

布尔值

此容器是否应为自己分配一个 TTY,也需要 'stdin' 为 true。默认为 false。

volumeDevices

数组

volumeDevices 是容器要使用的块设备列表。

volumeDevices[]

object

对象

volumeDevice 描述了容器内原始块设备的映射。

volumeMounts

数组

要安装到容器文件系统的 Pod 卷。无法更新。

volumeMounts[]

object

对象

VolumeMount 描述在容器内挂载卷。

workingDir

string

字符串

容器的工作目录。如果未指定,则将使用容器运行时的默认值,这可能在容器镜像中配置。无法更新。

.spec.containers[].env

Description

描述

要在容器中设置的环境变量列表。

Type

类型

数组

.spec.containers[].env[]

Description

描述

EnvVar 表示容器中存在的环境变量。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

环境变量的名称。必须是 C_IDENTIFIER。

string

字符串

变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将减少为单个美元符号,这允许转义 $(VAR_NAME) 语法:即“(VAR_NAME)”将产生字符串字面量“$(VAR_NAME)” 。转义的引用将永远不会扩展,无论变量是否存在。

valueFrom

object

对象

环境变量值的来源。如果 value 不为空,则不能使用。

.spec.containers[].env[].valueFrom

Description

描述

环境变量值的来源。如果 value 不为空,则不能使用。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMapKeyRef

object

对象

选择 ConfigMap 的键。

fieldRef

object

对象

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

resourceFieldRef

object

对象

选择容器的资源:当前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

secretKeyRef

object

对象

选择 Pod 命名空间中的密钥。

.spec.containers[].env[].valueFrom.configMapKeyRef

Description

描述

选择 ConfigMap 的键。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.containers[].env[].valueFrom.fieldRef

Description

描述

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

Type

类型

object

对象

Required

必填
  • fieldPath

Property

属性
Type

类型
Description

描述

apiVersion

API 版本

string

字符串

FieldPath 的模式版本,默认为“v1”。

fieldPath

string

字符串

在指定的 API 版本中选择的字段的路径。

.spec.containers[].env[].valueFrom.resourceFieldRef

Description

描述

选择容器的资源:当前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

Type

类型

object

对象

Required

必填
  • resource

Property

属性
Type

类型
Description

描述

containerName

string

字符串

容器名称:卷需要,环境变量可选

divisor

整数或字符串

指定公开资源的输出格式,默认为“1”

resource

string

字符串

必需:要选择的资源

.spec.containers[].env[].valueFrom.secretKeyRef

Description

描述

选择 Pod 命名空间中的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.containers[].envFrom

Description

描述

用于填充容器中环境变量的来源列表。来源中定义的键必须是 C_IDENTIFIER。所有无效的键都将在容器启动时作为事件报告。当一个键存在于多个来源时,最后一个来源关联的值将优先。Env 中定义的具有重复键的值将优先。

Type

类型

数组

.spec.containers[].envFrom[]

Description

描述

EnvFromSource 表示一组 ConfigMaps 的来源。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMapRef

object

对象

要从中选择的 ConfigMap

prefix

string

字符串

一个可选的标识符,用于在 ConfigMap 中每个键的前面添加。必须是 C_IDENTIFIER。

secretRef

object

对象

要从中选择的 Secret

.spec.containers[].envFrom[].configMapRef

Description

描述

要从中选择的 ConfigMap

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap

.spec.containers[].envFrom[].secretRef

Description

描述

要从中选择的 Secret

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret

.spec.containers[].lifecycle

Description

描述

管理系统应针对容器生命周期事件采取的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

postStart

object

对象

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

object

对象

PreStop 钩子在容器由于 API 请求或管理事件(例如存活性/启动探针失败、抢占、资源争用等)终止之前立即调用。如果容器崩溃或退出,则不会调用此处理程序。Pod 的终止宽限期倒计时在执行 PreStop 钩子之前开始。无论处理程序的结果如何,容器最终都会在 Pod 的终止宽限期内终止(除非被最终器延迟)。其他容器管理操作将阻塞,直到钩子完成或终止宽限期结束。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

.spec.containers[].lifecycle.postStart

Description

描述

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

sleep

object

对象

Sleep 表示容器在终止前应休眠的持续时间。

tcpSocket

object

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期钩子将在运行时失败。

.spec.containers[].lifecycle.postStart.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.containers[].lifecycle.postStart.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.containers[].lifecycle.postStart.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.containers[].lifecycle.postStart.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.containers[].lifecycle.postStart.sleep

Description

描述

Sleep 表示容器在终止前应休眠的持续时间。

Type

类型

object

对象

Required

必填
  • seconds

Property

属性
Type

类型
Description

描述

seconds

整数

Seconds 是要休眠的秒数。

.spec.containers[].lifecycle.postStart.tcpSocket

Description

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期钩子将在运行时失败。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.containers[].lifecycle.preStop

Description

描述

PreStop 钩子在容器由于 API 请求或管理事件(例如存活性/启动探针失败、抢占、资源争用等)终止之前立即调用。如果容器崩溃或退出,则不会调用此处理程序。Pod 的终止宽限期倒计时在执行 PreStop 钩子之前开始。无论处理程序的结果如何,容器最终都会在 Pod 的终止宽限期内终止(除非被最终器延迟)。其他容器管理操作将阻塞,直到钩子完成或终止宽限期结束。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

sleep

object

对象

Sleep 表示容器在终止前应休眠的持续时间。

tcpSocket

object

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期钩子将在运行时失败。

.spec.containers[].lifecycle.preStop.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.containers[].lifecycle.preStop.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.containers[].lifecycle.preStop.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.containers[].lifecycle.preStop.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.containers[].lifecycle.preStop.sleep

Description

描述

Sleep 表示容器在终止前应休眠的持续时间。

Type

类型

object

对象

Required

必填
  • seconds

Property

属性
Type

类型
Description

描述

seconds

整数

Seconds 是要休眠的秒数。

.spec.containers[].lifecycle.preStop.tcpSocket

Description

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期钩子将在运行时失败。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.containers[].livenessProbe

Description

描述

容器存活状态的定期探测。如果探测失败,容器将被重启。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

failureThreshold

整数

探针在成功后被认为失败的最小连续失败次数。默认为 3。最小值为 1。

grpc

object

对象

GRPC 指定一个涉及 GRPC 端口的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

initialDelaySeconds

整数

容器启动后开始进行存活性探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。

successThreshold

整数

探针在失败后被认为成功的最小连续成功次数。默认为 1。对于存活性探针和启动探针必须为 1。最小值为 1。

tcpSocket

object

对象

TCPSocket 指定一个涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号和使用 kill 信号强制停止进程之间的时间(以秒为单位)。将此值设置为超过进程的预期清理时间。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭的机会)。这是一个 Beta 字段,需要启用 ProbeTerminationGracePeriod 功能开关。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

.spec.containers[].livenessProbe.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.containers[].livenessProbe.grpc

Description

描述

GRPC 指定一个涉及 GRPC 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

端口

整数

gRPC 服务的端口号。编号必须在 1 到 65535 的范围内。

service

string

字符串

要在 gRPC HealthCheckRequest 中放置的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果未指定,则默认行为由 gRPC 定义。

.spec.containers[].livenessProbe.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.containers[].livenessProbe.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.containers[].livenessProbe.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.containers[].livenessProbe.tcpSocket

Description

描述

TCPSocket 指定一个涉及 TCP 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.containers[].ports

Description

描述

要从容器中暴露的端口列表。此处不指定端口并不会阻止该端口被暴露。容器内监听默认“0.0.0.0”地址的任何端口都可从网络访问。使用战略性合并补丁修改此数组可能会损坏数据。

Type

类型

数组

.spec.containers[].ports[]

Description

描述

ContainerPort 表示单个容器中的网络端口。

Type

类型

object

对象

Required

必填
  • containerPort

Property

属性
Type

类型
Description

描述

containerPort

整数

要在 Pod 的 IP 地址上公开的端口号。这必须是一个有效的端口号,0 < x < 65536。

hostIP

string

字符串

将外部端口绑定到的主机 IP。

hostPort

整数

要在主机上公开的端口号。如果指定,这必须是一个有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则这必须与 ContainerPort 匹配。大多数容器不需要这个。

name

string

字符串

如果指定,这必须是 IANA_SVC_NAME 并且在 Pod 内唯一。Pod 中的每个命名端口都必须具有唯一的名称。可以由服务引用的端口名称。

protocol

string

字符串

端口协议。必须是 UDP、TCP 或 SCTP。默认为“TCP”。

.spec.containers[].readinessProbe

Description

描述

容器服务就绪状态的定期探测。如果探测失败,容器将从服务端点中移除。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

failureThreshold

整数

探针在成功后被认为失败的最小连续失败次数。默认为 3。最小值为 1。

grpc

object

对象

GRPC 指定一个涉及 GRPC 端口的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

initialDelaySeconds

整数

容器启动后开始进行存活性探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。

successThreshold

整数

探针在失败后被认为成功的最小连续成功次数。默认为 1。对于存活性探针和启动探针必须为 1。最小值为 1。

tcpSocket

object

对象

TCPSocket 指定一个涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号和使用 kill 信号强制停止进程之间的时间(以秒为单位)。将此值设置为超过进程的预期清理时间。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭的机会)。这是一个 Beta 字段,需要启用 ProbeTerminationGracePeriod 功能开关。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

.spec.containers[].readinessProbe.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.containers[].readinessProbe.grpc

Description

描述

GRPC 指定一个涉及 GRPC 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

端口

整数

gRPC 服务的端口号。编号必须在 1 到 65535 的范围内。

service

string

字符串

要在 gRPC HealthCheckRequest 中放置的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果未指定,则默认行为由 gRPC 定义。

.spec.containers[].readinessProbe.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.containers[].readinessProbe.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.containers[].readinessProbe.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.containers[].readinessProbe.tcpSocket

Description

描述

TCPSocket 指定一个涉及 TCP 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.containers[].resizePolicy

Description

描述

容器的资源调整策略。

Type

类型

数组

.spec.containers[].resizePolicy[]

Description

描述

ContainerResizePolicy 表示容器的资源调整策略。

Type

类型

object

对象

Required

必填
  • resourceName

  • restartPolicy

Property

属性
Type

类型
Description

描述

resourceName

string

字符串

应用此资源调整策略的资源名称。支持的值:cpu、memory。

restartPolicy

string

字符串

调整指定资源时要应用的重启策略。如果未指定,则默认为 NotRequired。

.spec.containers[].resources

Description

描述

此容器所需的计算资源。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

claims

数组

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。

此字段是不可变的。它只能为容器设置。

claims[]

object

对象

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.containers[].resources.claims

Description

描述

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。

此字段是不可变的。它只能为容器设置。

Type

类型

数组

.spec.containers[].resources.claims[]

Description

描述

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

名称必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内可用。

.spec.containers[].securityContext

Description

描述

SecurityContext 定义了容器应运行的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

allowPrivilegeEscalation

布尔值

AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的权限。此布尔值直接控制容器进程上是否设置 no_new_privs 标志。当容器:1) 作为特权运行 2) 具有 CAP_SYS_ADMIN 时,AllowPrivilegeEscalation 始终为 true。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

appArmorProfile

object

对象

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

capabilities

object

对象

运行容器时要添加/删除的功能。默认为容器运行时授予的功能的默认集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

privileged

布尔值

以特权模式运行容器。特权容器中的进程基本上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

procMount

string

字符串

procMount 表示要为容器使用的 proc 挂载类型。默认为 DefaultProcMount,它使用容器运行时针对只读路径和屏蔽路径的默认值。这需要启用 ProcMountType 功能标志。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

readOnlyRootFilesystem

布尔值

此容器是否具有只读根文件系统。默认为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

runAsGroup

整数

运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

runAsNonRoot

布尔值

指示容器必须以非 root 用户身份运行。如果为 true,则 Kubelet 将在运行时验证映像以确保它不以 UID 0(root)身份运行,如果确实如此,则启动容器失败。如果未设置或为 false,则不会执行此类验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。

runAsUser

整数

运行容器进程入口点的 UID。如果未指定,则默认为映像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

seLinuxOptions

object

对象

要应用于容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

seccompProfile

object

对象

此容器要使用的 seccomp 选项。如果在 pod 和容器级别都提供了 seccomp 选项,则容器选项将覆盖 pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

windowsOptions

object

对象

应用于所有容器的 Windows 特定设置。如果未指定,将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

.spec.containers[].securityContext.appArmorProfile

Description

描述

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

object

对象

Required

必填
  • type

Property

属性
Type

类型
Description

描述

localhostProfile

string

字符串

localhostProfile 指示应使用在节点上加载的配置文件。配置文件必须预先配置在节点上才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时才必须设置。

type

string

字符串

type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。

.spec.containers[].securityContext.capabilities

Description

描述

运行容器时要添加/删除的功能。默认为容器运行时授予的功能的默认集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

add

数组 (字符串)

添加的功能

drop

数组 (字符串)

删除的功能

.spec.containers[].securityContext.seLinuxOptions

Description

描述

要应用于容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

level

string

字符串

Level 是应用于容器的 SELinux 等级标签。

role

string

字符串

Role 是应用于容器的 SELinux 角色标签。

type

string

字符串

Type 是应用于容器的 SELinux 类型标签。

user

string

字符串

User 是应用于容器的 SELinux 用户标签。

.spec.containers[].securityContext.seccompProfile

Description

描述

此容器要使用的 seccomp 选项。如果在 pod 和容器级别都提供了 seccomp 选项,则容器选项将覆盖 pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

object

对象

Required

必填
  • type

Property

属性
Type

类型
Description

描述

localhostProfile

string

字符串

localhostProfile 指示应使用节点上文件定义的配置文件。配置文件必须预先配置在节点上才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的递减路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,则不能设置。

type

string

字符串

type 指示将应用哪种 seccomp 配置文件。有效选项为

Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。

.spec.containers[].securityContext.windowsOptions

Description

描述

应用于所有容器的 Windows 特定设置。如果未指定,将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

gmsaCredentialSpec

string

字符串

GMSACredentialSpec 定义了 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 内联 GMSACredentialSpecName 字段指定的 GMSA 凭据规范的内容。

gmsaCredentialSpecName

string

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。

hostProcess

布尔值

HostProcess 决定容器是否应作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。

runAsUserName

string

字符串

在 Windows 中运行容器进程入口点的用户名。如果未指定,则默认为映像元数据中指定的用户名。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值优先。

.spec.containers[].startupProbe

Description

描述

StartupProbe 指示 Pod 已成功初始化。如果指定,则在该探针成功完成之前不会执行其他探针。如果此探针失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探针参数,此时加载数据或预热缓存可能需要很长时间,而稳态运行期间则不需要。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

failureThreshold

整数

探针在成功后被认为失败的最小连续失败次数。默认为 3。最小值为 1。

grpc

object

对象

GRPC 指定一个涉及 GRPC 端口的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

initialDelaySeconds

整数

容器启动后开始进行存活性探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。

successThreshold

整数

探针在失败后被认为成功的最小连续成功次数。默认为 1。对于存活性探针和启动探针必须为 1。最小值为 1。

tcpSocket

object

对象

TCPSocket 指定一个涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号和使用 kill 信号强制停止进程之间的时间(以秒为单位)。将此值设置为超过进程的预期清理时间。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭的机会)。这是一个 Beta 字段,需要启用 ProbeTerminationGracePeriod 功能开关。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

.spec.containers[].startupProbe.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.containers[].startupProbe.grpc

Description

描述

GRPC 指定一个涉及 GRPC 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

端口

整数

gRPC 服务的端口号。编号必须在 1 到 65535 的范围内。

service

string

字符串

要在 gRPC HealthCheckRequest 中放置的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果未指定,则默认行为由 gRPC 定义。

.spec.containers[].startupProbe.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.containers[].startupProbe.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.containers[].startupProbe.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.containers[].startupProbe.tcpSocket

Description

描述

TCPSocket 指定一个涉及 TCP 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.containers[].volumeDevices

Description

描述

volumeDevices 是容器要使用的块设备列表。

Type

类型

数组

.spec.containers[].volumeDevices[]

Description

描述

volumeDevice 描述了容器内原始块设备的映射。

Type

类型

object

对象

Required

必填
  • devicePath

  • name

Property

属性
Type

类型
Description

描述

devicePath

string

字符串

devicePath 是容器内部设备将映射到的路径。

name

string

字符串

名称必须与 Pod 中的 persistentVolumeClaim 名称匹配。

.spec.containers[].volumeMounts

Description

描述

要安装到容器文件系统的 Pod 卷。无法更新。

Type

类型

数组

.spec.containers[].volumeMounts[]

Description

描述

VolumeMount 描述在容器内挂载卷。

Type

类型

object

对象

Required

必填
  • mountPath

  • name

Property

属性
Type

类型
Description

描述

mountPath

string

字符串

容器中应挂载卷的路径。不能包含“:”。

mountPropagation

string

字符串

mountPropagation 决定如何将挂载从主机传播到容器,反之亦然。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中为 Beta 版本。如果 RecursiveReadOnly 设置为 IfPossible 或 Enabled,则 MountPropagation 必须为 None 或未指定(默认为 None)。

name

string

字符串

这必须与卷的名称匹配。

readOnly

布尔值

如果为 true,则以只读方式挂载;否则以读写方式挂载(false 或未指定)。默认为 false。

recursiveReadOnly

string

字符串

RecursiveReadOnly 指定是否应递归处理只读挂载。

如果 ReadOnly 为 false,则此字段无意义,必须未指定。

如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会递归地将挂载设置为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则会递归地将挂载设置为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则会递归地将挂载设置为只读;否则,Pod 将不会启动,并且会生成错误以指示原因。

如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。

如果未指定此字段,则将其视为等效于 Disabled。

subPath

string

字符串

容器的卷应从中挂载的卷内的路径。默认为 ""(卷的根目录)。

subPathExpr

string

字符串

容器的卷应从中挂载的卷内的展开路径。行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 使用容器的环境进行展开。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 互斥。

.spec.excludedFromEnforcement

Description

描述

要从强制执行源命名空间标签中排除的PodMonitor、ServiceMonitor、Probe和PrometheusRule对象的引用列表。

仅当spec.enforcedNamespaceLabel设置为true时才适用。

Type

类型

数组

.spec.excludedFromEnforcement[]

Description

描述

ObjectReference引用PodMonitor、ServiceMonitor、Probe或PrometheusRule对象。

Type

类型

object

对象

Required

必填
  • 命名空间

  • resource

Property

属性
Type

类型
Description

描述

group

string

字符串

引用的组。如果未指定,则默认为 monitoring.coreos.com

name

string

字符串

引用的名称。如果未设置,则匹配命名空间中的所有资源。

命名空间

string

字符串

引用的命名空间。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/namespaces/

resource

string

字符串

引用的资源。

.spec.exemplars

Description

描述

与示例相关的设置,可在运行时重新加载。它需要启用exemplar-storage功能标志才能生效。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

maxSize

整数

为所有序列存储在内存中的示例的最大数量。

首先必须使用 spec.enableFeature 选项启用示例存储才能抓取示例。

如果未设置,Prometheus 将使用其默认值。值为零或小于零将禁用存储。

.spec.hostAliases

Description

描述

如果指定,则将注入到Pod的主机文件中的一组可选主机和IP。

Type

类型

数组

.spec.hostAliases[]

Description

描述

HostAlias保存IP和主机名之间的映射,这些映射将作为条目注入到Pod的主机文件中。

Type

类型

object

对象

Required

必填
  • hostnames

  • ip

Property

属性
Type

类型
Description

描述

hostnames

数组 (字符串)

上述 IP 地址的主机名。

ip

string

字符串

主机文件条目的 IP 地址。

.spec.imagePullSecrets

Description

描述

从注册表拉取镜像时,用于同一命名空间中Secrets的可选引用列表。请参见 https://kubernetes.ac.cn/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod

Type

类型

数组

.spec.imagePullSecrets[]

Description

描述

LocalObjectReference包含足够的信息,让您可以在同一命名空间内找到引用的对象。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.initContainers

Description

描述

InitContainers允许将initContainers注入到Pod定义中。这些可以用于例如从外部来源获取用于注入到Prometheus配置中的密钥。initContainer执行期间的任何错误都将导致Pod重启。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/init-containers/ 此处描述的InitContainers如果具有相同的名称并且修改是通过策略性合并补丁完成的,则会修改操作员生成的init容器。

操作员管理的init容器名称为:* init-config-reloader

覆盖init容器完全不在维护者将支持的范围内,这样做意味着您接受此行为可能会随时中断而无需通知。

Type

类型

数组

.spec.initContainers[]

Description

描述

您想要在 Pod 中运行的单个应用程序容器。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

args

数组 (字符串)

传递给入口点的参数。如果未提供此参数,则使用容器镜像的 CMD。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符将简化为单个美元符,这允许转义 $(VAR_NAME) 语法:例如,“(VAR_NAME)”将生成字符串字面量“$(VAR_NAME)”。转义的引用将永远不会被扩展,无论变量是否存在。

command

数组 (字符串)

入口点数组。不在 shell 中执行。如果未提供此参数,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符将简化为单个美元符,这允许转义 $(VAR_NAME) 语法:例如,“(VAR_NAME)”将生成字符串字面量“$(VAR_NAME)”。转义的引用将永远不会被扩展,无论变量是否存在。

env

数组

要在容器中设置的环境变量列表。

env[]

object

对象

EnvVar 表示容器中存在的环境变量。

envFrom

数组

用于填充容器中环境变量的来源列表。来源中定义的键必须是 C_IDENTIFIER。所有无效的键都将在容器启动时作为事件报告。当一个键存在于多个来源时,最后一个来源关联的值将优先。Env 中定义的具有重复键的值将优先。

envFrom[]

object

对象

EnvFromSource 表示一组 ConfigMaps 的来源。

image

string

字符串

容器镜像名称。此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployment 和 StatefulSet)中的容器镜像。

imagePullPolicy

string

字符串

镜像拉取策略。Always、Never、IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。

lifecycle

object

对象

管理系统应针对容器生命周期事件采取的操作。

livenessProbe

object

对象

容器存活状态的定期探测。如果探测失败,容器将被重启。

name

string

字符串

指定为 DNS_LABEL 的容器名称。pod 中的每个容器必须具有唯一的名称 (DNS_LABEL)。

ports

数组

要从容器中暴露的端口列表。此处不指定端口并不会阻止该端口被暴露。容器内监听默认“0.0.0.0”地址的任何端口都可从网络访问。使用战略性合并补丁修改此数组可能会损坏数据。

ports[]

object

对象

ContainerPort 表示单个容器中的网络端口。

readinessProbe

object

对象

容器服务就绪状态的定期探测。如果探测失败,容器将从服务端点中移除。

resizePolicy

数组

容器的资源调整策略。

resizePolicy[]

object

对象

ContainerResizePolicy 表示容器的资源调整策略。

resources

object

对象

此容器所需的计算资源。

restartPolicy

string

字符串

RestartPolicy 定义了 Pod 中单个容器的重启行为。此字段只能为 init 容器设置,且唯一允许的值为“Always”。对于非 init 容器或未指定此字段的情况,重启行为由 Pod 的重启策略和容器类型定义。为 init 容器设置 RestartPolicy 为“Always”将产生以下效果:此 init 容器将在退出时持续重启,直到所有常规容器都终止。一旦所有常规容器都完成,所有具有 restartPolicy 为“Always”的 init 容器都将关闭。此生命周期与普通 init 容器不同,通常被称为“sidecar”容器。尽管此 init 容器仍在 init 容器序列中启动,但在继续下一个 init 容器之前,它不会等待容器完成。相反,下一个 init 容器会在启动此 init 容器之后或任何 startupProbe 成功完成之后立即启动。

securityContext

object

对象

SecurityContext 定义了容器应运行的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/

startupProbe

object

对象

StartupProbe 指示 Pod 已成功初始化。如果指定,则在该探针成功完成之前不会执行其他探针。如果此探针失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探针参数,此时加载数据或预热缓存可能需要很长时间,而稳态运行期间则不需要。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

布尔值

此容器是否应在容器运行时分配 stdin 的缓冲区。如果未设置,则容器中来自 stdin 的读取将始终导致 EOF。默认为 false。

stdinOnce

布尔值

容器运行时是否应在单个附加操作打开 stdin 通道后关闭它。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果将 stdinOnce 设置为 true,则在容器启动时打开 stdin,在第一个客户端附加到 stdin 之前为空,然后保持打开状态并接受数据,直到客户端断开连接,此时 stdin 关闭并保持关闭状态,直到容器重新启动。如果此标志为 false,则从 stdin 读取的容器进程将永远不会收到 EOF。默认为 false

terminationMessagePath

string

字符串

可选:将容器终止消息写入的文件安装到容器文件系统的路径。写入的消息旨在简短地显示最终状态,例如断言失败消息。如果大于 4096 字节,则节点将对其进行截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。

terminationMessagePolicy

string

字符串

指示应如何填充终止消息。File 将使用 terminationMessagePath 的内容在成功和失败时填充容器状态消息。FallbackToLogsOnError 如果终止消息文件为空且容器以错误退出,则将使用容器日志输出的最后一段。日志输出限制为 2048 字节或 80 行,取较小值。默认为 File。无法更新。

tty

布尔值

此容器是否应为自己分配一个 TTY,也需要 'stdin' 为 true。默认为 false。

volumeDevices

数组

volumeDevices 是容器要使用的块设备列表。

volumeDevices[]

object

对象

volumeDevice 描述了容器内原始块设备的映射。

volumeMounts

数组

要安装到容器文件系统的 Pod 卷。无法更新。

volumeMounts[]

object

对象

VolumeMount 描述在容器内挂载卷。

workingDir

string

字符串

容器的工作目录。如果未指定,则将使用容器运行时的默认值,这可能在容器镜像中配置。无法更新。

.spec.initContainers[].env

Description

描述

要在容器中设置的环境变量列表。

Type

类型

数组

.spec.initContainers[].env[]

Description

描述

EnvVar 表示容器中存在的环境变量。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

环境变量的名称。必须是 C_IDENTIFIER。

string

字符串

变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将减少为单个美元符号,这允许转义 $(VAR_NAME) 语法:即“(VAR_NAME)”将产生字符串字面量“$(VAR_NAME)” 。转义的引用将永远不会扩展,无论变量是否存在。

valueFrom

object

对象

环境变量值的来源。如果 value 不为空,则不能使用。

.spec.initContainers[].env[].valueFrom

Description

描述

环境变量值的来源。如果 value 不为空,则不能使用。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMapKeyRef

object

对象

选择 ConfigMap 的键。

fieldRef

object

对象

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

resourceFieldRef

object

对象

选择容器的资源:当前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

secretKeyRef

object

对象

选择 Pod 命名空间中的密钥。

.spec.initContainers[].env[].valueFrom.configMapKeyRef

Description

描述

选择 ConfigMap 的键。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.initContainers[].env[].valueFrom.fieldRef

Description

描述

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

Type

类型

object

对象

Required

必填
  • fieldPath

Property

属性
Type

类型
Description

描述

apiVersion

API 版本

string

字符串

FieldPath 的模式版本,默认为“v1”。

fieldPath

string

字符串

在指定的 API 版本中选择的字段的路径。

.spec.initContainers[].env[].valueFrom.resourceFieldRef

Description

描述

选择容器的资源:当前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

Type

类型

object

对象

Required

必填
  • resource

Property

属性
Type

类型
Description

描述

containerName

string

字符串

容器名称:卷需要,环境变量可选

divisor

整数或字符串

指定公开资源的输出格式,默认为“1”

resource

string

字符串

必需:要选择的资源

.spec.initContainers[].env[].valueFrom.secretKeyRef

Description

描述

选择 Pod 命名空间中的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.initContainers[].envFrom

Description

描述

用于填充容器中环境变量的来源列表。来源中定义的键必须是 C_IDENTIFIER。所有无效的键都将在容器启动时作为事件报告。当一个键存在于多个来源时,最后一个来源关联的值将优先。Env 中定义的具有重复键的值将优先。

Type

类型

数组

.spec.initContainers[].envFrom[]

Description

描述

EnvFromSource 表示一组 ConfigMaps 的来源。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMapRef

object

对象

要从中选择的 ConfigMap

prefix

string

字符串

一个可选的标识符,用于在 ConfigMap 中每个键的前面添加。必须是 C_IDENTIFIER。

secretRef

object

对象

要从中选择的 Secret

.spec.initContainers[].envFrom[].configMapRef

Description

描述

要从中选择的 ConfigMap

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap

.spec.initContainers[].envFrom[].secretRef

Description

描述

要从中选择的 Secret

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret

.spec.initContainers[].lifecycle

Description

描述

管理系统应针对容器生命周期事件采取的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

postStart

object

对象

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

object

对象

PreStop 钩子在容器由于 API 请求或管理事件(例如存活性/启动探针失败、抢占、资源争用等)终止之前立即调用。如果容器崩溃或退出,则不会调用此处理程序。Pod 的终止宽限期倒计时在执行 PreStop 钩子之前开始。无论处理程序的结果如何,容器最终都会在 Pod 的终止宽限期内终止(除非被最终器延迟)。其他容器管理操作将阻塞,直到钩子完成或终止宽限期结束。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

.spec.initContainers[].lifecycle.postStart

Description

描述

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

sleep

object

对象

Sleep 表示容器在终止前应休眠的持续时间。

tcpSocket

object

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期钩子将在运行时失败。

.spec.initContainers[].lifecycle.postStart.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.initContainers[].lifecycle.postStart.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.initContainers[].lifecycle.postStart.sleep

Description

描述

Sleep 表示容器在终止前应休眠的持续时间。

Type

类型

object

对象

Required

必填
  • seconds

Property

属性
Type

类型
Description

描述

seconds

整数

Seconds 是要休眠的秒数。

.spec.initContainers[].lifecycle.postStart.tcpSocket

Description

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期钩子将在运行时失败。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.initContainers[].lifecycle.preStop

Description

描述

PreStop 钩子在容器由于 API 请求或管理事件(例如存活性/启动探针失败、抢占、资源争用等)终止之前立即调用。如果容器崩溃或退出,则不会调用此处理程序。Pod 的终止宽限期倒计时在执行 PreStop 钩子之前开始。无论处理程序的结果如何,容器最终都会在 Pod 的终止宽限期内终止(除非被最终器延迟)。其他容器管理操作将阻塞,直到钩子完成或终止宽限期结束。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

sleep

object

对象

Sleep 表示容器在终止前应休眠的持续时间。

tcpSocket

object

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期钩子将在运行时失败。

.spec.initContainers[].lifecycle.preStop.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.initContainers[].lifecycle.preStop.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.initContainers[].lifecycle.preStop.sleep

Description

描述

Sleep 表示容器在终止前应休眠的持续时间。

Type

类型

object

对象

Required

必填
  • seconds

Property

属性
Type

类型
Description

描述

seconds

整数

Seconds 是要休眠的秒数。

.spec.initContainers[].lifecycle.preStop.tcpSocket

Description

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期钩子将在运行时失败。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.initContainers[].livenessProbe

Description

描述

容器存活状态的定期探测。如果探测失败,容器将被重启。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

failureThreshold

整数

探针在成功后被认为失败的最小连续失败次数。默认为 3。最小值为 1。

grpc

object

对象

GRPC 指定一个涉及 GRPC 端口的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

initialDelaySeconds

整数

容器启动后开始进行存活性探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。

successThreshold

整数

探针在失败后被认为成功的最小连续成功次数。默认为 1。对于存活性探针和启动探针必须为 1。最小值为 1。

tcpSocket

object

对象

TCPSocket 指定一个涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号和使用 kill 信号强制停止进程之间的时间(以秒为单位)。将此值设置为超过进程的预期清理时间。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭的机会)。这是一个 Beta 字段,需要启用 ProbeTerminationGracePeriod 功能开关。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

.spec.initContainers[].livenessProbe.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.initContainers[].livenessProbe.grpc

Description

描述

GRPC 指定一个涉及 GRPC 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

端口

整数

gRPC 服务的端口号。编号必须在 1 到 65535 的范围内。

service

string

字符串

要在 gRPC HealthCheckRequest 中放置的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果未指定,则默认行为由 gRPC 定义。

.spec.initContainers[].livenessProbe.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.initContainers[].livenessProbe.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.initContainers[].livenessProbe.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.initContainers[].livenessProbe.tcpSocket

Description

描述

TCPSocket 指定一个涉及 TCP 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.initContainers[].ports

Description

描述

要从容器中暴露的端口列表。此处不指定端口并不会阻止该端口被暴露。容器内监听默认“0.0.0.0”地址的任何端口都可从网络访问。使用战略性合并补丁修改此数组可能会损坏数据。

Type

类型

数组

.spec.initContainers[].ports[]

Description

描述

ContainerPort 表示单个容器中的网络端口。

Type

类型

object

对象

Required

必填
  • containerPort

Property

属性
Type

类型
Description

描述

containerPort

整数

要在 Pod 的 IP 地址上公开的端口号。这必须是一个有效的端口号,0 < x < 65536。

hostIP

string

字符串

将外部端口绑定到的主机 IP。

hostPort

整数

要在主机上公开的端口号。如果指定,这必须是一个有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则这必须与 ContainerPort 匹配。大多数容器不需要这个。

name

string

字符串

如果指定,这必须是 IANA_SVC_NAME 并且在 Pod 内唯一。Pod 中的每个命名端口都必须具有唯一的名称。可以由服务引用的端口名称。

protocol

string

字符串

端口协议。必须是 UDP、TCP 或 SCTP。默认为“TCP”。

.spec.initContainers[].readinessProbe

Description

描述

容器服务就绪状态的定期探测。如果探测失败,容器将从服务端点中移除。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

failureThreshold

整数

探针在成功后被认为失败的最小连续失败次数。默认为 3。最小值为 1。

grpc

object

对象

GRPC 指定一个涉及 GRPC 端口的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

initialDelaySeconds

整数

容器启动后开始进行存活性探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。

successThreshold

整数

探针在失败后被认为成功的最小连续成功次数。默认为 1。对于存活性探针和启动探针必须为 1。最小值为 1。

tcpSocket

object

对象

TCPSocket 指定一个涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号和使用 kill 信号强制停止进程之间的时间(以秒为单位)。将此值设置为超过进程的预期清理时间。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭的机会)。这是一个 Beta 字段,需要启用 ProbeTerminationGracePeriod 功能开关。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

.spec.initContainers[].readinessProbe.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.initContainers[].readinessProbe.grpc

Description

描述

GRPC 指定一个涉及 GRPC 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

端口

整数

gRPC 服务的端口号。编号必须在 1 到 65535 的范围内。

service

string

字符串

要在 gRPC HealthCheckRequest 中放置的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果未指定,则默认行为由 gRPC 定义。

.spec.initContainers[].readinessProbe.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.initContainers[].readinessProbe.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.initContainers[].readinessProbe.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.initContainers[].readinessProbe.tcpSocket

Description

描述

TCPSocket 指定一个涉及 TCP 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.initContainers[].resizePolicy

Description

描述

容器的资源调整策略。

Type

类型

数组

.spec.initContainers[].resizePolicy[]

Description

描述

ContainerResizePolicy 表示容器的资源调整策略。

Type

类型

object

对象

Required

必填
  • resourceName

  • restartPolicy

Property

属性
Type

类型
Description

描述

resourceName

string

字符串

应用此资源调整策略的资源名称。支持的值:cpu、memory。

restartPolicy

string

字符串

调整指定资源时要应用的重启策略。如果未指定,则默认为 NotRequired。

.spec.initContainers[].resources

Description

描述

此容器所需的计算资源。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

claims

数组

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。

此字段是不可变的。它只能为容器设置。

claims[]

object

对象

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.initContainers[].resources.claims

Description

描述

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。

此字段是不可变的。它只能为容器设置。

Type

类型

数组

.spec.initContainers[].resources.claims[]

Description

描述

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

名称必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内可用。

.spec.initContainers[].securityContext

Description

描述

SecurityContext 定义了容器应运行的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

allowPrivilegeEscalation

布尔值

AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的权限。此布尔值直接控制容器进程上是否设置 no_new_privs 标志。当容器:1) 作为特权运行 2) 具有 CAP_SYS_ADMIN 时,AllowPrivilegeEscalation 始终为 true。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

appArmorProfile

object

对象

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

capabilities

object

对象

运行容器时要添加/删除的功能。默认为容器运行时授予的功能的默认集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

privileged

布尔值

以特权模式运行容器。特权容器中的进程基本上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

procMount

string

字符串

procMount 表示要为容器使用的 proc 挂载类型。默认为 DefaultProcMount,它使用容器运行时针对只读路径和屏蔽路径的默认值。这需要启用 ProcMountType 功能标志。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

readOnlyRootFilesystem

布尔值

此容器是否具有只读根文件系统。默认为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

runAsGroup

整数

运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

runAsNonRoot

布尔值

指示容器必须以非 root 用户身份运行。如果为 true,则 Kubelet 将在运行时验证映像以确保它不以 UID 0(root)身份运行,如果确实如此,则启动容器失败。如果未设置或为 false,则不会执行此类验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。

runAsUser

整数

运行容器进程入口点的 UID。如果未指定,则默认为映像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

seLinuxOptions

object

对象

要应用于容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

seccompProfile

object

对象

此容器要使用的 seccomp 选项。如果在 pod 和容器级别都提供了 seccomp 选项,则容器选项将覆盖 pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

windowsOptions

object

对象

应用于所有容器的 Windows 特定设置。如果未指定,将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

.spec.initContainers[].securityContext.appArmorProfile

Description

描述

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

object

对象

Required

必填
  • type

Property

属性
Type

类型
Description

描述

localhostProfile

string

字符串

localhostProfile 指示应使用在节点上加载的配置文件。配置文件必须预先配置在节点上才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时才必须设置。

type

string

字符串

type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。

.spec.initContainers[].securityContext.capabilities

Description

描述

运行容器时要添加/删除的功能。默认为容器运行时授予的功能的默认集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

add

数组 (字符串)

添加的功能

drop

数组 (字符串)

删除的功能

.spec.initContainers[].securityContext.seLinuxOptions

Description

描述

要应用于容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

level

string

字符串

Level 是应用于容器的 SELinux 等级标签。

role

string

字符串

Role 是应用于容器的 SELinux 角色标签。

type

string

字符串

Type 是应用于容器的 SELinux 类型标签。

user

string

字符串

User 是应用于容器的 SELinux 用户标签。

.spec.initContainers[].securityContext.seccompProfile

Description

描述

此容器要使用的 seccomp 选项。如果在 pod 和容器级别都提供了 seccomp 选项,则容器选项将覆盖 pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

object

对象

Required

必填
  • type

Property

属性
Type

类型
Description

描述

localhostProfile

string

字符串

localhostProfile 指示应使用节点上文件定义的配置文件。配置文件必须预先配置在节点上才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的递减路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,则不能设置。

type

string

字符串

type 指示将应用哪种 seccomp 配置文件。有效选项为

Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。

.spec.initContainers[].securityContext.windowsOptions

Description

描述

应用于所有容器的 Windows 特定设置。如果未指定,将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

gmsaCredentialSpec

string

字符串

GMSACredentialSpec 定义了 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 内联 GMSACredentialSpecName 字段指定的 GMSA 凭据规范的内容。

gmsaCredentialSpecName

string

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。

hostProcess

布尔值

HostProcess 决定容器是否应作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。

runAsUserName

string

字符串

在 Windows 中运行容器进程入口点的用户名。如果未指定,则默认为映像元数据中指定的用户名。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值优先。

.spec.initContainers[].startupProbe

Description

描述

StartupProbe 指示 Pod 已成功初始化。如果指定,则在该探针成功完成之前不会执行其他探针。如果此探针失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探针参数,此时加载数据或预热缓存可能需要很长时间,而稳态运行期间则不需要。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

exec

object

对象

Exec 指定要执行的操作。

failureThreshold

整数

探针在成功后被认为失败的最小连续失败次数。默认为 3。最小值为 1。

grpc

object

对象

GRPC 指定一个涉及 GRPC 端口的操作。

httpGet

object

对象

HTTPGet 指定要执行的 HTTP 请求。

initialDelaySeconds

整数

容器启动后开始进行存活性探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。

successThreshold

整数

探针在失败后被认为成功的最小连续成功次数。默认为 1。对于存活性探针和启动探针必须为 1。最小值为 1。

tcpSocket

object

对象

TCPSocket 指定一个涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号和使用 kill 信号强制停止进程之间的时间(以秒为单位)。将此值设置为超过进程的预期清理时间。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭的机会)。这是一个 Beta 字段,需要启用 ProbeTerminationGracePeriod 功能开关。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

.spec.initContainers[].startupProbe.exec

Description

描述

Exec 指定要执行的操作。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

command

数组 (字符串)

Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,不会在 shell 中运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要显式调用该 shell。退出状态 0 被视为存活/健康,非零状态为不健康。

.spec.initContainers[].startupProbe.grpc

Description

描述

GRPC 指定一个涉及 GRPC 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

端口

整数

gRPC 服务的端口号。编号必须在 1 到 65535 的范围内。

service

string

字符串

要在 gRPC HealthCheckRequest 中放置的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果未指定,则默认行为由 gRPC 定义。

.spec.initContainers[].startupProbe.httpGet

Description

描述

HTTPGet 指定要执行的 HTTP 请求。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

要连接到的主机名,默认为 Pod IP。您可能需要在 httpHeaders 中设置“Host”。

httpHeaders

数组

要设置在请求中的自定义标头。HTTP 允许重复标头。

httpHeaders[]

object

对象

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

path

string

字符串

在 HTTP 服务器上访问的路径。

端口

整数或字符串

要访问容器上端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

string

字符串

用于连接到主机的方案。默认为 HTTP。

.spec.initContainers[].startupProbe.httpGet.httpHeaders

Description

描述

要设置在请求中的自定义标头。HTTP 允许重复标头。

Type

类型

数组

.spec.initContainers[].startupProbe.httpGet.httpHeaders[]

Description

描述

HTTPHeader 描述要在 HTTP 探针中使用的自定义标头。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

标头字段名称。这将在输出时规范化,因此大小写不同的名称将被理解为相同的标头。

string

字符串

标头字段值。

.spec.initContainers[].startupProbe.tcpSocket

Description

描述

TCPSocket 指定一个涉及 TCP 端口的操作。

Type

类型

object

对象

Required

必填
  • 端口

Property

属性
Type

类型
Description

描述

host

string

字符串

可选:要连接到的主机名,默认为 Pod IP。

端口

整数或字符串

要访问容器上端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.initContainers[].volumeDevices

Description

描述

volumeDevices 是容器要使用的块设备列表。

Type

类型

数组

.spec.initContainers[].volumeDevices[]

Description

描述

volumeDevice 描述了容器内原始块设备的映射。

Type

类型

object

对象

Required

必填
  • devicePath

  • name

Property

属性
Type

类型
Description

描述

devicePath

string

字符串

devicePath 是容器内部设备将映射到的路径。

name

string

字符串

名称必须与 Pod 中的 persistentVolumeClaim 名称匹配。

.spec.initContainers[].volumeMounts

Description

描述

要安装到容器文件系统的 Pod 卷。无法更新。

Type

类型

数组

.spec.initContainers[].volumeMounts[]

Description

描述

VolumeMount 描述在容器内挂载卷。

Type

类型

object

对象

Required

必填
  • mountPath

  • name

Property

属性
Type

类型
Description

描述

mountPath

string

字符串

容器中应挂载卷的路径。不能包含“:”。

mountPropagation

string

字符串

mountPropagation 决定如何将挂载从主机传播到容器,反之亦然。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中为 Beta 版本。如果 RecursiveReadOnly 设置为 IfPossible 或 Enabled,则 MountPropagation 必须为 None 或未指定(默认为 None)。

name

string

字符串

这必须与卷的名称匹配。

readOnly

布尔值

如果为 true,则以只读方式挂载;否则以读写方式挂载(false 或未指定)。默认为 false。

recursiveReadOnly

string

字符串

RecursiveReadOnly 指定是否应递归处理只读挂载。

如果 ReadOnly 为 false,则此字段无意义,必须未指定。

如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会递归地将挂载设置为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则会递归地将挂载设置为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则会递归地将挂载设置为只读;否则,Pod 将不会启动,并且会生成错误以指示原因。

如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。

如果未指定此字段,则将其视为等效于 Disabled。

subPath

string

字符串

容器的卷应从中挂载的卷内的路径。默认为 ""(卷的根目录)。

subPathExpr

string

字符串

容器的卷应从中挂载的卷内的展开路径。行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 使用容器的环境进行展开。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 互斥。

.spec.persistentVolumeClaimRetentionPolicy

Description

描述

该字段控制在 StatefulSet 的生命周期中是否以及如何删除 PVC。默认行为是保留所有 PVC。这是 Kubernetes 1.23 到 1.26 的 alpha 字段,以及 1.26 的 beta 字段。它需要启用 StatefulSetAutoDeletePVC 功能开关。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

whenDeleted

string

字符串

当删除 StatefulSet 时,WhenDeleted 指定对从 StatefulSet VolumeClaimTemplates 创建的 PVC 执行的操作。默认策略 `Retain` 导致 PVC 不受 StatefulSet 删除的影响。`Delete` 策略会导致这些 PVC 被删除。

whenScaled

string

字符串

WhenScaled 指定当 StatefulSet 缩容时,对从 StatefulSet VolumeClaimTemplates 创建的 PVC 执行的操作。默认策略 `Retain` 导致 PVC 不受缩容的影响。`Delete` 策略会导致任何超过副本数量的多余 Pod 的关联 PVC 被删除。

.spec.podMetadata

Description

描述

PodMetadata 配置传播到 Prometheus pod 的标签和注释。

以下项目是保留的,不能被覆盖:* “prometheus”标签,设置为 Prometheus 对象的名称。* “app.kubernetes.io/instance”标签,设置为 Prometheus 对象的名称。* “app.kubernetes.io/managed-by”标签,设置为“prometheus-operator”。* “app.kubernetes.io/name”标签,设置为“prometheus”。* “app.kubernetes.io/version”标签,设置为 Prometheus 版本。* “operator.prometheus.io/name”标签,设置为 Prometheus 对象的名称。* “operator.prometheus.io/shard”标签,设置为 Prometheus 对象的分片号。* “kubectl.kubernetes.io/default-container”注释,设置为“prometheus”。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

annotations

对象(字符串)

Annotations 是存储在资源中的非结构化键值映射,外部工具可以使用它来存储和检索任意元数据。它们不可查询,在修改对象时应予以保留。更多信息:https://kubernetes.ac.cn/docs/user-guide/annotations

labels

对象(字符串)

字符串键值对的映射,可用于组织和分类(范围和选择)对象。可能与复制控制器和服务的选取器匹配。更多信息:https://kubernetes.ac.cn/docs/user-guide/labels

name

string

字符串

名称在命名空间内必须唯一。创建资源时是必需的,尽管某些资源可能允许客户端自动请求生成合适的名称。名称主要用于创建幂等性和配置定义。无法更新。更多信息:https://kubernetes.ac.cn/docs/user-guide/identifiers#names

.spec.podMonitorNamespaceSelector

Description

描述

要匹配 PodMonitors 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器(默认值)仅匹配当前命名空间。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.podMonitorNamespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.podMonitorNamespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.podMonitorSelector

Description

描述

要选择用于目标发现的 PodMonitors。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

如果spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelectorspec.scrapeConfigSelector为空,则 Prometheus 配置不受管理。Prometheus 运算符将确保 Prometheus 配置的 Secret 存在,但用户有责任在prometheus.yaml.gz密钥下提供原始的 gzip 压缩的 Prometheus 配置。此行为已弃用,将在自定义资源定义的下一个主要版本中删除。建议改用spec.additionalScrapeConfigs

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.podMonitorSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.podMonitorSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.probeNamespaceSelector

Description

描述

要匹配 Probe 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器仅匹配当前命名空间。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.probeNamespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.probeNamespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.probeSelector

Description

描述

要选择用于目标发现的探针。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

如果spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelectorspec.scrapeConfigSelector为空,则 Prometheus 配置不受管理。Prometheus 运算符将确保 Prometheus 配置的 Secret 存在,但用户有责任在prometheus.yaml.gz密钥下提供原始的 gzip 压缩的 Prometheus 配置。此行为已弃用,将在自定义资源定义的下一个主要版本中删除。建议改用spec.additionalScrapeConfigs

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.probeSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.probeSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.prometheusRulesExcludedFromEnforce

Description

描述

定义不应用命名空间标签强制执行的 PrometheusRule 对象列表。这仅在spec.enforcedNamespaceLabel设置为 true 时才相关。已弃用:改用spec.excludedFromEnforcement

Type

类型

数组

.spec.prometheusRulesExcludedFromEnforce[]

Description

描述

PrometheusRuleExcludeConfig 使用户能够配置被排除的 PrometheusRule 名称及其命名空间,以便在对警报和指标强制执行命名空间标签时忽略它们。

Type

类型

object

对象

Required

必填
  • ruleName

  • ruleNamespace

Property

属性
Type

类型
Description

描述

ruleName

string

字符串

被排除的 PrometheusRule 对象的名称。

ruleNamespace

string

字符串

被排除的 PrometheusRule 对象的命名空间。

.spec.query

Description

描述

QuerySpec 定义 Promethus 查询服务的配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

lookbackDelta

string

字符串

在表达式求值期间检索指标允许的增量差值。

maxConcurrency

整数

一次可以运行的并发查询数。

maxSamples

整数

单个查询可以加载到内存中的最大样本数。请注意,如果查询加载到内存中的样本数超过此数,则查询将失败,因此这也限制了查询可以返回的样本数。

timeout

string

字符串

查询在被中止之前可能花费的最长时间。

.spec.remoteRead

Description

描述

定义远程读取配置的列表。

Type

类型

数组

.spec.remoteRead[]

Description

描述

RemoteReadSpec 定义 Prometheus 从远程端点读取回样本的配置。

Type

类型

object

对象

Required

必填
  • url

Property

属性
Type

类型
Description

描述

授权

object

对象

URL 的授权部分。

它需要 Prometheus >= v2.26.0。

不能与 `basicAuth` 或 `oauth2` 同时设置。

basicAuth

object

对象

URL 的 BasicAuth 配置。

不能与 `authorization` 或 `oauth2` 同时设置。

bearerToken

string

字符串

警告:不应使用此字段,因为令牌值以明文形式出现。建议使用authorization

已弃用:这将在未来的版本中移除。

bearerTokenFile

string

字符串

从中读取 URL 的 bearer token 的文件。

已弃用:这将在未来的版本中删除。建议使用authorization

filterExternalLabels

布尔值

是否将外部标签用作远程读取端点的选择器。

它需要 Prometheus >= v2.34.0。

followRedirects

布尔值

配置 HTTP 请求是否遵循 HTTP 3xx 重定向。

它需要 Prometheus >= v2.26.0。

headers

对象(字符串)

要与每个远程读取请求一起发送的自定义 HTTP 标头。请注意,Prometheus 本身设置的标头无法被覆盖。仅在 Prometheus 2.26.0 及更高版本中有效。

name

string

字符串

远程读取队列的名称,如果指定,则必须唯一。该名称用于指标和日志记录,以便区分读取配置。

它需要 Prometheus >= v2.15.0。

noProxy

string

字符串

`noProxy` 是一个逗号分隔的字符串,可以包含应从代理中排除的 IP、CIDR 表示法、域名。IP 和域名可以包含端口号。

它需要 Prometheus >= v2.43.0。

oauth2

object

对象

URL 的 OAuth2 配置。

需要 Prometheus >= v2.27.0。

不能与 `authorization` 或 `basicAuth` 同时设置。

proxyConnectHeader

object

对象

ProxyConnectHeader 可选地指定在 CONNECT 请求期间发送到代理的标头。

它需要 Prometheus >= v2.43.0。

proxyConnectHeader{}

数组

proxyConnectHeader{}[]

object

对象

SecretKeySelector 选择 Secret 的一个密钥。

proxyFromEnvironment

布尔值

是否使用由环境变量 (HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY) 定义的代理配置。如果未设置,Prometheus 将使用其默认值。

它需要 Prometheus >= v2.43.0。

proxyUrl

string

字符串

`proxyURL` 定义要使用的 HTTP 代理服务器。

它需要 Prometheus >= v2.43.0。

readRecent

布尔值

是否应为本地存储应具有完整数据的时段范围的查询进行读取。

remoteTimeout

string

字符串

对远程读取端点的请求的超时。

requiredMatchers

对象(字符串)

可选的相等匹配器列表,这些匹配器必须存在于选择器中才能查询远程读取端点。

tlsConfig

object

对象

要用于 URL 的 TLS 配置。

url

string

字符串

要从中查询端点的 URL。

.spec.remoteRead[].authorization

Description

描述

URL 的授权部分。

它需要 Prometheus >= v2.26.0。

不能与 `basicAuth` 或 `oauth2` 同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

credentials

object

对象

选择命名空间中 Secret 的密钥,该密钥包含用于身份验证的凭据。

credentialsFile

string

字符串

读取密钥的文件,与credentials互斥。

type

string

字符串

定义身份验证类型。该值不区分大小写。

“Basic”不是受支持的值。

默认值:“Bearer”

.spec.remoteRead[].authorization.credentials

Description

描述

选择命名空间中 Secret 的密钥,该密钥包含用于身份验证的凭据。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteRead[].basicAuth

Description

描述

URL 的 BasicAuth 配置。

不能与 `authorization` 或 `oauth2` 同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

password

object

对象

password指定包含用于身份验证的密码的 Secret 的密钥。

username

object

对象

username指定包含用于身份验证的用户名 Secret 的密钥。

.spec.remoteRead[].basicAuth.password

Description

描述

password指定包含用于身份验证的密码的 Secret 的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteRead[].basicAuth.username

Description

描述

username指定包含用于身份验证的用户名 Secret 的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteRead[].oauth2

Description

描述

URL 的 OAuth2 配置。

需要 Prometheus >= v2.27.0。

不能与 `authorization` 或 `basicAuth` 同时设置。

Type

类型

object

对象

Required

必填
  • clientId

  • clientSecret

  • tokenUrl

Property

属性
Type

类型
Description

描述

clientId

object

对象

clientId 指定一个 Secret 或 ConfigMap 的键,其中包含 OAuth2 客户端 ID。

clientSecret

object

对象

clientSecret 指定一个 Secret 的键,其中包含 OAuth2 客户端密钥。

endpointParams

对象(字符串)

endpointParams 配置要附加到 token URL 的 HTTP 参数。

scopes

数组 (字符串)

scopes 定义用于令牌请求的 OAuth2 作用域。

tokenUrl

string

字符串

tokenURL 配置从中获取令牌的 URL。

.spec.remoteRead[].oauth2.clientId

Description

描述

clientId 指定一个 Secret 或 ConfigMap 的键,其中包含 OAuth2 客户端 ID。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.remoteRead[].oauth2.clientId.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.remoteRead[].oauth2.clientId.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteRead[].oauth2.clientSecret

Description

描述

clientSecret 指定一个 Secret 的键,其中包含 OAuth2 客户端密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteRead[].proxyConnectHeader

Description

描述

ProxyConnectHeader 可选地指定在 CONNECT 请求期间发送到代理的标头。

它需要 Prometheus >= v2.43.0。

Type

类型

object

对象

.spec.remoteRead[].proxyConnectHeader{}

Description

描述
Type

类型

数组

.spec.remoteRead[].proxyConnectHeader{}[]

Description

描述

SecretKeySelector 选择 Secret 的一个密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteRead[].tlsConfig

Description

描述

要用于 URL 的 TLS 配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

ca

object

对象

验证服务器证书时使用的证书颁发机构。

caFile

string

字符串

Prometheus 容器中用于目标的 CA 证书的路径。

cert

object

对象

进行客户端身份验证时要提供的客户端证书。

certFile

string

字符串

Prometheus 容器中用于目标的客户端证书文件的路径。

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

string

字符串

Prometheus 容器中用于目标的客户端密钥文件的路径。

keySecret

object

对象

包含用于目标的客户端密钥文件的 Secret。

serverName

string

字符串

用于验证目标的主机名。

.spec.remoteRead[].tlsConfig.ca

Description

描述

验证服务器证书时使用的证书颁发机构。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.remoteRead[].tlsConfig.ca.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.remoteRead[].tlsConfig.ca.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteRead[].tlsConfig.cert

Description

描述

进行客户端身份验证时要提供的客户端证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.remoteRead[].tlsConfig.cert.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.remoteRead[].tlsConfig.cert.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteRead[].tlsConfig.keySecret

Description

描述

包含用于目标的客户端密钥文件的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite

Description

描述

定义远程写入配置的列表。

Type

类型

数组

.spec.remoteWrite[]

Description

描述

RemoteWriteSpec 定义将样本从 Prometheus 写入远程端点的配置。

Type

类型

object

对象

Required

必填
  • url

Property

属性
Type

类型
Description

描述

授权

object

对象

URL 的授权部分。

它需要 Prometheus >= v2.26.0。

不能与sigv4basicAuthoauth2azureAd同时设置。

azureAd

object

对象

用于 URL 的 AzureAD。

需要 Prometheus >= v2.45.0。

不能与authorizationbasicAuthoauth2sigv4同时设置。

basicAuth

object

对象

URL 的 BasicAuth 配置。

不能与sigv4authorizationoauth2azureAd同时设置。

bearerToken

string

字符串

警告:不应使用此字段,因为令牌值以明文形式出现。建议使用authorization

已弃用:这将在未来的版本中移除。

bearerTokenFile

string

字符串

用于读取 URL 的 bearer 令牌的文件。

已弃用:这将在未来的版本中删除。建议使用authorization

enableHTTP2

布尔值

是否启用 HTTP2。

followRedirects

布尔值

配置 HTTP 请求是否遵循 HTTP 3xx 重定向。

它需要 Prometheus >= v2.26.0。

headers

对象(字符串)

要与每个远程写入请求一起发送的自定义 HTTP 头。请注意,Prometheus 本身设置的 header 无法覆盖。

需要 Prometheus >= v2.25.0。

metadataConfig

object

对象

MetadataConfig 配置将序列元数据发送到远程存储。

name

string

字符串

远程写入队列的名称,如果指定,则必须唯一。该名称用于指标和日志记录,以便区分队列。

它需要 Prometheus >= v2.15.0。

noProxy

string

字符串

`noProxy` 是一个逗号分隔的字符串,可以包含应从代理中排除的 IP、CIDR 表示法、域名。IP 和域名可以包含端口号。

它需要 Prometheus >= v2.43.0。

oauth2

object

对象

URL 的 OAuth2 配置。

需要 Prometheus >= v2.27.0。

不能与sigv4authorizationbasicAuthazureAd同时设置。

proxyConnectHeader

object

对象

ProxyConnectHeader 可选地指定在 CONNECT 请求期间发送到代理的标头。

它需要 Prometheus >= v2.43.0。

proxyConnectHeader{}

数组

proxyConnectHeader{}[]

object

对象

SecretKeySelector 选择 Secret 的一个密钥。

proxyFromEnvironment

布尔值

是否使用由环境变量 (HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY) 定义的代理配置。如果未设置,Prometheus 将使用其默认值。

它需要 Prometheus >= v2.43.0。

proxyUrl

string

字符串

`proxyURL` 定义要使用的 HTTP 代理服务器。

它需要 Prometheus >= v2.43.0。

queueConfig

object

对象

QueueConfig 允许调整远程写入队列参数。

remoteTimeout

string

字符串

对远程写入端点的请求超时。

sendExemplars

布尔值

启用通过远程写入发送示例。请注意,必须首先使用spec.enableFeature选项启用示例存储,才能抓取示例。

需要 Prometheus >= v2.27.0。

sendNativeHistograms

布尔值

启用发送原生直方图,也称为通过远程写入的稀疏直方图。

需要 Prometheus >= v2.40.0。

sigv4

object

对象

Sigv4 允许为 URL 配置 AWS 的签名验证 4。

它需要 Prometheus >= v2.26.0。

不能与authorizationbasicAuthoauth2azureAd同时设置。

tlsConfig

object

对象

要用于 URL 的 TLS 配置。

url

string

字符串

发送样本的端点 URL。

writeRelabelConfigs

数组

远程写入重命名配置列表。

writeRelabelConfigs[]

object

对象

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config

.spec.remoteWrite[].authorization

Description

描述

URL 的授权部分。

它需要 Prometheus >= v2.26.0。

不能与sigv4basicAuthoauth2azureAd同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

credentials

object

对象

选择命名空间中 Secret 的密钥,该密钥包含用于身份验证的凭据。

credentialsFile

string

字符串

读取密钥的文件,与credentials互斥。

type

string

字符串

定义身份验证类型。该值不区分大小写。

“Basic”不是受支持的值。

默认值:“Bearer”

.spec.remoteWrite[].authorization.credentials

Description

描述

选择命名空间中 Secret 的密钥,该密钥包含用于身份验证的凭据。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].azureAd

Description

描述

用于 URL 的 AzureAD。

需要 Prometheus >= v2.45.0。

不能与authorizationbasicAuthoauth2sigv4同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

cloud

string

字符串

Azure 云。选项为“AzurePublic”、“AzureChina”或“AzureGovernment”。

managedIdentity

object

对象

ManagedIdentity 定义 Azure 用户分配的托管标识。不能与oauthsdk同时设置。

oauth

object

对象

OAuth 定义用于身份验证的 oauth 配置。不能与managedIdentitysdk同时设置。

这需要 Prometheus >= v2.48.0。

sdk

object

对象

SDK 定义用于身份验证的 Azure SDK 配置。请参阅 https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication 不能与oauthmanagedIdentity同时设置。

需要 Prometheus >= 2.52.0。

.spec.remoteWrite[].azureAd.managedIdentity

Description

描述

ManagedIdentity 定义 Azure 用户分配的托管标识。不能与oauthsdk同时设置。

Type

类型

object

对象

Required

必填
  • clientId

Property

属性
Type

类型
Description

描述

clientId

string

字符串

客户端 ID

.spec.remoteWrite[].azureAd.oauth

Description

描述

OAuth 定义用于身份验证的 oauth 配置。不能与managedIdentitysdk同时设置。

这需要 Prometheus >= v2.48.0。

Type

类型

object

对象

Required

必填
  • clientId

  • clientSecret

  • tenantId

Property

属性
Type

类型
Description

描述

clientId

string

字符串

clientID 是用于身份验证的 Azure Active Directory 应用程序的 clientId。

clientSecret

object

对象

clientSecret 指定一个 Secret 的键,其中包含用于身份验证的 Azure Active Directory 应用程序的客户端密钥。

tenantId

string

字符串

tenantId 是用于身份验证的 Azure Active Directory 应用程序的租户 ID。

.spec.remoteWrite[].azureAd.oauth.clientSecret

Description

描述

clientSecret 指定一个 Secret 的键,其中包含用于身份验证的 Azure Active Directory 应用程序的客户端密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].azureAd.sdk

Description

描述

SDK 定义用于身份验证的 Azure SDK 配置。请参阅 https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication 不能与oauthmanagedIdentity同时设置。

需要 Prometheus >= 2.52.0。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

tenantId

string

字符串

tenantId 是用于身份验证的 azure active directory 应用程序的租户 ID。

.spec.remoteWrite[].basicAuth

Description

描述

URL 的 BasicAuth 配置。

不能与sigv4authorizationoauth2azureAd同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

password

object

对象

password指定包含用于身份验证的密码的 Secret 的密钥。

username

object

对象

username指定包含用于身份验证的用户名 Secret 的密钥。

.spec.remoteWrite[].basicAuth.password

Description

描述

password指定包含用于身份验证的密码的 Secret 的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].basicAuth.username

Description

描述

username指定包含用于身份验证的用户名 Secret 的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].metadataConfig

Description

描述

MetadataConfig 配置将序列元数据发送到远程存储。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

send

布尔值

定义是否将指标元数据发送到远程存储。

sendInterval

string

字符串

定义多久将指标元数据发送到远程存储。

.spec.remoteWrite[].oauth2

Description

描述

URL 的 OAuth2 配置。

需要 Prometheus >= v2.27.0。

不能与sigv4authorizationbasicAuthazureAd同时设置。

Type

类型

object

对象

Required

必填
  • clientId

  • clientSecret

  • tokenUrl

Property

属性
Type

类型
Description

描述

clientId

object

对象

clientId 指定一个 Secret 或 ConfigMap 的键,其中包含 OAuth2 客户端 ID。

clientSecret

object

对象

clientSecret 指定一个 Secret 的键,其中包含 OAuth2 客户端密钥。

endpointParams

对象(字符串)

endpointParams 配置要附加到 token URL 的 HTTP 参数。

scopes

数组 (字符串)

scopes 定义用于令牌请求的 OAuth2 作用域。

tokenUrl

string

字符串

tokenURL 配置从中获取令牌的 URL。

.spec.remoteWrite[].oauth2.clientId

Description

描述

clientId 指定一个 Secret 或 ConfigMap 的键,其中包含 OAuth2 客户端 ID。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.remoteWrite[].oauth2.clientId.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.remoteWrite[].oauth2.clientId.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].oauth2.clientSecret

Description

描述

clientSecret 指定一个 Secret 的键,其中包含 OAuth2 客户端密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].proxyConnectHeader

Description

描述

ProxyConnectHeader 可选地指定在 CONNECT 请求期间发送到代理的标头。

它需要 Prometheus >= v2.43.0。

Type

类型

object

对象

.spec.remoteWrite[].proxyConnectHeader{}

Description

描述
Type

类型

数组

.spec.remoteWrite[].proxyConnectHeader{}[]

Description

描述

SecretKeySelector 选择 Secret 的一个密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].queueConfig

Description

描述

QueueConfig 允许调整远程写入队列参数。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

batchSendDeadline

string

字符串

BatchSendDeadline 是样本在缓冲区中等待的最大时间。

capacity

整数

Capacity 是在开始丢弃样本之前每个分片要缓冲的样本数量。

maxBackoff

string

字符串

MaxBackoff 是最大重试延迟。

maxRetries

整数

MaxRetries 是在可恢复错误上重试批次的最多次数。

maxSamplesPerSend

整数

MaxSamplesPerSend 是每次发送的最大样本数。

maxShards

整数

MaxShards 是最大分片数,即并发量。

minBackoff

string

字符串

MinBackoff 是初始重试延迟。每次重试都会加倍。

minShards

整数

MinShards 是最小分片数,即并发量。

retryOnRateLimit

布尔值

从远程写入存储收到 429 状态码后重试。

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

sampleAgeLimit

string

字符串

SampleAgeLimit 删除比限制旧的样本。需要 Prometheus >= v2.50.0。

.spec.remoteWrite[].sigv4

Description

描述

Sigv4 允许为 URL 配置 AWS 的签名验证 4。

它需要 Prometheus >= v2.26.0。

不能与authorizationbasicAuthoauth2azureAd同时设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

accessKey

object

对象

AccessKey 是 AWS API 密钥。如果未指定,则使用环境变量AWS_ACCESS_KEY_ID

profile

string

字符串

Profile 是用于身份验证的命名 AWS 配置文件。

region

string

字符串

Region 是 AWS 区域。如果为空,则使用默认凭据链中的区域。

roleArn

string

字符串

RoleArn 是用于身份验证的命名 AWS 配置文件。

secretKey

object

对象

SecretKey 是 AWS API 密钥。如果未指定,则使用环境变量AWS_SECRET_ACCESS_KEY

.spec.remoteWrite[].sigv4.accessKey

Description

描述

AccessKey 是 AWS API 密钥。如果未指定,则使用环境变量AWS_ACCESS_KEY_ID

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].sigv4.secretKey

Description

描述

SecretKey 是 AWS API 密钥。如果未指定,则使用环境变量AWS_SECRET_ACCESS_KEY

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].tlsConfig

Description

描述

要用于 URL 的 TLS 配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

ca

object

对象

验证服务器证书时使用的证书颁发机构。

caFile

string

字符串

Prometheus 容器中用于目标的 CA 证书的路径。

cert

object

对象

进行客户端身份验证时要提供的客户端证书。

certFile

string

字符串

Prometheus 容器中用于目标的客户端证书文件的路径。

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

string

字符串

Prometheus 容器中用于目标的客户端密钥文件的路径。

keySecret

object

对象

包含用于目标的客户端密钥文件的 Secret。

serverName

string

字符串

用于验证目标的主机名。

.spec.remoteWrite[].tlsConfig.ca

Description

描述

验证服务器证书时使用的证书颁发机构。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.remoteWrite[].tlsConfig.ca.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.remoteWrite[].tlsConfig.ca.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].tlsConfig.cert

Description

描述

进行客户端身份验证时要提供的客户端证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.remoteWrite[].tlsConfig.cert.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.remoteWrite[].tlsConfig.cert.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].tlsConfig.keySecret

Description

描述

包含用于目标的客户端密钥文件的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.remoteWrite[].writeRelabelConfigs

Description

描述

远程写入重命名配置列表。

Type

类型

数组

.spec.remoteWrite[].writeRelabelConfigs[]

Description

描述

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

action

string

字符串

根据正则表达式匹配执行的操作。

UppercaseLowercase操作需要Prometheus >= v2.36.0。DropEqualKeepEqual操作需要Prometheus >= v2.41.0。

默认值:“Replace”

modulus

整数

对源标签值的哈希进行取模。

仅当操作为HashMod时适用。

regex

string

字符串

与提取的值匹配的正则表达式。

replacement

string

字符串

如果正则表达式匹配,则执行 Replace 操作的替换值。

正则表达式捕获组可用。

separator

string

字符串

Separator 是连接的 SourceLabels 之间的字符串。

sourceLabels

数组 (字符串)

源标签从现有标签中选择值。它们的内容使用配置的 Separator 连接,并与配置的正则表达式匹配。

targetLabel

string

字符串

将结果字符串写入替换中的标签。

对于ReplaceHashModLowercaseUppercaseKeepEqualDropEqual操作,这是必需的。

正则表达式捕获组可用。

.spec.resources

Description

描述

定义“prometheus”容器的资源请求和限制。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

claims

数组

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。

此字段是不可变的。它只能为容器设置。

claims[]

object

对象

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.resources.claims

Description

描述

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。

此字段是不可变的。它只能为容器设置。

Type

类型

数组

.spec.resources.claims[]

Description

描述

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

名称必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内可用。

.spec.ruleNamespaceSelector

Description

描述

匹配 PrometheusRule 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器仅匹配当前命名空间。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.ruleNamespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.ruleNamespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.ruleSelector

Description

描述

要选择用于规则评估的 PrometheusRule 对象。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.ruleSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.ruleSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.rules

Description

描述

定义 Prometheus 规则引擎的配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

告警

object

对象

定义Prometheus规则引擎的参数。

对这些参数的任何更新都会触发 Pod 的重启。

.spec.rules.alert

Description

描述

定义Prometheus规则引擎的参数。

对这些参数的任何更新都会触发 Pod 的重启。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

forGracePeriod

string

字符串

告警和恢复为“for”状态之间的最短持续时间。

仅对配置的“for”时间大于宽限期的告警保持此状态。

forOutageTolerance

string

字符串

容忍Prometheus中断以恢复告警“for”状态的最大时间。

resendDelay

string

字符串

向Alertmanager重新发送告警之前需要等待的最短时间。

.spec.scrapeClasses

Description

描述

要公开给抓取对象(例如 PodMonitors、ServiceMonitors、Probes 和 ScrapeConfigs)的抓取类列表。

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

Type

类型

数组

.spec.scrapeClasses[]

Description

描述
Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

默认

布尔值

Default表示抓取适用于所有未配置显式抓取类名称的抓取对象。

只能将一个抓取类设置为默认值。

metricRelabelings

数组

MetricRelabelings配置应用于所有样本在摄取之前的重标记规则。

操作符添加此处定义的抓取类指标重标记。然后,操作符添加在ServiceMonitors、PodMonitors、Probes和ScrapeConfigs中定义的目标特定指标重标记。然后,操作符添加在“.spec.enforcedNamespaceLabel”中指定的命名空间强制重标记规则。

更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs

metricRelabelings[]

object

对象

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config

name

string

字符串

抓取类的名称。

relabelings

数组

Relabelings配置应用于所有抓取目标的重标记规则。

操作符会自动添加一些标准Kubernetes字段(如`meta_kubernetes_namespace`和`meta_kubernetes_service_name`)的重标记。然后,操作符添加此处定义的抓取类重标记。然后,操作符添加在抓取对象中定义的目标特定重标记。

更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config

relabelings[]

object

对象

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config

tlsConfig

object

对象

TLSConfig定义用于抓取的TLS设置。当抓取对象定义自己的CA、证书和/或密钥时,它们优先于相应的抓取类字段。

目前仅支持`caFile`、`certFile`和`keyFile`字段。

.spec.scrapeClasses[].metricRelabelings

Description

描述

MetricRelabelings配置应用于所有样本在摄取之前的重标记规则。

操作符添加此处定义的抓取类指标重标记。然后,操作符添加在ServiceMonitors、PodMonitors、Probes和ScrapeConfigs中定义的目标特定指标重标记。然后,操作符添加在“.spec.enforcedNamespaceLabel”中指定的命名空间强制重标记规则。

Type

类型

数组

.spec.scrapeClasses[].metricRelabelings[]

Description

描述

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

action

string

字符串

根据正则表达式匹配执行的操作。

UppercaseLowercase操作需要Prometheus >= v2.36.0。DropEqualKeepEqual操作需要Prometheus >= v2.41.0。

默认值:“Replace”

modulus

整数

对源标签值的哈希进行取模。

仅当操作为HashMod时适用。

regex

string

字符串

与提取的值匹配的正则表达式。

replacement

string

字符串

如果正则表达式匹配,则执行 Replace 操作的替换值。

正则表达式捕获组可用。

separator

string

字符串

Separator 是连接的 SourceLabels 之间的字符串。

sourceLabels

数组 (字符串)

源标签从现有标签中选择值。它们的内容使用配置的 Separator 连接,并与配置的正则表达式匹配。

targetLabel

string

字符串

将结果字符串写入替换中的标签。

对于ReplaceHashModLowercaseUppercaseKeepEqualDropEqual操作,这是必需的。

正则表达式捕获组可用。

.spec.scrapeClasses[].relabelings

Description

描述

Relabelings配置应用于所有抓取目标的重标记规则。

操作符会自动添加一些标准Kubernetes字段(如`meta_kubernetes_namespace`和`meta_kubernetes_service_name`)的重标记。然后,操作符添加此处定义的抓取类重标记。然后,操作符添加在抓取对象中定义的目标特定重标记。

Type

类型

数组

.spec.scrapeClasses[].relabelings[]

Description

描述

RelabelConfig 允许对目标、警报、抓取样本和远程写入样本的标签集进行动态重写。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

action

string

字符串

根据正则表达式匹配执行的操作。

UppercaseLowercase操作需要Prometheus >= v2.36.0。DropEqualKeepEqual操作需要Prometheus >= v2.41.0。

默认值:“Replace”

modulus

整数

对源标签值的哈希进行取模。

仅当操作为HashMod时适用。

regex

string

字符串

与提取的值匹配的正则表达式。

replacement

string

字符串

如果正则表达式匹配,则执行 Replace 操作的替换值。

正则表达式捕获组可用。

separator

string

字符串

Separator 是连接的 SourceLabels 之间的字符串。

sourceLabels

数组 (字符串)

源标签从现有标签中选择值。它们的内容使用配置的 Separator 连接,并与配置的正则表达式匹配。

targetLabel

string

字符串

将结果字符串写入替换中的标签。

对于ReplaceHashModLowercaseUppercaseKeepEqualDropEqual操作,这是必需的。

正则表达式捕获组可用。

.spec.scrapeClasses[].tlsConfig

Description

描述

TLSConfig定义用于抓取的TLS设置。当抓取对象定义自己的CA、证书和/或密钥时,它们优先于相应的抓取类字段。

目前仅支持`caFile`、`certFile`和`keyFile`字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

ca

object

对象

验证服务器证书时使用的证书颁发机构。

caFile

string

字符串

Prometheus 容器中用于目标的 CA 证书的路径。

cert

object

对象

进行客户端身份验证时要提供的客户端证书。

certFile

string

字符串

Prometheus 容器中用于目标的客户端证书文件的路径。

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

string

字符串

Prometheus 容器中用于目标的客户端密钥文件的路径。

keySecret

object

对象

包含用于目标的客户端密钥文件的 Secret。

serverName

string

字符串

用于验证目标的主机名。

.spec.scrapeClasses[].tlsConfig.ca

Description

描述

验证服务器证书时使用的证书颁发机构。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.scrapeClasses[].tlsConfig.ca.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.scrapeClasses[].tlsConfig.ca.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.scrapeClasses[].tlsConfig.cert

Description

描述

进行客户端身份验证时要提供的客户端证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.scrapeClasses[].tlsConfig.cert.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.scrapeClasses[].tlsConfig.cert.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.scrapeClasses[].tlsConfig.keySecret

Description

描述

包含用于目标的客户端密钥文件的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.scrapeConfigNamespaceSelector

Description

描述

匹配 ScrapeConfig 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器仅匹配当前命名空间。

请注意,ScrapeConfig 自定义资源定义目前处于 Alpha 级别。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.scrapeConfigNamespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.scrapeConfigNamespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.scrapeConfigSelector

Description

描述

要选择用于目标发现的 ScrapeConfigs。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

如果spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelectorspec.scrapeConfigSelector为空,则 Prometheus 配置不受管理。Prometheus 运算符将确保 Prometheus 配置的 Secret 存在,但用户有责任在prometheus.yaml.gz密钥下提供原始的 gzip 压缩的 Prometheus 配置。此行为已弃用,将在自定义资源定义的下一个主要版本中删除。建议改用spec.additionalScrapeConfigs

请注意,ScrapeConfig 自定义资源定义目前处于 Alpha 级别。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.scrapeConfigSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.scrapeConfigSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.securityContext

Description

描述

SecurityContext 包含 Pod 级别的安全属性和常见的容器设置。这默认为默认 PodSecurityContext。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

appArmorProfile

object

对象

appArmorProfile是此Pod中容器使用的AppArmor选项。请注意,当spec.os.name为windows时,无法设置此字段。

fsGroup

整数

应用于Pod中所有容器的特殊补充组。某些卷类型允许Kubelet更改该卷的所有权,使其归Pod所有。

1.拥有GID将是FSGroup 2.设置setgid位(在卷中创建的新文件将由FSGroup拥有)3.权限位将与rw-rw----进行OR运算。

如果未设置,Kubelet将不会修改任何卷的所有权和权限。请注意,当spec.os.name为windows时,无法设置此字段。

fsGroupChangePolicy

string

字符串

fsGroupChangePolicy定义在卷暴露在Pod内部之前更改其所有权和权限的行为。此字段仅适用于支持基于fsGroup的所有权(和权限)的卷类型。它对短暂卷类型(如:secret、configmaps和emptydir)无效。有效值为“OnRootMismatch”和“Always”。如果未指定,则使用“Always”。请注意,当spec.os.name为windows时,无法设置此字段。

runAsGroup

整数

运行容器进程入口点的GID。如果未设置,则使用运行时默认值。也可以在SecurityContext中设置。如果在SecurityContext和PodSecurityContext中都设置了,则SecurityContext中指定的值对该容器优先。请注意,当spec.os.name为windows时,无法设置此字段。

runAsNonRoot

布尔值

指示容器必须作为非root用户运行。如果为true,Kubelet将在运行时验证映像,以确保它不以UID 0(root)运行,如果确实如此,则启动容器失败。如果未设置或为false,则不执行此类验证。也可以在SecurityContext中设置。如果在SecurityContext和PodSecurityContext中都设置了,则SecurityContext中指定的值优先。

runAsUser

整数

运行容器进程入口点的UID。如果未指定,则默认为映像元数据中指定的用户。也可以在SecurityContext中设置。如果在SecurityContext和PodSecurityContext中都设置了,则SecurityContext中指定的值对该容器优先。请注意,当spec.os.name为windows时,无法设置此字段。

seLinuxOptions

object

对象

要应用于所有容器的SELinux上下文。如果未指定,容器运行时将为每个容器分配一个随机SELinux上下文。也可以在SecurityContext中设置。如果在SecurityContext和PodSecurityContext中都设置了,则SecurityContext中指定的值对该容器优先。请注意,当spec.os.name为windows时,无法设置此字段。

seccompProfile

object

对象

此Pod中容器使用的seccomp选项。请注意,当spec.os.name为windows时,无法设置此字段。

supplementalGroups

数组(整数)

除了容器的主GID、fsGroup(如果指定)和容器映像中为容器进程uid定义的组成员资格之外,还应用于每个容器中运行的第一个进程的一组组。如果未指定,则不会向任何容器添加其他组。请注意,即使未包含在此列表中,容器映像中为容器进程uid定义的组成员资格仍然有效。请注意,当spec.os.name为windows时,无法设置此字段。

sysctls

数组

sysctls 包含 Pod 使用的命名空间 sysctls 列表。如果 Pod 使用容器运行时不支持的 sysctls,则 Pod 可能无法启动。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

sysctls[]

object

对象

sysctl 定义要设置的内核参数。

windowsOptions

object

对象

应用于所有容器的 Windows 特定设置。如果未指定,则将使用容器 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了此字段,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

.spec.securityContext.appArmorProfile

Description

描述

appArmorProfile是此Pod中容器使用的AppArmor选项。请注意,当spec.os.name为windows时,无法设置此字段。

Type

类型

object

对象

Required

必填
  • type

Property

属性
Type

类型
Description

描述

localhostProfile

string

字符串

localhostProfile 指示应使用在节点上加载的配置文件。配置文件必须预先配置在节点上才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时才必须设置。

type

string

字符串

type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。

.spec.securityContext.seLinuxOptions

Description

描述

要应用于所有容器的SELinux上下文。如果未指定,容器运行时将为每个容器分配一个随机SELinux上下文。也可以在SecurityContext中设置。如果在SecurityContext和PodSecurityContext中都设置了,则SecurityContext中指定的值对该容器优先。请注意,当spec.os.name为windows时,无法设置此字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

level

string

字符串

Level 是应用于容器的 SELinux 等级标签。

role

string

字符串

Role 是应用于容器的 SELinux 角色标签。

type

string

字符串

Type 是应用于容器的 SELinux 类型标签。

user

string

字符串

User 是应用于容器的 SELinux 用户标签。

.spec.securityContext.seccompProfile

Description

描述

此Pod中容器使用的seccomp选项。请注意,当spec.os.name为windows时,无法设置此字段。

Type

类型

object

对象

Required

必填
  • type

Property

属性
Type

类型
Description

描述

localhostProfile

string

字符串

localhostProfile 指示应使用节点上文件定义的配置文件。配置文件必须预先配置在节点上才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的递减路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,则不能设置。

type

string

字符串

type 指示将应用哪种 seccomp 配置文件。有效选项为

Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。

.spec.securityContext.sysctls

Description

描述

sysctls 包含 Pod 使用的命名空间 sysctls 列表。如果 Pod 使用容器运行时不支持的 sysctls,则 Pod 可能无法启动。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

Type

类型

数组

.spec.securityContext.sysctls[]

Description

描述

sysctl 定义要设置的内核参数。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

要设置的属性名称。

string

字符串

要设置的属性值。

.spec.securityContext.windowsOptions

Description

描述

应用于所有容器的 Windows 特定设置。如果未指定,则将使用容器 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了此字段,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

gmsaCredentialSpec

string

字符串

GMSACredentialSpec 定义了 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 内联 GMSACredentialSpecName 字段指定的 GMSA 凭据规范的内容。

gmsaCredentialSpecName

string

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。

hostProcess

布尔值

HostProcess 决定容器是否应作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。

runAsUserName

string

字符串

在 Windows 中运行容器进程入口点的用户名。如果未指定,则默认为映像元数据中指定的用户名。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值优先。

.spec.serviceMonitorNamespaceSelector

Description

描述

匹配 ServicedMonitors 发现的命名空间。空标签选择器匹配所有命名空间。空标签选择器(默认值)仅匹配当前命名空间。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.serviceMonitorNamespaceSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.serviceMonitorNamespaceSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.serviceMonitorSelector

Description

描述

要选择用于目标发现的 ServiceMonitors。空标签选择器匹配所有对象。空标签选择器不匹配任何对象。

如果spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelectorspec.scrapeConfigSelector为空,则 Prometheus 配置不受管理。Prometheus 运算符将确保 Prometheus 配置的 Secret 存在,但用户有责任在prometheus.yaml.gz密钥下提供原始的 gzip 压缩的 Prometheus 配置。此行为已弃用,将在自定义资源定义的下一个主要版本中删除。建议改用spec.additionalScrapeConfigs

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.serviceMonitorSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.serviceMonitorSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.storage

Description

描述

Storage 定义 Prometheus 使用的存储。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

disableMountSubPath

布尔值

已弃用:subPath 使用将在未来版本中移除。

emptyDir

object

对象

StatefulSet 要使用的 EmptyDirVolumeSource。如果指定此字段,则它优先于ephemeralvolumeClaimTemplate。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes/#emptydir

ephemeral

object

对象

StatefulSet 要使用的 EphemeralVolumeSource。这是 k8s 1.21 中的 Beta 字段,在 1.15 中为 GA。对于较低版本,从 k8s 1.19 开始,需要启用 GenericEphemeralVolume 功能网关。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes

volumeClaimTemplate

object

对象

定义 Prometheus StatefulSets 要使用的 PVC 规范。使用无法自动供应的卷的最简单方法是结合手动创建的 PersistentVolumes 使用标签选择器。

.spec.storage.emptyDir

Description

描述

StatefulSet 要使用的 EmptyDirVolumeSource。如果指定此字段,则它优先于ephemeralvolumeClaimTemplate。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes/#emptydir

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

medium

string

字符串

medium 表示什么类型的存储介质应该支持此目录。默认为 "",这意味着使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

sizeLimit

整数或字符串

sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存介质 EmptyDir 的最大使用量将是此处指定的 SizeLimit 与 Pod 中所有容器的内存限制总和之间的最小值。默认为 nil,这意味着限制未定义。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

.spec.storage.ephemeral

Description

描述

StatefulSet 要使用的 EphemeralVolumeSource。这是 k8s 1.21 中的 Beta 字段,在 1.15 中为 GA。对于较低版本,从 k8s 1.19 开始,需要启用 GenericEphemeralVolume 功能网关。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

volumeClaimTemplate

object

对象

将用于创建独立的 PVC 来供应卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将为 <pod name>-<volume name>,其中 <volume name> 来自 PodSpec.Volumes 数组条目中的名称。如果连接后的名称对于 PVC 无效(例如,太长),则 Pod 验证将拒绝该 Pod。

为了避免错误地使用不相关的卷,Pod 将不会使用名称相同但不是 Pod 拥有的现有 PVC。然后,Pod 的启动将被阻塞,直到不相关的 PVC 被移除。如果此类预先创建的 PVC 旨在被 Pod 使用,则在 Pod 存在后,必须使用对 Pod 的所有者引用更新 PVC。通常情况下,这应该是不必要的,但在手动重建损坏的集群时可能很有用。

此字段是只读的,创建 PVC 后,Kubernetes 不会对其进行任何更改。

必需,不能为 nil。

.spec.storage.ephemeral.volumeClaimTemplate

Description

描述

将用于创建独立的 PVC 来供应卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将为 <pod name>-<volume name>,其中 <volume name> 来自 PodSpec.Volumes 数组条目中的名称。如果连接后的名称对于 PVC 无效(例如,太长),则 Pod 验证将拒绝该 Pod。

为了避免错误地使用不相关的卷,Pod 将不会使用名称相同但不是 Pod 拥有的现有 PVC。然后,Pod 的启动将被阻塞,直到不相关的 PVC 被移除。如果此类预先创建的 PVC 旨在被 Pod 使用,则在 Pod 存在后,必须使用对 Pod 的所有者引用更新 PVC。通常情况下,这应该是不必要的,但在手动重建损坏的集群时可能很有用。

此字段是只读的,创建 PVC 后,Kubernetes 不会对其进行任何更改。

必需,不能为 nil。

Type

类型

object

对象

Required

必填
  • spec

    规范

Property

属性
Type

类型
Description

描述

metadata

object

对象

可能包含在创建 PVC 时将复制到其中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。

spec

规范

object

对象

PersistentVolumeClaim 的规范。整个内容将原样复制到从此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也有效。

.spec.storage.ephemeral.volumeClaimTemplate.metadata

Description

描述

可能包含在创建 PVC 时将复制到其中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。

Type

类型

object

对象

.spec.storage.ephemeral.volumeClaimTemplate.spec

Description

描述

PersistentVolumeClaim 的规范。整个内容将原样复制到从此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也有效。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

accessModes

数组 (字符串)

accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

object

对象

dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果供应程序或外部控制器可以支持指定的 Data Source,它将基于指定 Data Source 的内容创建一个新卷。启用 AnyVolumeDataSource 功能网关后,dataSource 内容将复制到 dataSourceRef,而 dataSourceRef 内容将复制到 dataSource(如果未指定 dataSourceRef.namespace)。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。

dataSourceRef

object

对象

dataSourceRef 指定要从中使用数据填充卷的对象(如果需要非空卷)。这可能是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态供应程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 未设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 会忽略不允许的值(删除它们),而 dataSourceRef 会保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能网关。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

resources

object

对象

resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于 claim 状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources

selector

object

对象

selector 是一个用于选择要绑定卷的标签查询。

storageClassName

string

字符串

storageClassName 是 claim 所需的 StorageClass 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassName

string

字符串

volumeAttributesClassName 可用于设置此 claim 使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用相应 VolumeAttributesClass 中定义的属性创建或更新卷。这与 storageClassName 的用途不同,它可以在创建 claim 后更改。空字符串值表示不会将任何 VolumeAttributesClass 应用于 claim,但一旦设置,则不允许将此字段重置为空字符串。如果未指定且 PersistentVolumeClaim 未绑定,则如果存在,持久卷控制器将设置默认的 VolumeAttributesClass。如果 volumeAttributesClass 所引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态(如 modifyVolumeStatus 字段所示),直到此类资源存在为止。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha) 使用此字段需要启用 VolumeAttributesClass 功能网关。

volumeMode

string

字符串

volumeMode 定义 claim 所需的卷类型。如果 claim spec 中未包含,则隐含 Filesystem 值。

volumeName

string

字符串

volumeName 是对支持此 claim 的 PersistentVolume 的绑定引用。

.spec.storage.ephemeral.volumeClaimTemplate.spec.dataSource

Description

描述

dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果供应程序或外部控制器可以支持指定的 Data Source,它将基于指定 Data Source 的内容创建一个新卷。启用 AnyVolumeDataSource 功能网关后,dataSource 内容将复制到 dataSourceRef,而 dataSourceRef 内容将复制到 dataSource(如果未指定 dataSourceRef.namespace)。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。

Type

类型

object

对象

Required

必填
  • kind

  • name

Property

属性
Type

类型
Description

描述

apiGroup

string

字符串

APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。

kind

string

字符串

Kind 是被引用资源的类型。

name

string

字符串

Name 是被引用资源的名称。

.spec.storage.ephemeral.volumeClaimTemplate.spec.dataSourceRef

Description

描述

dataSourceRef 指定要从中使用数据填充卷的对象(如果需要非空卷)。这可能是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态供应程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 未设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 会忽略不允许的值(删除它们),而 dataSourceRef 会保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能网关。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

Type

类型

object

对象

Required

必填
  • kind

  • name

Property

属性
Type

类型
Description

描述

apiGroup

string

字符串

APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。

kind

string

字符串

Kind 是被引用资源的类型。

name

string

字符串

Name 是被引用资源的名称。

命名空间

string

字符串

Namespace 是被引用资源的命名空间。请注意,当指定命名空间时,需要在引用命名空间中使用 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受该引用。有关详细信息,请参阅 ReferenceGrant 文档。(Alpha) 此字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

.spec.storage.ephemeral.volumeClaimTemplate.spec.resources

Description

描述

resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于 claim 状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.storage.ephemeral.volumeClaimTemplate.spec.selector

Description

描述

selector 是一个用于选择要绑定卷的标签查询。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.storage.ephemeral.volumeClaimTemplate.spec.selector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.storage.ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.storage.volumeClaimTemplate

Description

描述

定义 Prometheus StatefulSets 要使用的 PVC 规范。使用无法自动供应的卷的最简单方法是结合手动创建的 PersistentVolumes 使用标签选择器。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

apiVersion

API 版本

string

字符串

APIVersion 定义了此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

字符串

Kind 是一个字符串值,表示此对象所代表的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

object

对象

EmbeddedMetadata 包含与嵌入式资源相关的元数据。

spec

规范

object

对象

定义 pod 作者请求的卷的所需特性。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

status

object

对象

已弃用:此字段从未设置。

.spec.storage.volumeClaimTemplate.metadata

Description

描述

EmbeddedMetadata 包含与嵌入式资源相关的元数据。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

annotations

对象(字符串)

Annotations 是存储在资源中的非结构化键值映射,外部工具可以使用它来存储和检索任意元数据。它们不可查询,在修改对象时应予以保留。更多信息:https://kubernetes.ac.cn/docs/user-guide/annotations

labels

对象(字符串)

字符串键值对的映射,可用于组织和分类(范围和选择)对象。可能与复制控制器和服务的选取器匹配。更多信息:https://kubernetes.ac.cn/docs/user-guide/labels

name

string

字符串

名称在命名空间内必须唯一。创建资源时是必需的,尽管某些资源可能允许客户端自动请求生成合适的名称。名称主要用于创建幂等性和配置定义。无法更新。更多信息:https://kubernetes.ac.cn/docs/user-guide/identifiers#names

.spec.storage.volumeClaimTemplate.spec

Description

描述

定义 pod 作者请求的卷的所需特性。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

accessModes

数组 (字符串)

accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

object

对象

dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果供应程序或外部控制器可以支持指定的 Data Source,它将基于指定 Data Source 的内容创建一个新卷。启用 AnyVolumeDataSource 功能网关后,dataSource 内容将复制到 dataSourceRef,而 dataSourceRef 内容将复制到 dataSource(如果未指定 dataSourceRef.namespace)。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。

dataSourceRef

object

对象

dataSourceRef 指定要从中使用数据填充卷的对象(如果需要非空卷)。这可能是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态供应程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 未设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 会忽略不允许的值(删除它们),而 dataSourceRef 会保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能网关。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

resources

object

对象

resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于 claim 状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources

selector

object

对象

selector 是一个用于选择要绑定卷的标签查询。

storageClassName

string

字符串

storageClassName 是 claim 所需的 StorageClass 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassName

string

字符串

volumeAttributesClassName 可用于设置此 claim 使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用相应 VolumeAttributesClass 中定义的属性创建或更新卷。这与 storageClassName 的用途不同,它可以在创建 claim 后更改。空字符串值表示不会将任何 VolumeAttributesClass 应用于 claim,但一旦设置,则不允许将此字段重置为空字符串。如果未指定且 PersistentVolumeClaim 未绑定,则如果存在,持久卷控制器将设置默认的 VolumeAttributesClass。如果 volumeAttributesClass 所引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态(如 modifyVolumeStatus 字段所示),直到此类资源存在为止。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha) 使用此字段需要启用 VolumeAttributesClass 功能网关。

volumeMode

string

字符串

volumeMode 定义 claim 所需的卷类型。如果 claim spec 中未包含,则隐含 Filesystem 值。

volumeName

string

字符串

volumeName 是对支持此 claim 的 PersistentVolume 的绑定引用。

.spec.storage.volumeClaimTemplate.spec.dataSource

Description

描述

dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果供应程序或外部控制器可以支持指定的 Data Source,它将基于指定 Data Source 的内容创建一个新卷。启用 AnyVolumeDataSource 功能网关后,dataSource 内容将复制到 dataSourceRef,而 dataSourceRef 内容将复制到 dataSource(如果未指定 dataSourceRef.namespace)。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。

Type

类型

object

对象

Required

必填
  • kind

  • name

Property

属性
Type

类型
Description

描述

apiGroup

string

字符串

APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。

kind

string

字符串

Kind 是被引用资源的类型。

name

string

字符串

Name 是被引用资源的名称。

.spec.storage.volumeClaimTemplate.spec.dataSourceRef

Description

描述

dataSourceRef 指定要从中使用数据填充卷的对象(如果需要非空卷)。这可能是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态供应程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 未设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 会忽略不允许的值(删除它们),而 dataSourceRef 会保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能网关。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

Type

类型

object

对象

Required

必填
  • kind

  • name

Property

属性
Type

类型
Description

描述

apiGroup

string

字符串

APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。

kind

string

字符串

Kind 是被引用资源的类型。

name

string

字符串

Name 是被引用资源的名称。

命名空间

string

字符串

Namespace 是被引用资源的命名空间。请注意,当指定命名空间时,需要在引用命名空间中使用 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受该引用。有关详细信息,请参阅 ReferenceGrant 文档。(Alpha) 此字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

.spec.storage.volumeClaimTemplate.spec.resources

Description

描述

resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于 claim 状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.storage.volumeClaimTemplate.spec.selector

Description

描述

selector 是一个用于选择要绑定卷的标签查询。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.storage.volumeClaimTemplate.spec.selector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.storage.volumeClaimTemplate.spec.selector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.storage.volumeClaimTemplate.status

Description

描述

已弃用:此字段从未设置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

accessModes

数组 (字符串)

accessModes 包含支持 PVC 的卷的实际访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1

allocatedResourceStatuses

对象(字符串)

allocatedResourceStatuses 存储为给定 PVC 调整大小的资源的状态。键名遵循标准 Kubernetes 标签语法。有效值为:* 无前缀的键:- storage - 卷的容量。* 自定义资源必须使用实现定义的前缀名称,例如“example.com/my-custom-resource”。除上述值外,无前缀或具有 kubernetes.io 前缀的键被认为是保留的,因此不能使用。

ClaimResourceStatus 可以处于以下任何状态:- ControllerResizeInProgress:当调整大小控制器开始在控制平面调整卷大小时设置的状态。- ControllerResizeFailed:当调整大小在调整大小控制器中因最终错误而失败时设置的状态。- NodeResizePending:当调整大小控制器已完成卷大小调整但节点上仍需要进一步调整卷大小时设置的状态。- NodeResizeInProgress:当 kubelet 开始调整卷大小时设置的状态。- NodeResizeFailed:当调整大小在 kubelet 中因最终错误而失败时设置的状态。瞬态错误不会设置 NodeResizeFailed。例如:如果扩展 PVC 以获得更多容量,此字段可以是以下状态之一:- pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed" 当此字段未设置时,表示对于给定的 PVC,没有调整大小操作正在进行。

接收具有先前未知 resourceName 或 ClaimResourceStatus 的 PVC 更新的控制器应忽略其设计的更新目的。例如,仅负责调整卷容量的控制器应忽略更改与 PVC 关联的其他有效资源的 PVC 更新。

这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。

allocatedResources

整数或字符串

allocatedResources 跟踪分配给 PVC 的资源,包括其容量。键名遵循标准 Kubernetes 标签语法。有效值为:* 无前缀的键:- storage - 卷的容量。* 自定义资源必须使用实现定义的前缀名称,例如“example.com/my-custom-resource”。除上述值外,无前缀或具有 kubernetes.io 前缀的键被认为是保留的,因此不能使用。

当请求卷扩展操作时,此处报告的容量可能大于实际容量。对于存储配额,使用 allocatedResources 和 PVC.spec.resources 中较大的值。如果未设置 allocatedResources,则仅使用 PVC.spec.resources 进行配额计算。如果降低了卷扩展容量请求,则只有在没有扩展操作正在进行并且实际卷容量等于或小于请求容量的情况下,才会降低 allocatedResources。

接收具有先前未知 resourceName 的 PVC 更新的控制器应忽略其设计的更新目的。例如,仅负责调整卷容量的控制器应忽略更改与 PVC 关联的其他有效资源的 PVC 更新。

这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。

capacity

整数或字符串

capacity 表示底层卷的实际资源。

conditions

数组

conditions 是持久卷声明的当前状态。如果底层持久卷正在调整大小,则状态将设置为“Resizing”。

conditions[]

object

对象

PersistentVolumeClaimCondition 包含有关 pvc 状态的详细信息。

currentVolumeAttributesClassName

string

字符串

currentVolumeAttributesClassName 是 PVC 当前使用的 VolumeAttributesClass 的名称。未设置时,不会将任何 VolumeAttributeClass 应用于此 PersistentVolumeClaim。这是一个 alpha 字段,需要启用 VolumeAttributesClass 功能。

modifyVolumeStatus

object

对象

ModifyVolumeStatus 代表 ControllerModifyVolume 操作的状态对象。如果未设置此值,则表示没有尝试进行 ModifyVolume 操作。这是一个 alpha 字段,需要启用 VolumeAttributesClass 功能。

phase

string

字符串

phase 表示 PersistentVolumeClaim 的当前阶段。

.spec.storage.volumeClaimTemplate.status.conditions

Description

描述

conditions 是持久卷声明的当前状态。如果底层持久卷正在调整大小,则状态将设置为“Resizing”。

Type

类型

数组

.spec.storage.volumeClaimTemplate.status.conditions[]

Description

描述

PersistentVolumeClaimCondition 包含有关 pvc 状态的详细信息。

Type

类型

object

对象

Required

必填
  • status

  • type

Property

属性
Type

类型
Description

描述

lastProbeTime

string

字符串

lastProbeTime 是探测条件的时间。

lastTransitionTime

string

字符串

lastTransitionTime 是条件从一种状态转换到另一种状态的时间。

message

string

字符串

message 是一个易于理解的消息,指示有关上次转换的详细信息。

reason

string

字符串

reason 是一个唯一的、简短的、机器可理解的字符串,它给出条件上次转换的原因。如果它报告“Resizing”,则表示底层持久卷正在调整大小。

status

string

字符串

type

string

字符串

PersistentVolumeClaimConditionType 是 PersistentVolumeClaimCondition.Type 的有效值。

.spec.storage.volumeClaimTemplate.status.modifyVolumeStatus

Description

描述

ModifyVolumeStatus 代表 ControllerModifyVolume 操作的状态对象。如果未设置此值,则表示没有尝试进行 ModifyVolume 操作。这是一个 alpha 字段,需要启用 VolumeAttributesClass 功能。

Type

类型

object

对象

Required

必填
  • status

Property

属性
Type

类型
Description

描述

status

string

字符串

status 是 ControllerModifyVolume 操作的状态。它可以处于以下任何状态:- Pending Pending 指示由于未满足的要求(例如,指定的 VolumeAttributesClass 不存在)而无法修改 PersistentVolumeClaim。- InProgress InProgress 指示卷正在修改中。- Infeasible Infeasible 指示 CSI 驱动程序已拒绝该请求,因为它无效。要解决此错误,需要指定有效的 VolumeAttributesClass。注意:将来可以添加新的状态。使用者应检查未知状态并进行相应的失败处理。

targetVolumeAttributesClassName

string

字符串

targetVolumeAttributesClassName 是当前正在协调的 PVC 的 VolumeAttributesClass 的名称。

.spec.thanos

Description

描述

定义可选 Thanos sidecar 的配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

additionalArgs

数组

AdditionalArgs 允许为 Thanos 容器设置附加参数。这些参数将原样传递给 Thanos 容器,如果参数无效或不受给定 Thanos 版本支持,可能会导致问题。如果出现参数冲突(例如,操作员本身已设置的参数)或提供无效参数,则协调将失败并记录错误。

additionalArgs[]

object

对象

作为 AdditionalArgs 列表一部分的参数。

baseImage

string

字符串

已弃用:请改用“image”。

blockSize

string

字符串

BlockDuration 控制 Prometheus 生成的 TSDB 块的大小。默认值为 2h,以匹配上游 Prometheus 的默认值。

警告:更改块持续时间可能会影响整个 Prometheus/Thanos 堆栈的性能和效率,因为它与内存和 Thanos 压缩器的交互方式。建议将此值设置为最长抓取或规则间隔的 120 倍的倍数。例如,30s * 120 = 1h。

getConfigInterval

string

字符串

检索 Prometheus 配置的频率。

getConfigTimeout

string

字符串

检索 Prometheus 配置时的最大等待时间。

grpcListenLocal

布尔值

如果为 true,则 Thanos sidecar 将监听环回接口而不是 Pod IP 地址的 gRPC 端点。

如果listenLocal 为 true,则它无效。

grpcServerTlsConfig

object

对象

配置提供 StoreAPI 的 gRPC 服务器的 TLS 参数。

注意:目前仅支持caFilecertFilekeyFile 字段。

httpListenLocal

布尔值

如果为 true,则 Thanos sidecar 将监听环回接口而不是 Pod IP 地址的 HTTP 端点。

如果listenLocal 为 true,则它无效。

image

string

字符串

Thanos 的容器镜像名称。如果指定,则优先于spec.thanos.baseImagespec.thanos.tagspec.thanos.sha 字段。

仍然需要指定spec.thanos.version,以确保 Prometheus Operator 知道正在配置哪个版本的 Thanos。

如果既未定义spec.thanos.image 也未定义spec.thanos.baseImage,则操作员将使用在发布操作员时可用的最新上游版本的 Thanos。

listenLocal

布尔值

已弃用:请改用grpcListenLocalhttpListenLocal

logFormat

string

字符串

Thanos sidecar 的日志格式。

logLevel

string

字符串

Thanos sidecar 的日志级别。

minTime

string

字符串

定义 Thanos sidecar 的 StoreAPI 提供的服务时间范围限制的开始时间。该字段的值应为 RFC3339 格式的常量时间或相对于当前时间的持续时间,例如 -1d 或 2h45m。有效的持续时间单位为 ms、s、m、h、d、w、y。

objectStorageConfig

object

对象

定义 Thanos sidecar 将 TSDB 块上传到对象存储的配置。

更多信息:https://thanos.io/tip/thanos/storage.md/

objectStorageConfigFile 优先于此字段。

objectStorageConfigFile

string

字符串

定义 Thanos sidecar 将 TSDB 块上传到对象存储的配置文件。

更多信息:https://thanos.io/tip/thanos/storage.md/

此字段优先于 objectStorageConfig。

readyTimeout

string

字符串

ReadyTimeout 是 Thanos sidecar 等待 Prometheus 启动的最大时间。

resources

object

对象

定义 Thanos sidecar 的资源请求和限制。

sha

string

字符串

已弃用:请改用“image”。镜像摘要可以作为镜像名称的一部分指定。

tag

string

字符串

已弃用:请改用“image”。镜像的标签可以作为镜像名称的一部分指定。

tracingConfig

object

对象

定义 Thanos sidecar 的追踪配置。

tracingConfigFile 优先于此字段。

更多信息:https://thanos.io/tip/thanos/tracing.md/

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

tracingConfigFile

string

字符串

定义 Thanos sidecar 的追踪配置文件。

此字段优先于tracingConfig

更多信息:https://thanos.io/tip/thanos/tracing.md/

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

version

string

字符串

正在部署的 Thanos 版本。操作员使用此信息生成 Prometheus StatefulSet + 配置文件。

如果未指定,操作员将假定在发布操作员版本时可用的最新上游版本的 Thanos。

volumeMounts

数组

VolumeMounts 允许配置 Thanos 的附加 VolumeMounts。指定的 VolumeMounts 将附加到“thanos-sidecar”容器中的其他 VolumeMounts。

volumeMounts[]

object

对象

VolumeMount 描述在容器内挂载卷。

.spec.thanos.additionalArgs

Description

描述

AdditionalArgs 允许为 Thanos 容器设置附加参数。这些参数将原样传递给 Thanos 容器,如果参数无效或不受给定 Thanos 版本支持,可能会导致问题。如果出现参数冲突(例如,操作员本身已设置的参数)或提供无效参数,则协调将失败并记录错误。

Type

类型

数组

.spec.thanos.additionalArgs[]

Description

描述

作为 AdditionalArgs 列表一部分的参数。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

参数名称,例如“scrape.discovery-reload-interval”。

string

字符串

参数值,例如 30s。对于仅名称的参数可以为空(例如 --storage.tsdb.no-lockfile)

.spec.thanos.grpcServerTlsConfig

Description

描述

配置提供 StoreAPI 的 gRPC 服务器的 TLS 参数。

注意:目前仅支持caFilecertFilekeyFile 字段。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

ca

object

对象

验证服务器证书时使用的证书颁发机构。

caFile

string

字符串

Prometheus 容器中用于目标的 CA 证书的路径。

cert

object

对象

进行客户端身份验证时要提供的客户端证书。

certFile

string

字符串

Prometheus 容器中用于目标的客户端证书文件的路径。

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

string

字符串

Prometheus 容器中用于目标的客户端密钥文件的路径。

keySecret

object

对象

包含用于目标的客户端密钥文件的 Secret。

serverName

string

字符串

用于验证目标的主机名。

.spec.thanos.grpcServerTlsConfig.ca

Description

描述

验证服务器证书时使用的证书颁发机构。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.thanos.grpcServerTlsConfig.ca.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.thanos.grpcServerTlsConfig.ca.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.thanos.grpcServerTlsConfig.cert

Description

描述

进行客户端身份验证时要提供的客户端证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.thanos.grpcServerTlsConfig.cert.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.thanos.grpcServerTlsConfig.cert.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.thanos.grpcServerTlsConfig.keySecret

Description

描述

包含用于目标的客户端密钥文件的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.thanos.objectStorageConfig

Description

描述

定义 Thanos sidecar 将 TSDB 块上传到对象存储的配置。

objectStorageConfigFile 优先于此字段。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.thanos.resources

Description

描述

定义 Thanos sidecar 的资源请求和限制。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

claims

数组

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。

此字段是不可变的。它只能为容器设置。

claims[]

object

对象

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.thanos.resources.claims

Description

描述

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。

此字段是不可变的。它只能为容器设置。

Type

类型

数组

.spec.thanos.resources.claims[]

Description

描述

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

name

string

字符串

名称必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内可用。

.spec.thanos.tracingConfig

Description

描述

定义 Thanos sidecar 的追踪配置。

tracingConfigFile 优先于此字段。

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.thanos.volumeMounts

Description

描述

VolumeMounts 允许配置 Thanos 的附加 VolumeMounts。指定的 VolumeMounts 将附加到“thanos-sidecar”容器中的其他 VolumeMounts。

Type

类型

数组

.spec.thanos.volumeMounts[]

Description

描述

VolumeMount 描述在容器内挂载卷。

Type

类型

object

对象

Required

必填
  • mountPath

  • name

Property

属性
Type

类型
Description

描述

mountPath

string

字符串

容器中应挂载卷的路径。不能包含“:”。

mountPropagation

string

字符串

mountPropagation 决定如何将挂载从主机传播到容器,反之亦然。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中为 Beta 版本。如果 RecursiveReadOnly 设置为 IfPossible 或 Enabled,则 MountPropagation 必须为 None 或未指定(默认为 None)。

name

string

字符串

这必须与卷的名称匹配。

readOnly

布尔值

如果为 true,则以只读方式挂载;否则以读写方式挂载(false 或未指定)。默认为 false。

recursiveReadOnly

string

字符串

RecursiveReadOnly 指定是否应递归处理只读挂载。

如果 ReadOnly 为 false,则此字段无意义,必须未指定。

如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会递归地将挂载设置为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则会递归地将挂载设置为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则会递归地将挂载设置为只读;否则,Pod 将不会启动,并且会生成错误以指示原因。

如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。

如果未指定此字段,则将其视为等效于 Disabled。

subPath

string

字符串

容器的卷应从中挂载的卷内的路径。默认为 ""(卷的根目录)。

subPathExpr

string

字符串

容器的卷应从中挂载的卷内的展开路径。行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 使用容器的环境进行展开。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 互斥。

.spec.tolerations

Description

描述

如果指定,则定义 Pod 的容忍度。

Type

类型

数组

.spec.tolerations[]

Description

描述

此容忍度附加到的 Pod 容忍任何与三元组 <key,value,effect> 匹配的污点,使用匹配运算符 <operator>。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

effect

string

字符串

Effect 指示要匹配的污点效应。空表示匹配所有污点效应。如果指定,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。

key

string

字符串

Key 是容忍度适用的污点键。空表示匹配所有污点键。如果键为空,则运算符必须为 Exists;此组合表示匹配所有值和所有键。

运算符

string

字符串

Operator 表示键与值的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 Pod 可以容忍特定类别下的所有污点。

tolerationSeconds

整数

TolerationSeconds 表示容忍度(必须具有 NoExecute 效应,否则忽略此字段)容忍污点的持续时间。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。系统将把零和负值视为 0(立即驱逐)。

string

字符串

Value 是容忍度匹配的污点值。如果运算符为 Exists,则值应为空,否则为常规字符串。

.spec.topologySpreadConstraints

Description

描述

如果指定,则定义 Pod 的拓扑传播约束。

Type

类型

数组

.spec.topologySpreadConstraints[]

Description

描述
Type

类型

object

对象

Required

必填
  • maxSkew

  • topologyKey

  • whenUnsatisfiable

Property

属性
Type

类型
Description

描述

additionalLabelSelectors

string

字符串

定义应添加到 topologySpreadConstraint 上 labelSelector 的 Prometheus Operator 管理的标签。

labelSelector

object

对象

LabelSelector 用于查找匹配的 Pod。匹配此标签选择器的 Pod 将被计算在内,以确定其对应拓扑域中的 Pod 数量。

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择将对其进行传播计算的 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 进行 AND 运算,以选择将为传入 Pod 计算传播的现有 Pod 组。同一键禁止同时存在于 MatchLabelKeys 和 LabelSelector 中。如果未设置 LabelSelector,则不能设置 MatchLabelKeys。传入 Pod 标签中不存在的键将被忽略。空列表表示仅根据 labelSelector 匹配。

这是一个 Beta 功能,需要启用 MatchLabelKeysInPodTopologySpread 功能门(默认启用)。

maxSkew

整数

MaxSkew 描述了 Pod 分布不均匀的程度。当 whenUnsatisfiable=DoNotSchedule 时,它是目标拓扑中匹配 Pod 数量与全局最小值之间允许的最大差值。全局最小值是在合格域中匹配 Pod 的最小数量,如果合格域的数量小于 MinDomains,则为零。例如,在 3 个区域的集群中,MaxSkew 设置为 1,并且具有相同 labelSelector 的 Pod 分布为 2/2/1:在这种情况下,全局最小值为 1。- 如果 MaxSkew 为 1,则传入的 Pod 只能调度到 zone3 以变为 2/2/2;将其调度到 zone1(zone2)将使 zone1(zone2)上的 ActualSkew(3-1)违反 MaxSkew(1)。- 如果 MaxSkew 为 2,则传入的 Pod 可以调度到任何区域。当 whenUnsatisfiable=ScheduleAnyway 时,它用于优先考虑满足它的拓扑。这是一个必需字段。默认值为 1,不允许为 0。

minDomains

整数

MinDomains 指示合格域的最小数量。当具有匹配拓扑键的合格域的数量小于 minDomains 时,Pod 拓扑传播将“全局最小值”视为 0,然后执行 Skew 的计算。当具有匹配拓扑键的合格域的数量等于或大于 minDomains 时,此值对调度没有影响。因此,当合格域的数量小于 minDomains 时,调度程序不会向这些域调度超过 maxSkew 个 Pod。如果值为 nil,则约束的行为就像 MinDomains 等于 1 一样。有效值为大于 0 的整数。当值不为 nil 时,WhenUnsatisfiable 必须为 DoNotSchedule。

例如,在 3 个区域的集群中,MaxSkew 设置为 2,MinDomains 设置为 5,并且具有相同 labelSelector 的 Pod 分布为 2/2/2:域的数量小于 5(MinDomains),因此“全局最小值”被视为 0。在这种情况下,无法调度具有相同 labelSelector 的新 Pod,因为如果调度新 Pod 到任何三个区域中的任何一个,计算出的 skew 将为 3(3 - 0),这将违反 MaxSkew。

nodeAffinityPolicy

string

字符串

NodeAffinityPolicy 指示在计算 Pod 拓扑传播 skew 时如何处理 Pod 的 nodeAffinity/nodeSelector。选项包括:- Honor:仅计算匹配 nodeAffinity/nodeSelector 的节点。- Ignore:忽略 nodeAffinity/nodeSelector。所有节点都包含在计算中。

如果此值为 nil,则行为等效于 Honor 策略。这是一个 Beta 级功能,默认情况下由 NodeInclusionPolicyInPodTopologySpread 功能标志启用。

nodeTaintsPolicy

string

字符串

NodeTaintsPolicy 指示在计算 Pod 拓扑传播 skew 时如何处理节点污点。选项包括:- Honor:包含没有污点的节点,以及传入 Pod 具有容忍度的污点节点。- Ignore:忽略节点污点。所有节点都包含在内。

如果此值为 nil,则行为等效于 Ignore 策略。这是一个 Beta 级功能,默认情况下由 NodeInclusionPolicyInPodTopologySpread 功能标志启用。

topologyKey

string

字符串

TopologyKey 是节点标签的键。具有此键和相同值的标签的节点被认为位于相同的拓扑中。我们将每个 视为一个“桶”,并尝试将均衡数量的 Pod 放入每个桶中。我们将域定义为拓扑的特定实例。此外,我们将合格域定义为其节点满足 nodeAffinityPolicy 和 nodeTaintsPolicy 要求的域。例如,如果 TopologyKey 为“kubernetes.io/hostname”,则每个节点都是该拓扑的一个域。而且,如果 TopologyKey 为“topology.kubernetes.io/zone”,则每个区域都是该拓扑的一个域。这是一个必需字段。

whenUnsatisfiable

string

字符串

WhenUnsatisfiable 指示如果 Pod 不满足传播约束,如何处理它。- DoNotSchedule(默认)告诉调度程序不要调度它。- ScheduleAnyway 告诉调度程序在任何位置调度 Pod,但优先考虑有助于减少 skew 的拓扑。当且仅当该 Pod 的每个可能的节点分配都会在某个拓扑上违反“MaxSkew”时,约束才被认为对于传入的 Pod 是“无法满足的”。例如,在 3 个区域的集群中,MaxSkew 设置为 1,并且具有相同 labelSelector 的 Pod 分布为 3/1/1:如果 WhenUnsatisfiable 设置为 DoNotSchedule,则传入的 Pod 只能调度到 zone2(zone3)以变为 3/2/1(3/1/2),因为 zone2(zone3)上的 ActualSkew(2-1)满足 MaxSkew(1)。换句话说,集群仍然可能不平衡,但调度程序不会使其变得**更**不平衡。这是一个必需字段。

.spec.topologySpreadConstraints[].labelSelector

Description

描述

LabelSelector 用于查找匹配的 Pod。匹配此标签选择器的 Pod 将被计算在内,以确定其对应拓扑域中的 Pod 数量。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.topologySpreadConstraints[].labelSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.topologySpreadConstraints[].labelSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.tracingConfig

Description

描述

TracingConfig 配置 Prometheus 中的跟踪。

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

Type

类型

object

对象

Required

必填
  • endpoint

Property

属性
Type

类型
Description

描述

clientType

string

字符串

用于导出跟踪的客户端。支持的值为 httpgrpc

compression

string

字符串

支持的压缩类型的压缩密钥。唯一支持的值是gzip

endpoint

string

字符串

发送追踪数据的端点。应采用`:`格式提供。

headers

对象(字符串)

用作与 gRPC 或 HTTP 请求关联的标头的键值对。

不安全

布尔值

如果禁用,客户端将使用安全连接。

采样分数

整数或字符串

设置给定追踪被采样的概率。必须是 0 到 1 之间的浮点数。

timeout

string

字符串

导出器将等待每个批量导出程序的最大时间。

tlsConfig

object

对象

发送追踪数据时使用的 TLS 配置。

.spec.tracingConfig.tlsConfig

Description

描述

发送追踪数据时使用的 TLS 配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

ca

object

对象

验证服务器证书时使用的证书颁发机构。

caFile

string

字符串

Prometheus 容器中用于目标的 CA 证书的路径。

cert

object

对象

进行客户端身份验证时要提供的客户端证书。

certFile

string

字符串

Prometheus 容器中用于目标的客户端证书文件的路径。

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

string

字符串

Prometheus 容器中用于目标的客户端密钥文件的路径。

keySecret

object

对象

包含用于目标的客户端密钥文件的 Secret。

serverName

string

字符串

用于验证目标的主机名。

.spec.tracingConfig.tlsConfig.ca

Description

描述

验证服务器证书时使用的证书颁发机构。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.tracingConfig.tlsConfig.ca.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.tracingConfig.tlsConfig.ca.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.tracingConfig.tlsConfig.cert

Description

描述

进行客户端身份验证时要提供的客户端证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.tracingConfig.tlsConfig.cert.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.tracingConfig.tlsConfig.cert.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.tracingConfig.tlsConfig.keySecret

Description

描述

包含用于目标的客户端密钥文件的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.tsdb

Description

描述

定义时间序列数据库 (TSDB) 的运行时可重新加载配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

无序时间窗口

string

字符串

配置相对于 TSDB 最大时间,无序/越界样本可以有多旧。

只要样本的时间戳 >= (TSDB.MaxTime - outOfOrderTimeWindow),就会将无序/越界样本摄取到 TSDB 中。

这是一个实验性功能,它可能会在任何即将发布的版本中以破坏性方式发生更改。

它需要 Prometheus >= v2.39.0。

.spec.volumeMounts

Description

描述

VolumeMounts 允许配置额外的 VolumeMounts。

VolumeMounts 将附加到“prometheus”容器中的其他 VolumeMounts,这些 VolumeMounts 是 StorageSpec 对象生成的。

Type

类型

数组

.spec.volumeMounts[]

Description

描述

VolumeMount 描述在容器内挂载卷。

Type

类型

object

对象

Required

必填
  • mountPath

  • name

Property

属性
Type

类型
Description

描述

mountPath

string

字符串

容器中应挂载卷的路径。不能包含“:”。

mountPropagation

string

字符串

mountPropagation 决定如何将挂载从主机传播到容器,反之亦然。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中为 Beta 版本。如果 RecursiveReadOnly 设置为 IfPossible 或 Enabled,则 MountPropagation 必须为 None 或未指定(默认为 None)。

name

string

字符串

这必须与卷的名称匹配。

readOnly

布尔值

如果为 true,则以只读方式挂载;否则以读写方式挂载(false 或未指定)。默认为 false。

recursiveReadOnly

string

字符串

RecursiveReadOnly 指定是否应递归处理只读挂载。

如果 ReadOnly 为 false,则此字段无意义,必须未指定。

如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会递归地将挂载设置为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则会递归地将挂载设置为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则会递归地将挂载设置为只读;否则,Pod 将不会启动,并且会生成错误以指示原因。

如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。

如果未指定此字段,则将其视为等效于 Disabled。

subPath

string

字符串

容器的卷应从中挂载的卷内的路径。默认为 ""(卷的根目录)。

subPathExpr

string

字符串

容器的卷应从中挂载的卷内的展开路径。行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 使用容器的环境进行展开。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 互斥。

.spec.volumes

Description

描述

Volumes 允许在输出 StatefulSet 定义中配置附加卷。指定的卷将附加到由 StorageSpec 对象生成的其它卷。

Type

类型

数组

.spec.volumes[]

Description

描述

Volume 代表 Pod 中的命名卷,Pod 中的任何容器都可以访问该卷。

Type

类型

object

对象

Required

必填
  • name

Property

属性
Type

类型
Description

描述

awsElasticBlockStore

object

对象

awsElasticBlockStore 表示附加到 kubelet 主机然后公开到 pod 的 AWS 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

azureDisk

object

对象

azureDisk 表示主机上的 Azure 数据磁盘挂载,并绑定挂载到 pod。

azureFile

object

对象

azureFile 表示主机上的 Azure 文件服务挂载,并绑定挂载到 pod。

cephfs

object

对象

cephFS 表示主机上的 Ceph FS 挂载,与 pod 的生命周期共享。

cinder

object

对象

cinder 表示附加到 kubelet 主机并挂载在其上的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

configMap

object

对象

configMap 表示应填充此卷的 configMap。

csi

object

对象

csi(容器存储接口)表示由某些外部 CSI 驱动程序处理的临时存储(Beta 功能)。

downwardAPI

object

对象

downwardAPI 表示应填充此卷的关于 pod 的向下 API。

emptyDir

object

对象

emptyDir 表示与 pod 的生命周期共享的临时目录。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

ephemeral

object

对象

ephemeral 表示由集群存储驱动程序处理的卷。卷的生命周期与其定义它的 pod 相关联 - 它将在 pod 启动之前创建,并在 pod 删除时删除。

如果您需要:a) 只在 pod 运行时才需要卷,b) 需要普通卷的功能,例如从快照恢复或容量跟踪,c) 通过存储类指定存储驱动程序,以及 d) 存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷预配(有关此卷类型和 PersistentVolumeClaim 之间连接的更多信息,请参阅 EphemeralVolumeSource)。

对于比单个 pod 生命周期持续时间更长的卷,请使用 PersistentVolumeClaim 或其中一个特定于供应商的 API。

如果 CSI 驱动程序旨在以这种方式使用,请使用 CSI 来创建轻量级本地临时卷 - 请参阅驱动程序的文档以获取更多信息。

pod 可以同时使用这两种类型的临时卷和持久卷。

fc

object

对象

fc 表示附加到 kubelet 主机然后公开到 pod 的光纤通道资源。

flexVolume

object

对象

flexVolume 表示使用基于 exec 的插件预配/附加的通用卷资源。

flocker

object

对象

flocker 表示附加到 kubelet 主机的 Flocker 卷。这取决于 Flocker 控制服务的运行。

gcePersistentDisk

object

对象

gcePersistentDisk 表示附加到 kubelet 主机然后公开到 pod 的 GCE 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

gitRepo

object

对象

gitRepo 表示特定修订版本下的 git 存储库。已弃用:GitRepo 已弃用。要使用 git repo 预配容器,请将 EmptyDir 挂载到 InitContainer 中,该容器使用 git 克隆 repo,然后将 EmptyDir 挂载到 Pod 的容器中。

glusterfs

object

对象

glusterfs 表示主机上的 Glusterfs 挂载,与 pod 的生命周期共享。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md

hostPath

object

对象

hostPath 表示主机上已存在的直接公开给容器的文件或目录。这通常用于系统代理或其他允许查看主机机的特权内容。大多数容器不需要这个。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) 我们需要限制谁可以使用主机目录挂载,以及谁可以/不可以将主机目录挂载为读/写。

iscsi

object

对象

iscsi 表示附加到 kubelet 主机然后公开到 pod 的 ISCSI 磁盘资源。更多信息:https://examples.k8s.io/volumes/iscsi/README.md

name

string

字符串

卷的名称。必须是 DNS_LABEL,并且在 pod 内唯一。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names

nfs

object

对象

nfs 表示主机上的 NFS 挂载,与 pod 的生命周期共享。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

persistentVolumeClaim

object

对象

persistentVolumeClaimVolumeSource 表示对同一命名空间中 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

photonPersistentDisk

object

对象

photonPersistentDisk 表示附加到 kubelet 主机并挂载在其上的 PhotonController 持久磁盘。

portworxVolume

object

对象

portworxVolume 表示附加到 kubelet 主机并挂载在其上的 portworx 卷。

projected

object

对象

所有一体化资源的投影项,例如密钥、configmap 和向下 API。

quobyte

object

对象

quobyte 表示主机上的 Quobyte 挂载,与 pod 的生命周期共享。

rbd

object

对象

rbd 表示主机上的 Rados 块设备挂载,与 pod 的生命周期共享。更多信息:https://examples.k8s.io/volumes/rbd/README.md

scaleIO

object

对象

scaleIO 表示附加到 Kubernetes 节点并挂载在其上的 ScaleIO 持久卷。

secret

object

对象

secret 表示应填充此卷的密钥。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret

storageos

object

对象

storageOS 表示附加到 Kubernetes 节点并挂载在其上的 StorageOS 卷。

vsphereVolume

object

对象

vsphereVolume 表示附加到 kubelet 主机并挂载在其上的 vSphere 卷。

.spec.volumes[].awsElasticBlockStore

Description

描述

awsElasticBlockStore 表示附加到 kubelet 主机然后公开到 pod 的 AWS 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

Type

类型

object

对象

Required

必填
  • volumeID

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是要挂载的卷的文件系统类型。提示:确保主机操作系统支持文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore TODO:我们如何防止文件系统中的错误影响机器?

partition

整数

partition 是您要挂载的卷中的分区。如果省略,则默认按卷名挂载。示例:对于卷 /dev/sda1,您将分区指定为“1”。类似地,/dev/sda 的卷分区为“0”(或者您可以保留属性为空)。

readOnly

布尔值

readOnly 值 true 将强制执行 VolumeMounts 中的 readOnly 设置。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

volumeID

string

字符串

volumeID 是 AWS(Amazon EBS 卷)中持久性磁盘资源的唯一 ID。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

.spec.volumes[].azureDisk

Description

描述

azureDisk 表示主机上的 Azure 数据磁盘挂载,并绑定挂载到 pod。

Type

类型

object

对象

Required

必填
  • diskName

  • diskURI

Property

属性
Type

类型
Description

描述

cachingMode

string

字符串

cachingMode 是主机缓存模式:无、只读、读写。

diskName

string

字符串

diskName 是 Blob 存储中数据磁盘的名称。

diskURI

string

字符串

diskURI 是 Blob 存储中数据磁盘的 URI。

fsType

string

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。

kind

string

字符串

kind 预期值为 Shared:每个存储帐户有多个 Blob 磁盘 Dedicated:每个存储帐户只有一个 Blob 磁盘 Managed:Azure 托管数据磁盘(仅在托管可用性集中)。默认为 shared

readOnly

布尔值

readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

.spec.volumes[].azureFile

Description

描述

azureFile 表示主机上的 Azure 文件服务挂载,并绑定挂载到 pod。

Type

类型

object

对象

Required

必填
  • secretName

  • shareName

Property

属性
Type

类型
Description

描述

readOnly

布尔值

readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

secretName

string

字符串

secretName 是包含 Azure 存储帐户名称和密钥的密钥的名称。

shareName

string

字符串

shareName 是 Azure 共享名称。

.spec.volumes[].cephfs

Description

描述

cephFS 表示主机上的 Ceph FS 挂载,与 pod 的生命周期共享。

Type

类型

object

对象

Required

必填
  • monitors

Property

属性
Type

类型
Description

描述

monitors

数组 (字符串)

monitors 是必需的:Monitors 是 Ceph 监控器的集合。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

path

string

字符串

path 是可选的:用作已挂载的根目录,而不是完整的 Ceph 树,默认为 /

readOnly

布尔值

readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretFile

string

字符串

secretFile 是可选的:SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretRef

object

对象

secretRef 是可选的:SecretRef 是对用户身份验证密钥的引用,默认为空。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

user

string

字符串

user 是可选的:User 是 rados 用户名,默认为 admin。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

.spec.volumes[].cephfs.secretRef

Description

描述

secretRef 是可选的:SecretRef 是对用户身份验证密钥的引用,默认为空。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.volumes[].cinder

Description

描述

cinder 表示附加到 kubelet 主机并挂载在其上的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

Type

类型

object

对象

Required

必填
  • volumeID

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

readOnly

布尔值

readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

secretRef

object

对象

secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的密钥对象。

volumeID

string

字符串

volumeID 用于在 cinder 中标识卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

.spec.volumes[].cinder.secretRef

Description

描述

secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的密钥对象。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.volumes[].configMap

Description

描述

configMap 表示应填充此卷的 configMap。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

defaultMode

整数

defaultMode 是可选的:用于默认设置创建文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

items

数组

items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 ConfigMap 中不存在的键,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

items[]

object

对象

将字符串键映射到卷中的路径。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

optional 指定是否必须定义 ConfigMap 或其键。

.spec.volumes[].configMap.items

Description

描述

items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 ConfigMap 中不存在的键,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

Type

类型

数组

.spec.volumes[].configMap.items[]

Description

描述

将字符串键映射到卷中的路径。

Type

类型

object

对象

Required

必填
  • key

  • path

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是要投影的键。

mode

整数

mode 是可选的:用于设置此文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,则将使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

path

string

字符串

path 是将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..” 。不能以字符串“..”开头。

.spec.volumes[].csi

Description

描述

csi(容器存储接口)表示由某些外部 CSI 驱动程序处理的临时存储(Beta 功能)。

Type

类型

object

对象

Required

必填
  • driver

Property

属性
Type

类型
Description

描述

driver

string

字符串

driver 是处理此卷的 CSI 驱动程序的名称。请咨询您的管理员以获取在集群中注册的正确名称。

fsType

string

字符串

fsType 要挂载。例如,“ext4”、“xfs”、“ntfs”。如果未提供,则空值将传递给关联的 CSI 驱动程序,该驱动程序将确定要应用的默认文件系统。

nodePublishSecretRef

object

对象

nodePublishSecretRef 是对密钥对象的引用,该对象包含要传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用的敏感信息。此字段是可选的,如果不需要密钥,则可以为空。如果密钥对象包含多个密钥,则将传递所有密钥引用。

readOnly

布尔值

readOnly 指定卷的只读配置。默认为 false(读/写)。

volumeAttributes

对象(字符串)

volumeAttributes 存储传递给 CSI 驱动程序的驱动程序特定属性。请参阅驱动程序的文档以了解支持的值。

.spec.volumes[].csi.nodePublishSecretRef

Description

描述

nodePublishSecretRef 是对密钥对象的引用,该对象包含要传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用的敏感信息。此字段是可选的,如果不需要密钥,则可以为空。如果密钥对象包含多个密钥,则将传递所有密钥引用。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.volumes[].downwardAPI

Description

描述

downwardAPI 表示应填充此卷的关于 pod 的向下 API。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

defaultMode

整数

可选:默认情况下对创建的文件使用的模式位。必须是可选的:用于默认设置创建文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

items

数组

Items 是向下 API 卷文件的列表

items[]

object

对象

DownwardAPIVolumeFile 表示包含 pod 字段的文件创建信息

.spec.volumes[].downwardAPI.items

Description

描述

Items 是向下 API 卷文件的列表

Type

类型

数组

.spec.volumes[].downwardAPI.items[]

Description

描述

DownwardAPIVolumeFile 表示包含 pod 字段的文件创建信息

Type

类型

object

对象

Required

必填
  • path

Property

属性
Type

类型
Description

描述

fieldRef

object

对象

必填:选择 Pod 的一个字段:仅支持注释、标签、名称、命名空间和 UID。

mode

整数

可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。如果未指定,将使用卷的 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

path

string

字符串

必填:Path 是要创建的文件的相对路径名。不能是绝对路径或包含“..”路径。必须是 utf-8 编码。相对路径的第一个项目不能以“..”开头。

resourceFieldRef

object

对象

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

.spec.volumes[].downwardAPI.items[].fieldRef

Description

描述

必填:选择 Pod 的一个字段:仅支持注释、标签、名称、命名空间和 UID。

Type

类型

object

对象

Required

必填
  • fieldPath

Property

属性
Type

类型
Description

描述

apiVersion

API 版本

string

字符串

FieldPath 的模式版本,默认为“v1”。

fieldPath

string

字符串

在指定的 API 版本中选择的字段的路径。

.spec.volumes[].downwardAPI.items[].resourceFieldRef

Description

描述

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

Type

类型

object

对象

Required

必填
  • resource

Property

属性
Type

类型
Description

描述

containerName

string

字符串

容器名称:卷需要,环境变量可选

divisor

整数或字符串

指定公开资源的输出格式,默认为“1”

resource

string

字符串

必需:要选择的资源

.spec.volumes[].emptyDir

Description

描述

emptyDir 表示与 pod 的生命周期共享的临时目录。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

medium

string

字符串

medium 表示什么类型的存储介质应该支持此目录。默认为 "",这意味着使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

sizeLimit

整数或字符串

sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存介质 EmptyDir 的最大使用量将是此处指定的 SizeLimit 与 Pod 中所有容器的内存限制总和之间的最小值。默认为 nil,这意味着限制未定义。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

.spec.volumes[].ephemeral

Description

描述

ephemeral 表示由集群存储驱动程序处理的卷。卷的生命周期与其定义它的 pod 相关联 - 它将在 pod 启动之前创建,并在 pod 删除时删除。

如果您需要:a) 只在 pod 运行时才需要卷,b) 需要普通卷的功能,例如从快照恢复或容量跟踪,c) 通过存储类指定存储驱动程序,以及 d) 存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷预配(有关此卷类型和 PersistentVolumeClaim 之间连接的更多信息,请参阅 EphemeralVolumeSource)。

对于比单个 pod 生命周期持续时间更长的卷,请使用 PersistentVolumeClaim 或其中一个特定于供应商的 API。

如果 CSI 驱动程序旨在以这种方式使用,请使用 CSI 来创建轻量级本地临时卷 - 请参阅驱动程序的文档以获取更多信息。

pod 可以同时使用这两种类型的临时卷和持久卷。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

volumeClaimTemplate

object

对象

将用于创建独立的 PVC 来供应卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将为 <pod name>-<volume name>,其中 <volume name> 来自 PodSpec.Volumes 数组条目中的名称。如果连接后的名称对于 PVC 无效(例如,太长),则 Pod 验证将拒绝该 Pod。

为了避免错误地使用不相关的卷,Pod 将不会使用名称相同但不是 Pod 拥有的现有 PVC。然后,Pod 的启动将被阻塞,直到不相关的 PVC 被移除。如果此类预先创建的 PVC 旨在被 Pod 使用,则在 Pod 存在后,必须使用对 Pod 的所有者引用更新 PVC。通常情况下,这应该是不必要的,但在手动重建损坏的集群时可能很有用。

此字段是只读的,创建 PVC 后,Kubernetes 不会对其进行任何更改。

必需,不能为 nil。

.spec.volumes[].ephemeral.volumeClaimTemplate

Description

描述

将用于创建独立的 PVC 来供应卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将为 <pod name>-<volume name>,其中 <volume name> 来自 PodSpec.Volumes 数组条目中的名称。如果连接后的名称对于 PVC 无效(例如,太长),则 Pod 验证将拒绝该 Pod。

为了避免错误地使用不相关的卷,Pod 将不会使用名称相同但不是 Pod 拥有的现有 PVC。然后,Pod 的启动将被阻塞,直到不相关的 PVC 被移除。如果此类预先创建的 PVC 旨在被 Pod 使用,则在 Pod 存在后,必须使用对 Pod 的所有者引用更新 PVC。通常情况下,这应该是不必要的,但在手动重建损坏的集群时可能很有用。

此字段是只读的,创建 PVC 后,Kubernetes 不会对其进行任何更改。

必需,不能为 nil。

Type

类型

object

对象

Required

必填
  • spec

    规范

Property

属性
Type

类型
Description

描述

metadata

object

对象

可能包含在创建 PVC 时将复制到其中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。

spec

规范

object

对象

PersistentVolumeClaim 的规范。整个内容将原样复制到从此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也有效。

.spec.volumes[].ephemeral.volumeClaimTemplate.metadata

Description

描述

可能包含在创建 PVC 时将复制到其中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。

Type

类型

object

对象

.spec.volumes[].ephemeral.volumeClaimTemplate.spec

Description

描述

PersistentVolumeClaim 的规范。整个内容将原样复制到从此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也有效。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

accessModes

数组 (字符串)

accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

object

对象

dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果供应程序或外部控制器可以支持指定的 Data Source,它将基于指定 Data Source 的内容创建一个新卷。启用 AnyVolumeDataSource 功能网关后,dataSource 内容将复制到 dataSourceRef,而 dataSourceRef 内容将复制到 dataSource(如果未指定 dataSourceRef.namespace)。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。

dataSourceRef

object

对象

dataSourceRef 指定要从中使用数据填充卷的对象(如果需要非空卷)。这可能是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态供应程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 未设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 会忽略不允许的值(删除它们),而 dataSourceRef 会保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能网关。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

resources

object

对象

resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于 claim 状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources

selector

object

对象

selector 是一个用于选择要绑定卷的标签查询。

storageClassName

string

字符串

storageClassName 是 claim 所需的 StorageClass 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassName

string

字符串

volumeAttributesClassName 可用于设置此 claim 使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用相应 VolumeAttributesClass 中定义的属性创建或更新卷。这与 storageClassName 的用途不同,它可以在创建 claim 后更改。空字符串值表示不会将任何 VolumeAttributesClass 应用于 claim,但一旦设置,则不允许将此字段重置为空字符串。如果未指定且 PersistentVolumeClaim 未绑定,则如果存在,持久卷控制器将设置默认的 VolumeAttributesClass。如果 volumeAttributesClass 所引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态(如 modifyVolumeStatus 字段所示),直到此类资源存在为止。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha) 使用此字段需要启用 VolumeAttributesClass 功能网关。

volumeMode

string

字符串

volumeMode 定义 claim 所需的卷类型。如果 claim spec 中未包含,则隐含 Filesystem 值。

volumeName

string

字符串

volumeName 是对支持此 claim 的 PersistentVolume 的绑定引用。

.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource

Description

描述

dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果供应程序或外部控制器可以支持指定的 Data Source,它将基于指定 Data Source 的内容创建一个新卷。启用 AnyVolumeDataSource 功能网关后,dataSource 内容将复制到 dataSourceRef,而 dataSourceRef 内容将复制到 dataSource(如果未指定 dataSourceRef.namespace)。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。

Type

类型

object

对象

Required

必填
  • kind

  • name

Property

属性
Type

类型
Description

描述

apiGroup

string

字符串

APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。

kind

string

字符串

Kind 是被引用资源的类型。

name

string

字符串

Name 是被引用资源的名称。

.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef

Description

描述

dataSourceRef 指定要从中使用数据填充卷的对象(如果需要非空卷)。这可能是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态供应程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 未设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 会忽略不允许的值(删除它们),而 dataSourceRef 会保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能网关。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

Type

类型

object

对象

Required

必填
  • kind

  • name

Property

属性
Type

类型
Description

描述

apiGroup

string

字符串

APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。

kind

string

字符串

Kind 是被引用资源的类型。

name

string

字符串

Name 是被引用资源的名称。

命名空间

string

字符串

Namespace 是被引用资源的命名空间。请注意,当指定命名空间时,需要在引用命名空间中使用 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受该引用。有关详细信息,请参阅 ReferenceGrant 文档。(Alpha) 此字段需要启用 CrossNamespaceVolumeDataSource 功能网关。

.spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources

Description

描述

resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于 claim 状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector

Description

描述

selector 是一个用于选择要绑定卷的标签查询。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.volumes[].fc

Description

描述

fc 表示附加到 kubelet 主机然后公开到 pod 的光纤通道资源。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。待办事项:我们如何防止文件系统中的错误影响机器?

lun

整数

lun 可选:FC 目标 LUN 号码

readOnly

布尔值

readOnly 可选:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

targetWWNs

数组 (字符串)

targetWWNs 可选:FC 目标全球名称 (WWN)

wwids

数组 (字符串)

wwids 可选:FC 卷全球标识符 (wwid) 必须设置 wwids 或 targetWWNs 和 lun 的组合,但不能同时设置两者。

.spec.volumes[].flexVolume

Description

描述

flexVolume 表示使用基于 exec 的插件预配/附加的通用卷资源。

Type

类型

object

对象

Required

必填
  • driver

Property

属性
Type

类型
Description

描述

driver

string

字符串

driver 是此卷要使用的驱动程序的名称。

fsType

string

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。默认文件系统取决于 FlexVolume 脚本。

options

对象(字符串)

options 可选:此字段包含任何额外的命令选项。

readOnly

布尔值

readOnly 可选:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

secretRef

object

对象

secretRef 可选:secretRef 是对包含敏感信息的 secret 对象的引用,这些敏感信息将传递给插件脚本。如果没有指定 secret 对象,则可以为空。如果 secret 对象包含多个 secret,则所有 secret 都将传递给插件脚本。

.spec.volumes[].flexVolume.secretRef

Description

描述

secretRef 可选:secretRef 是对包含敏感信息的 secret 对象的引用,这些敏感信息将传递给插件脚本。如果没有指定 secret 对象,则可以为空。如果 secret 对象包含多个 secret,则所有 secret 都将传递给插件脚本。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.volumes[].flocker

Description

描述

flocker 表示附加到 kubelet 主机的 Flocker 卷。这取决于 Flocker 控制服务的运行。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

datasetName

string

字符串

datasetName 是数据集的名称,存储为数据集上的元数据→名称,Flocker 的数据集名称应视为已弃用。

datasetUUID

string

字符串

datasetUUID 是数据集的 UUID。这是 Flocker 数据集的唯一标识符。

.spec.volumes[].gcePersistentDisk

Description

描述

gcePersistentDisk 表示附加到 kubelet 主机然后公开到 pod 的 GCE 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

Type

类型

object

对象

Required

必填
  • pdName

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是要挂载的卷的文件系统类型。提示:确保主机操作系统支持文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk 待办事项:我们如何防止文件系统中的错误影响机器?

partition

整数

partition 是要挂载的卷中的分区。如果省略,则默认为按卷名挂载。示例:对于卷 /dev/sda1,您将分区指定为“1”。类似地,/dev/sda 的卷分区为“0”(或者您可以保留属性为空)。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

pdName

string

字符串

pdName 是 GCE 中 PD 资源的唯一名称。用于在 GCE 中标识磁盘。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

readOnly

布尔值

readOnly 此处将强制执行 VolumeMounts 中的 ReadOnly 设置。默认为 false。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

.spec.volumes[].gitRepo

Description

描述

gitRepo 表示特定修订版本下的 git 存储库。已弃用:GitRepo 已弃用。要使用 git repo 预配容器,请将 EmptyDir 挂载到 InitContainer 中,该容器使用 git 克隆 repo,然后将 EmptyDir 挂载到 Pod 的容器中。

Type

类型

object

对象

Required

必填
  • repository

Property

属性
Type

类型
Description

描述

directory

string

字符串

directory 是目标目录名。不能包含或以“..”开头。如果提供“.”,则卷目录将是 git 存储库。否则,如果指定,则卷将包含具有给定名称的子目录中的 git 存储库。

repository

string

字符串

repository 是 URL

revision

string

字符串

revision 是指定修订版本的提交哈希。

.spec.volumes[].glusterfs

Description

描述

glusterfs 表示主机上的 Glusterfs 挂载,与 pod 的生命周期共享。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md

Type

类型

object

对象

Required

必填
  • endpoints

  • path

Property

属性
Type

类型
Description

描述

endpoints

string

字符串

endpoints 是详细说明 Glusterfs 拓扑的端点名称。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

path

string

字符串

path 是 Glusterfs 卷路径。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

readOnly

布尔值

readOnly 此处将强制 Glusterfs 卷以只读权限挂载。默认为 false。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

.spec.volumes[].hostPath

Description

描述

hostPath 表示主机上已存在的直接公开给容器的文件或目录。这通常用于系统代理或其他允许查看主机机的特权内容。大多数容器不需要这个。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) 我们需要限制谁可以使用主机目录挂载,以及谁可以/不可以将主机目录挂载为读/写。

Type

类型

object

对象

Required

必填
  • path

Property

属性
Type

类型
Description

描述

path

string

字符串

主机上目录的路径。如果路径是符号链接,它将跟踪链接到实际路径。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath

type

string

字符串

HostPath 卷的类型,默认为 ""。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath

.spec.volumes[].iscsi

Description

描述

iscsi 表示附加到 kubelet 主机然后公开到 pod 的 ISCSI 磁盘资源。更多信息:https://examples.k8s.io/volumes/iscsi/README.md

Type

类型

object

对象

Required

必填
  • iqn

  • lun

  • targetPortal

Property

属性
Type

类型
Description

描述

chapAuthDiscovery

布尔值

chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证

chapAuthSession

布尔值

chapAuthSession 定义是否支持 iSCSI Session CHAP 身份验证

fsType

string

字符串

fsType 是要挂载的卷的文件系统类型。提示:确保主机操作系统支持文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#iscsi 待办事项:我们如何防止文件系统中的错误影响机器?

initiatorName

string

字符串

initiatorName 是自定义 iSCSI 发起程序名称。如果同时指定 initiatorName 和 iscsiInterface,则将为连接创建新的 iSCSI 接口 <目标门户>:<卷名>。

iqn

string

字符串

iqn 是目标 iSCSI 限定名称。

iscsiInterface

string

字符串

iscsiInterface 是使用 iSCSI 传输的接口名称。默认为“default”(tcp)。

lun

整数

lun 代表 iSCSI 目标 LUN 号码。

portals

数组 (字符串)

portals 是 iSCSI 目标门户列表。门户是 IP 地址,或者如果端口不是默认端口(通常是 TCP 端口 860 和 3260)则为 ip_addr:port。

readOnly

布尔值

readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。

secretRef

object

对象

secretRef 是 iSCSI 目标和发起者身份验证的 CHAP 密钥。

targetPortal

string

字符串

targetPortal 是 iSCSI 目标门户。门户是 IP 地址,或者如果端口不是默认端口(通常是 TCP 端口 860 和 3260)则为 ip_addr:port。

.spec.volumes[].iscsi.secretRef

Description

描述

secretRef 是 iSCSI 目标和发起者身份验证的 CHAP 密钥。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.volumes[].nfs

Description

描述

nfs 表示主机上的 NFS 挂载,与 pod 的生命周期共享。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

Type

类型

object

对象

Required

必填
  • path

  • 服务器

Property

属性
Type

类型
Description

描述

path

string

字符串

NFS 服务器导出的路径。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

readOnly

布尔值

readOnly 将强制以只读权限挂载 NFS 导出。默认为 false。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

服务器

string

字符串

server 是 NFS 服务器的主机名或 IP 地址。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

.spec.volumes[].persistentVolumeClaim

Description

描述

persistentVolumeClaimVolumeSource 表示对同一命名空间中 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

Type

类型

object

对象

Required

必填
  • claimName

Property

属性
Type

类型
Description

描述

claimName

string

字符串

claimName 是与使用此卷的 Pod 位于同一命名空间中的 PersistentVolumeClaim 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

布尔值

readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。

.spec.volumes[].photonPersistentDisk

Description

描述

photonPersistentDisk 表示附加到 kubelet 主机并挂载在其上的 PhotonController 持久磁盘。

Type

类型

object

对象

Required

必填
  • pdID

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。

pdID

string

字符串

pdID 是标识 Photon Controller 持久磁盘的 ID。

.spec.volumes[].portworxVolume

Description

描述

portworxVolume 表示附加到 kubelet 主机并挂载在其上的 portworx 卷。

Type

类型

object

对象

Required

必填
  • volumeID

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fSType 表示要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”。如果未指定,则隐式推断为“ext4”。

readOnly

布尔值

readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

volumeID

string

字符串

volumeID 唯一标识 Portworx 卷。

.spec.volumes[].projected

Description

描述

所有一体化资源的投影项,例如密钥、configmap 和向下 API。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

defaultMode

整数

defaultMode 是用于默认设置创建文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

sources

数组

sources 是卷投影的列表。

sources[]

object

对象

可以与其他受支持的卷类型一起投影的投影。

.spec.volumes[].projected.sources

Description

描述

sources 是卷投影的列表。

Type

类型

数组

.spec.volumes[].projected.sources[]

Description

描述

可以与其他受支持的卷类型一起投影的投影。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

clusterTrustBundle

object

对象

ClusterTrustBundle 允许 Pod 访问 ClusterTrustBundle 对象的.spec.trustBundle字段中的自动更新文件。

Alpha 版本,受 ClusterTrustBundleProjection 功能门控控制。

ClusterTrustBundle 对象可以通过名称或签名者名称和标签选择器的组合进行选择。

Kubelet 对写入 Pod 文件系统的 PEM 内容执行积极的规范化。剥离了诸如块间注释和块标题之类的深奥的 PEM 功能。证书已去重。文件中证书的顺序是任意的,Kubelet 可能会随着时间的推移改变顺序。

configMap

object

对象

configMap 关于要投影的 configMap 数据的信息。

downwardAPI

object

对象

downwardAPI 关于要投影的 downwardAPI 数据的信息。

secret

object

对象

secret 关于要投影的 secret 数据的信息。

serviceAccountToken

object

对象

serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息。

.spec.volumes[].projected.sources[].clusterTrustBundle

Description

描述

ClusterTrustBundle 允许 Pod 访问 ClusterTrustBundle 对象的.spec.trustBundle字段中的自动更新文件。

Alpha 版本,受 ClusterTrustBundleProjection 功能门控控制。

ClusterTrustBundle 对象可以通过名称或签名者名称和标签选择器的组合进行选择。

Kubelet 对写入 Pod 文件系统的 PEM 内容执行积极的规范化。剥离了诸如块间注释和块标题之类的深奥的 PEM 功能。证书已去重。文件中证书的顺序是任意的,Kubelet 可能会随着时间的推移改变顺序。

Type

类型

object

对象

Required

必填
  • path

Property

属性
Type

类型
Description

描述

labelSelector

object

对象

选择与该标签选择器匹配的所有 ClusterTrustBundles。只有在设置了 signerName 时才有效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置为空,则解释为“匹配所有内容”。

name

string

字符串

通过对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 互斥。

optional

布尔值

如果为 true,则如果引用的 ClusterTrustBundle(s) 不可用,则不会阻塞 Pod 启动。如果使用名称,则允许命名 ClusterTrustBundle 不存在。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零个 ClusterTrustBundles。

path

string

字符串

从卷根目录到写入捆绑包的相对路径。

signerName

string

字符串

选择与该签名者名称匹配的所有 ClusterTrustBundles。与 name 互斥。所有选定 ClusterTrustBundles 的内容都将被统一和去重。

.spec.volumes[].projected.sources[].clusterTrustBundle.labelSelector

Description

描述

选择与该标签选择器匹配的所有 ClusterTrustBundles。只有在设置了 signerName 时才有效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置为空,则解释为“匹配所有内容”。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

matchExpressions[]

object

对象

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 ANDed 的。

.spec.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions

Description

描述

matchExpressions 是标签选择器要求的列表。这些要求是 ANDed 的。

Type

类型

数组

.spec.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions[]

Description

描述

标签选择器要求是一个包含值、键和运算符的选择器,这些值、键和运算符将键和值关联起来。

Type

类型

object

对象

Required

必填
  • key

  • 运算符

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是选择器应用到的标签键。

运算符

string

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组 (字符串)

values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.volumes[].projected.sources[].configMap

Description

描述

configMap 关于要投影的 configMap 数据的信息。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

items

数组

items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 ConfigMap 中不存在的键,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

items[]

object

对象

将字符串键映射到卷中的路径。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

optional 指定是否必须定义 ConfigMap 或其键。

.spec.volumes[].projected.sources[].configMap.items

Description

描述

items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 ConfigMap 中不存在的键,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

Type

类型

数组

.spec.volumes[].projected.sources[].configMap.items[]

Description

描述

将字符串键映射到卷中的路径。

Type

类型

object

对象

Required

必填
  • key

  • path

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是要投影的键。

mode

整数

mode 是可选的:用于设置此文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,则将使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

path

string

字符串

path 是将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..” 。不能以字符串“..”开头。

.spec.volumes[].projected.sources[].downwardAPI

Description

描述

downwardAPI 关于要投影的 downwardAPI 数据的信息。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

items

数组

Items 是 DownwardAPIVolume 文件的列表。

items[]

object

对象

DownwardAPIVolumeFile 表示包含 pod 字段的文件创建信息

.spec.volumes[].projected.sources[].downwardAPI.items

Description

描述

Items 是 DownwardAPIVolume 文件的列表。

Type

类型

数组

.spec.volumes[].projected.sources[].downwardAPI.items[]

Description

描述

DownwardAPIVolumeFile 表示包含 pod 字段的文件创建信息

Type

类型

object

对象

Required

必填
  • path

Property

属性
Type

类型
Description

描述

fieldRef

object

对象

必填:选择 Pod 的一个字段:仅支持注释、标签、名称、命名空间和 UID。

mode

整数

可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。如果未指定,将使用卷的 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

path

string

字符串

必填:Path 是要创建的文件的相对路径名。不能是绝对路径或包含“..”路径。必须是 utf-8 编码。相对路径的第一个项目不能以“..”开头。

resourceFieldRef

object

对象

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

.spec.volumes[].projected.sources[].downwardAPI.items[].fieldRef

Description

描述

必填:选择 Pod 的一个字段:仅支持注释、标签、名称、命名空间和 UID。

Type

类型

object

对象

Required

必填
  • fieldPath

Property

属性
Type

类型
Description

描述

apiVersion

API 版本

string

字符串

FieldPath 的模式版本,默认为“v1”。

fieldPath

string

字符串

在指定的 API 版本中选择的字段的路径。

.spec.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef

Description

描述

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

Type

类型

object

对象

Required

必填
  • resource

Property

属性
Type

类型
Description

描述

containerName

string

字符串

容器名称:卷需要,环境变量可选

divisor

整数或字符串

指定公开资源的输出格式,默认为“1”

resource

string

字符串

必需:要选择的资源

.spec.volumes[].projected.sources[].secret

Description

描述

secret 关于要投影的 secret 数据的信息。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

items

数组

items 如果未指定,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 Secret 中不存在的键,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

items[]

object

对象

将字符串键映射到卷中的路径。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

optional 字段指定是否必须定义 Secret 或其键。

.spec.volumes[].projected.sources[].secret.items

Description

描述

items 如果未指定,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 Secret 中不存在的键,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

Type

类型

数组

.spec.volumes[].projected.sources[].secret.items[]

Description

描述

将字符串键映射到卷中的路径。

Type

类型

object

对象

Required

必填
  • key

  • path

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是要投影的键。

mode

整数

mode 是可选的:用于设置此文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,则将使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

path

string

字符串

path 是将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..” 。不能以字符串“..”开头。

.spec.volumes[].projected.sources[].serviceAccountToken

Description

描述

serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息。

Type

类型

object

对象

Required

必填
  • path

Property

属性
Type

类型
Description

描述

audience

string

字符串

audience 是令牌的目标受众。令牌的接收者必须使用令牌的 audience 中指定的标识符识别自身,否则应拒绝令牌。audience 默认为 apiserver 的标识符。

expirationSeconds

整数

expirationSeconds 是请求的服务帐户令牌的有效期。当令牌接近过期时,kubelet 卷插件将主动轮换服务帐户令牌。如果令牌的年龄超过其生命周期的 80%,或者令牌的年龄超过 24 小时,则 kubelet 将开始尝试轮换令牌。默认为 1 小时,必须至少为 10 分钟。

path

string

字符串

path 是相对于挂载点的文件的路径,用于将令牌投影到该路径中。

.spec.volumes[].quobyte

Description

描述

quobyte 表示主机上的 Quobyte 挂载,与 pod 的生命周期共享。

Type

类型

object

对象

Required

必填
  • 注册表

Property

属性
Type

类型
Description

描述

group

string

字符串

映射卷访问的组。默认为无组。

readOnly

布尔值

readOnly 将强制以只读权限挂载 Quobyte 卷。默认为 false。

注册表

string

字符串

registry 代表一个或多个 Quobyte 注册服务,以主机:端口对字符串的形式指定(多个条目用逗号分隔),它充当卷的中央注册表。

租户

string

字符串

拥有后端中给定 Quobyte 卷的租户。与动态配置的 Quobyte 卷一起使用,值由插件设置。

user

string

字符串

用户,用于映射卷访问权限。默认为 service account 用户。

string

字符串

volume 是一个字符串,通过名称引用已创建的 Quobyte 卷。

.spec.volumes[].rbd

Description

描述

rbd 表示主机上的 Rados 块设备挂载,与 pod 的生命周期共享。更多信息:https://examples.k8s.io/volumes/rbd/README.md

Type

类型

object

对象

Required

必填
  • image

  • monitors

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是您要挂载的卷的文件系统类型。提示:确保主机操作系统支持该文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#rbd TODO:我们如何防止文件系统中的错误影响机器?

image

string

字符串

image 是 rados 镜像名称。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

密钥环

string

字符串

keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

monitors

数组 (字符串)

monitors 是 Ceph 监控器的集合。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

string

字符串

pool 是 rados 池名称。默认为 rbd。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

readOnly

布尔值

readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

secretRef

object

对象

secretRef 是 RBDUser 的身份验证密钥的名称。如果提供,则覆盖 keyring。默认为 nil。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

user

string

字符串

user 是 rados 用户名。默认为 admin。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

.spec.volumes[].rbd.secretRef

Description

描述

secretRef 是 RBDUser 的身份验证密钥的名称。如果提供,则覆盖 keyring。默认为 nil。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.volumes[].scaleIO

Description

描述

scaleIO 表示附加到 Kubernetes 节点并挂载在其上的 ScaleIO 持久卷。

Type

类型

object

对象

Required

必填
  • 网关

  • secretRef

  • 系统

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。默认为“xfs”。

网关

string

字符串

gateway 是 ScaleIO API 网关的主机地址。

保护域

string

字符串

protectionDomain 是为配置的存储配置的 ScaleIO 保护域的名称。

readOnly

布尔值

readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

secretRef

object

对象

secretRef 引用 ScaleIO 用户和其他敏感信息的密钥。如果没有提供此信息,登录操作将失败。

sslEnabled

布尔值

sslEnabled 标志启用/禁用与网关的 SSL 通信,默认为 false。

存储模式

string

字符串

storageMode 指示卷的存储应该是厚置备还是薄置备。默认为 ThinProvisioned(薄置备)。

存储池

string

字符串

storagePool 是与保护域关联的 ScaleIO 存储池。

系统

string

字符串

system 是在 ScaleIO 中配置的存储系统的名称。

volumeName

string

字符串

volumeName 是已在与该卷源关联的 ScaleIO 系统中创建的卷的名称。

.spec.volumes[].scaleIO.secretRef

Description

描述

secretRef 引用 ScaleIO 用户和其他敏感信息的密钥。如果没有提供此信息,登录操作将失败。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.volumes[].secret

Description

描述

secret 表示应填充此卷的密钥。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

defaultMode

整数

defaultMode 可选:默认情况下用于设置创建文件的权限的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

items

数组

items 如果未指定,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了密钥但在 Secret 中不存在,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

items[]

object

对象

将字符串键映射到卷中的路径。

optional

布尔值

optional 字段指定是否必须定义 Secret 或其密钥。

secretName

string

字符串

secretName 是要使用的 pod 命名空间中的密钥名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret

.spec.volumes[].secret.items

Description

描述

items 如果未指定,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了密钥但在 Secret 中不存在,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

Type

类型

数组

.spec.volumes[].secret.items[]

Description

描述

将字符串键映射到卷中的路径。

Type

类型

object

对象

Required

必填
  • key

  • path

Property

属性
Type

类型
Description

描述

key

string

字符串

key 是要投影的键。

mode

整数

mode 是可选的:用于设置此文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,则将使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。

path

string

字符串

path 是将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..” 。不能以字符串“..”开头。

.spec.volumes[].storageos

Description

描述

storageOS 表示附加到 Kubernetes 节点并挂载在其上的 StorageOS 卷。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。

readOnly

布尔值

readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

secretRef

object

对象

secretRef 指定用于获取 StorageOS API 凭据的密钥。如果未指定,将尝试使用默认值。

volumeName

string

字符串

volumeName 是 StorageOS 卷的可读名称。卷名在一个命名空间内是唯一的。

volumeNamespace

string

字符串

volumeNamespace 指定 StorageOS 中卷的范围。如果没有指定命名空间,则将使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称范围,以实现更紧密的集成。设置 VolumeName 为任何名称以覆盖默认行为。如果您没有在 StorageOS 中使用命名空间,则设置为“default”。StorageOS 中不存在的命名空间将被创建。

.spec.volumes[].storageos.secretRef

Description

描述

secretRef 指定用于获取 StorageOS API 凭据的密钥。如果未指定,将尝试使用默认值。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.volumes[].vsphereVolume

Description

描述

vsphereVolume 表示附加到 kubelet 主机并挂载在其上的 vSphere 卷。

Type

类型

object

对象

Required

必填
  • volumePath

Property

属性
Type

类型
Description

描述

fsType

string

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。

storagePolicyID

string

字符串

storagePolicyID 是与 StoragePolicyName 关联的基于存储策略的管理 (SPBM) 配置文件 ID。

storagePolicyName

string

字符串

storagePolicyName 是基于存储策略的管理 (SPBM) 配置文件名称。

volumePath

string

字符串

volumePath 是标识 vSphere 卷 vmdk 的路径。

.spec.web

Description

描述

定义 Prometheus web 服务器的配置。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

httpConfig

object

对象

定义 Web 服务器的 HTTP 参数。

maxConnections

整数

定义同时连接的最大数量。零值表示 Prometheus 不接受任何传入连接。

pageTitle

string

字符串

Prometheus 网页标题。

tlsConfig

object

对象

定义 HTTPS 的 TLS 参数。

.spec.web.httpConfig

Description

描述

定义 Web 服务器的 HTTP 参数。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

headers

object

对象

可以添加到 HTTP 响应的标头列表。

http2

布尔值

启用 HTTP/2 支持。请注意,HTTP/2 仅支持 TLS。如果未配置 TLSConfig,则将禁用 HTTP/2。每当字段的值更改时,都将触发滚动更新。

.spec.web.httpConfig.headers

Description

描述

可以添加到 HTTP 响应的标头列表。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

contentSecurityPolicy

string

字符串

将 Content-Security-Policy 标头设置为 HTTP 响应。如果为空则取消设置。

strictTransportSecurity

string

字符串

将 Strict-Transport-Security 头部设置为 HTTP 响应。如果为空则取消设置。请谨慎使用此头部,因为它可能会强制浏览器通过 HTTPS 加载 Prometheus 和托管在同一域名和子域名上的其他应用程序。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security

xContentTypeOptions

string

字符串

将 X-Content-Type-Options 头部设置为 HTTP 响应。如果为空则取消设置。接受的值为 nosniff。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options

xFrameOptions

string

字符串

将 X-Frame-Options 头部设置为 HTTP 响应。如果为空则取消设置。接受的值为 deny 和 sameorigin。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-Frame-Options

xXSSProtection

string

字符串

将 X-XSS-Protection 头部设置为所有响应。如果为空则取消设置。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-XSS-Protection

.spec.web.tlsConfig

Description

描述

定义 HTTPS 的 TLS 参数。

Type

类型

object

对象

Required

必填
  • cert

  • keySecret

Property

属性
Type

类型
Description

描述

cert

object

对象

包含服务器的 TLS 证书。

cipherSuites

数组 (字符串)

支持的密码套件列表,适用于 TLS 1.2 及之前的版本。如果为空,则使用 Go 默认的密码套件。可用的密码套件在 Go 文档中有所说明:https://golang.ac.cn/pkg/crypto/tls/#pkg-constants

clientAuthType

string

字符串

服务器的客户端身份验证策略。映射到 ClientAuth 策略。有关 clientAuth 选项的更多详细信息:https://golang.ac.cn/pkg/crypto/tls/#ClientAuthType

client_ca

object

对象

包含用于客户端证书身份验证的 CA 证书。

curvePreferences

数组 (字符串)

将在 ECDHE 握手过程中使用的椭圆曲线,按优先顺序排列。可用的曲线在 Go 文档中有所说明:https://golang.ac.cn/pkg/crypto/tls/#CurveID

keySecret

object

对象

包含服务器 TLS 密钥的密钥。

maxVersion

string

字符串

可接受的最高 TLS 版本。默认为 TLS13。

minVersion

string

字符串

可接受的最低 TLS 版本。默认为 TLS12。

preferServerCipherSuites

布尔值

控制服务器是选择客户端最偏好的密码套件,还是服务器最偏好的密码套件。如果为 true,则使用服务器的偏好(如 cipherSuites 中元素的顺序所示)。

.spec.web.tlsConfig.cert

Description

描述

包含服务器的 TLS 证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.web.tlsConfig.cert.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.web.tlsConfig.cert.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.web.tlsConfig.client_ca

Description

描述

包含用于客户端证书身份验证的 CA 证书。

Type

类型

object

对象

Property

属性
Type

类型
Description

描述

configMap

object

对象

包含用于目标的数据的 ConfigMap。

secret

object

对象

包含用于目标的数据的 Secret。

.spec.web.tlsConfig.client_ca.configMap

Description

描述

包含用于目标的数据的 ConfigMap。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要选择的键。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap 或其键

.spec.web.tlsConfig.client_ca.secret

Description

描述

包含用于目标的数据的 Secret。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.spec.web.tlsConfig.keySecret

Description

描述

包含服务器 TLS 密钥的密钥。

Type

类型

object

对象

Required

必填
  • key

Property

属性
Type

类型
Description

描述

key

string

字符串

要从中选择的密钥的密钥。必须是有效的密钥。

name

string

字符串

引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其密钥。

.status

Description

描述
Type

类型

object

对象

Required

必填
  • availableReplicas

  • paused

  • replicas

  • unavailableReplicas

  • updatedReplicas

Property

属性
Type

类型
Description

描述

availableReplicas

整数

此 Prometheus 部署的目标中可用的 Pod 总数(至少已准备 minReadySeconds 秒)。

conditions

数组

Prometheus 部署的当前状态。

conditions[]

object

对象

Condition 表示与 Prometheus、Alertmanager 或 ThanosRuler 资源关联的资源的状态。

paused

布尔值

表示是否正在对底层托管对象执行任何操作。仅执行删除操作。

replicas

整数

此 Prometheus 部署的目标中未终止的 Pod 总数(其标签与选择器匹配)。

selector

string

字符串

用于匹配此 Prometheus 资源目标 Pod 的选择器。

shardStatuses

数组

此列表每个分片有一项条目。每个条目都提供了分片状态的摘要。

shardStatuses[]

object

对象

shards

整数

Shards 是最近观察到的分片数量。

unavailableReplicas

整数

此 Prometheus 部署的目标中不可用的 Pod 总数。

updatedReplicas

整数

此 Prometheus 部署的目标中具有所需版本规范的未终止 Pod 总数。

.status.conditions

Description

描述

Prometheus 部署的当前状态。

Type

类型

数组

.status.conditions[]

Description

描述

Condition 表示与 Prometheus、Alertmanager 或 ThanosRuler 资源关联的资源的状态。

Type

类型

object

对象

Required

必填
  • lastTransitionTime

  • status

  • type

Property

属性
Type

类型
Description

描述

lastTransitionTime

string

字符串

lastTransitionTime 是上次更新当前状态属性的时间。

message

string

字符串

指示条件上次转换详细信息的人类可读消息。

observedGeneration

整数

ObservedGeneration 表示设置条件的 .metadata.generation。例如,如果 .metadata.generation 当前为 12,但 .status.conditions[].observedGeneration 为 9,则该条件相对于实例的当前状态已过期。

reason

string

字符串

条件上次转换的原因。

status

string

字符串

条件的状态。

type

string

字符串

正在报告的条件的类型。

.status.shardStatuses

Description

描述

此列表每个分片有一项条目。每个条目都提供了分片状态的摘要。

Type

类型

数组

.status.shardStatuses[]

Description

描述
Type

类型

object

对象

Required

必填
  • availableReplicas

  • replicas

  • shardID

  • unavailableReplicas

  • updatedReplicas

Property

属性
Type

类型
Description

描述

availableReplicas

整数

此分片目标中可用的 Pod 总数(至少已准备 minReadySeconds 秒)。

replicas

整数

此分片目标的 Pod 总数。

shardID

string

字符串

分片的标识符。

unavailableReplicas

整数

此分片目标中不可用的 Pod 总数。

updatedReplicas

整数

此分片目标中具有所需规范的未终止 Pod 总数。

API 端点

提供以下 API 端点

  • /apis/monitoring.coreos.com/v1/prometheuses

    Prometheus 列表

    • GET:列出 Prometheus 类型的对象

  • /apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheuses

    命名空间下 Prometheus 列表

    • DELETE:删除 Prometheus 集合

    • GET:列出 Prometheus 类型的对象

    • POST:创建 Prometheus

  • /apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheuses/{name}

    指定 Prometheus

    • DELETE:删除 Prometheus

    • GET:读取指定的 Prometheus

    • PATCH:部分更新指定的 Prometheus

    • PUT:替换指定的 Prometheus

  • /apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheuses/{name}/scale

    调整指定 Prometheus 的副本数

    • GET:读取指定 Prometheus 的规模

    • PATCH:部分更新指定 Prometheus 的规模

    • PUT:替换指定 Prometheus 的规模

  • /apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheuses/{name}/status

    指定 Prometheus 的状态

    • GET:读取指定 Prometheus 的状态

    • PATCH:部分更新指定 Prometheus 的状态

    • PUT:替换指定 Prometheus 的状态

/apis/monitoring.coreos.com/v1/prometheuses

HTTP 方法

GET

Description

描述

列出 Prometheus 类型的对象

表 1. HTTP 响应
HTTP 代码 响应体

200 - OK

PrometheusList 模式

401 - 未授权

/apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheuses

HTTP 方法

DELETE

Description

描述

删除 Prometheus 集合

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

Description

描述

列出 Prometheus 类型的对象

表 3. HTTP 响应
HTTP 代码 响应体

200 - OK

PrometheusList 模式

401 - 未授权

HTTP 方法

POST

Description

描述

创建 Prometheus

表 4. 查询参数
参数 Type

类型
Description

描述

dryRun

string

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

string

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段(这些字段将从对象中静默删除),并且将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 5. 体参数
参数 Type

类型
Description

描述

body

Prometheus 模式

表 6. HTTP 响应
HTTP 代码 响应体

200 - OK

Prometheus 模式

201 - 已创建

Prometheus 模式

202 - 已接受

Prometheus 模式

401 - 未授权

/apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheuses/{name}

表 7. 全局路径参数
参数 Type

类型
Description

描述

name

string

字符串

Prometheus 的名称

HTTP 方法

DELETE

Description

描述

删除 Prometheus

表 8. 查询参数
参数 Type

类型
Description

描述

dryRun

string

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

Description

描述

读取指定的 Prometheus

表 10. HTTP 响应
HTTP 代码 响应体

200 - OK

Prometheus 模式

401 - 未授权

HTTP 方法

PATCH

Description

描述

部分更新指定的 Prometheus

表 11. 查询参数
参数 Type

类型
Description

描述

dryRun

string

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

string

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段(这些字段将从对象中静默删除),并且将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 12. HTTP 响应
HTTP 代码 响应体

200 - OK

Prometheus 模式

401 - 未授权

HTTP 方法

PUT

Description

描述

替换指定的 Prometheus

表 13. 查询参数
参数 Type

类型
Description

描述

dryRun

string

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

string

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段(这些字段将从对象中静默删除),并且将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 14. 请求体参数
参数 Type

类型
Description

描述

body

Prometheus 模式

表 15. HTTP 响应
HTTP 代码 响应体

200 - OK

Prometheus 模式

201 - 已创建

Prometheus 模式

401 - 未授权

/apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheuses/{name}/scale

表 16. 全局路径参数
参数 Type

类型
Description

描述

name

string

字符串

Prometheus 的名称

HTTP 方法

GET

Description

描述

读取指定 Prometheus 的缩放比例

表 17. HTTP 响应
HTTP 代码 响应体

200 - OK

Scale 模式

401 - 未授权

HTTP 方法

PATCH

Description

描述

部分更新指定 Prometheus 的缩放比例

表 18. 查询参数
参数 Type

类型
Description

描述

dryRun

string

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

string

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段(这些字段将从对象中静默删除),并且将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 19. HTTP 响应
HTTP 代码 响应体

200 - OK

Scale 模式

401 - 未授权

HTTP 方法

PUT

Description

描述

替换指定 Prometheus 的缩放比例

表 20. 查询参数
参数 Type

类型
Description

描述

dryRun

string

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

string

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段(这些字段将从对象中静默删除),并且将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 21. 请求体参数
参数 Type

类型
Description

描述

body

Scale 模式

表 22. HTTP 响应
HTTP 代码 响应体

200 - OK

Scale 模式

201 - 已创建

Scale 模式

401 - 未授权

/apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheuses/{name}/status

表 23. 全局路径参数
参数 Type

类型
Description

描述

name

string

字符串

Prometheus 的名称

HTTP 方法

GET

Description

描述

读取指定 Prometheus 的状态

表 24. HTTP 响应
HTTP 代码 响应体

200 - OK

Prometheus 模式

401 - 未授权

HTTP 方法

PATCH

Description

描述

部分更新指定 Prometheus 的状态

表 25. 查询参数
参数 Type

类型
Description

描述

dryRun

string

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

string

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段(这些字段将从对象中静默删除),并且将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 26. HTTP 响应
HTTP 代码 响应体

200 - OK

Prometheus 模式

401 - 未授权

HTTP 方法

PUT

Description

描述

替换指定 Prometheus 的状态

表 27. 查询参数
参数 Type

类型
Description

描述

dryRun

string

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

string

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何未知字段(这些字段将从对象中静默删除),并且将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 28. 请求体参数
参数 Type

类型
Description

描述

body

Prometheus 模式

表 29. HTTP 响应
HTTP 代码 响应体

200 - OK

Prometheus 模式

201 - 已创建

Prometheus 模式

401 - 未授权