第 6 章 Prometheus [monitoring.coreos.com/v1]


描述
Prometheus 定义 Prometheus 部署。
类型
object
必填
  • spec

6.1. 规格

属性类型描述

apiVersion

string

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

kind

string

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: 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

对象

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

status

对象

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

6.1.1. .spec

属性类型描述

additionalAlertManagerConfigs

对象

additionalAlertmanagerConfigs 允许指定包含额外 Prometheus AlertManager 配置的 Secret 的密钥。指定 Alertmanager 配置附加到 Prometheus Operator 生成的配置中。指定的作业配置必须具有官方 Prometheus 文档中指定的表单: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config。附加 AlertManager 配置后,用户负责确保它有效。请注意,使用此功能可能会公开可能会破坏 Prometheus 的升级。建议查看 Prometheus 发行注记,以确保升级后没有不兼容的 AlertManager 配置会破坏 Prometheus。

additionalAlertRelabelConfigs

对象

additionalAlertRelabelConfigs 允许指定包含额外 Prometheus 警报重新标记配置的 Secret 的密钥。指定的警报重新标记配置附加到 Prometheus Operator 生成的配置中。指定的警报重新标记配置必须具有官方 Prometheus 文档中指定的表单: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs。附加警报重新标记配置后,用户负责确保它有效。请注意,使用此功能可能会公开可能会破坏 Prometheus 的升级。建议查看 Prometheus 发行注记,以确保升级后没有不兼容的警报重新标记配置中断 Prometheus。

additionalArgs

数组

AdditionalArgs 允许为 Prometheus 容器设置额外的参数。它旨在激活被专用配置选项不支持的隐藏标志。参数按原样传递给 Prometheus 容器,如果给定 Prometheus 版本无效或不支持它们,则可能会导致问题。如果参数冲突(例如,已由 Operator 本身设置的参数),或者在提供无效的参数时,协调将失败,并会记录错误。

additionalArgs[]

object

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

additionalScrapeConfigs

对象

additionalScrapeConfigs 允许指定包含额外 Prometheus scrape 配置的 Secret 的密钥。指定的提取配置附加到 Prometheus Operator 生成的配置中。指定的作业配置必须具有官方 Prometheus 文档中指定的表单: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config。附加提取配置后,用户负责确保它有效。请注意,使用此功能可能会公开可能会破坏 Prometheus 的升级。建议查看 Prometheus 发行注记,以确保升级后没有不兼容的提取配置中断 Prometheus。

关联性

对象

如果指定,pod 的调度限制。

警报

对象

定义警报的详细信息。

allowOverlappingBlocks

布尔值

AllowOverlappingBlocks 在 Prometheus 中启用垂直压缩和垂直查询合并。Prometheus 仍然是实验性的,因此它可能会在任何即将推出的版本中有所变化。

apiserverConfig

对象

apiserverConfig 允许指定主机和 auth 方法访问 apiserver。如果留空,Prometheus 会假定在集群内运行,并将自动发现 API 服务器,并使用位于 /var/run/secrets/kubernetes.io/serviceaccount/ 中的 pod 的 CA 证书和 bearer 令牌文件。

arbitraryFSAccessThroughSMs

对象

arbitraryFSAccessThroughSMs 配置基于服务监控器的配置能否访问 Prometheus 容器的文件系统上的任意文件,如 bearer 令牌文件。

baseImage

字符串

用于 Prometheus 部署的基础镜像。deprecated: 使用 'image' 替代

configMaps

数组(字符串)

ConfigMap 是与 Prometheus 对象相同的命名空间中的 ConfigMap 列表,它应该被挂载到 Prometheus Pod 中。每个 ConfigMap 都作为名为 configmap-<configmap-name> 的卷添加到 StatefulSet 定义中。ConfigMap 被挂载到 'prometheus' 容器中的 /etc/prometheus/configmaps/<configmap-name> 中。

containers

array

容器允许注入其他容器或修改操作器生成的容器。这可用于允许向 Prometheus pod 添加身份验证代理或更改 Operator 生成的容器的行为。这里描述的容器如果操作器共享相同的名称和修改,则修改通过战略合并补丁来完成。当前容器名称有: prometheusconfig-reloader、和 thanos-sidecar。覆盖容器完全超出维护人员将支持什么范围,通过这样做,您可以接受这种行为,而无需通知。

containers[]

对象

要在 pod 中运行的单一应用程序容器。

disableCompaction

布尔值

禁用 prometheus 压缩。

enableAdminAPI

布尔值

启用对 prometheus web admin API 的访问。默认值为 false。警告:启用管理 API 可启用变异端点,以删除数据、关闭 Prometheus 等。应谨慎启用此功能,并且建议用户通过代理添加额外的身份验证授权,以确保只有授权执行这些操作的客户端可以这样做。更多信息请参阅 https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis

enableFeatures

数组(字符串)

启用访问 Prometheus 禁用的功能。默认情况下,不启用任何功能。启用禁用的功能完全超出维护人员将支持什么范围,通过这样做,您可以随时接受这种行为,而无需通知。更多信息请参阅 https://prometheus.io/docs/prometheus/latest/disabled_features/

enableRemoteWriteReceiver

布尔值

启用 Prometheus 作为 Prometheus 远程写入协议的接收器。默认值为 false。警告:这不被视为嵌套示例的有效方法。对于特定的低卷用例,请谨慎使用。它不适用于通过提取替换 ingestion,并将 Prometheus 转换成基于推送的指标集合系统。如需更多信息,请参阅 https://prometheus.io/docs/prometheus/latest/querying/api/#remote-write-receiver 仅在 Prometheus 版本 2.33.0 及更新版本中有效。

enforcedBodySizeLimit

字符串

enforcedBodySizeLimit 定义 Prometheus 接受的最大未压缩响应正文的大小。使用大于这个字节的正文响应的目标会导致提取失败。示例:100MB。如果定义,限制将适用于所有服务/pod 监视器和探测。这是一个实验性功能,这个行为可能会在以后更改或删除。仅在 Prometheus 版本 2.28.0 及更新版本中有效。

enforcedLabelLimit

整数

对示例接受的标签数的 per-scrape 限制。如果有多个标签存在于 post metric-relabeling 后,则整个提取将被视为失败。0 表示没有限制。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

enforcedLabelNameLengthLimit

整数

对示例接受的标签名称长度的 per-scrape 限制。如果标签名称大于这个数字 post-relabeling,则整个提取将被视为失败。0 表示没有限制。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

enforcedLabelValueLengthLimit

整数

对示例接受的标签值长度的 per-scrape 限制。如果标签值大于这个数字 post-relabeling,则整个提取将被视为失败。0 表示没有限制。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

enforcedNamespaceLabel

string

EnforcedNamespaceLabel 如果设置,则会将一个标签添加到 1。所有 user-metrics (由 ServiceMonitorPodMonitorProbe 对象创建)和 2. 在所有 PrometheusRule 对象中( prometheusRulesExcludedFromEnforce)中排除的指标都为 * 警报和记录规则,以及 * 表达式中使用的指标(expr)。标签名称是此字段的值。标签值是创建的对象的命名空间(上方所示)。

enforcedSampleLimit

整数

enforcedSampleLimit 在接受的提取示例数上定义了全局限制。这会覆盖每个 ServiceMonitor 或/and PodMonitor 设置的任何 SampleLimit。管理员用来强制 SampleLimit 使用它来保持在所需限制下的示例/类总数。请注意,如果 SampleLimit 较低,该值会被改为使用。

enforcedTargetLimit

整数

EnforcedTargetLimit 在刮除目标数量上定义了一个全局限制。这会覆盖每个 ServiceMonitor 或/and PodMonitor 设置的任何 TargetLimit。管理员用来强制 TargetLimit 使用它来保持目标的整体数量在所需限制下。请注意,如果 TargetLimit 较低,则该值将被改为使用 (如果任一值为零)除外,在这种情况下,将使用非零值。如果这两个值都为零,则不强制实施任何限制。

evaluationInterval

字符串

连续评估之间的间隔。默认: 30s

excludedFromEnforcement

数组

对 PodMonitor、ServiceMonitor、Probe 和 PrometheusRule 对象的引用列表,以便从强制空间标签 origin 中排除。仅在 enforcedNamespaceLabel 设置为 true 时才适用。

excludedFromEnforcement[]

object

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

exemplars

object

Exemplars 相关设置可重新加载。它需要启用 exemplar 存储功能才有效。

externalLabels

对象(字符串)

与外部系统通信时要添加到任何时间序列或警报的标签(federation、remote storage、Alertmanager)。

externalUrl

字符串

Prometheus 实例将位于的外部 URL。这是生成正确 URL 所必需的。如果 Prometheus 不是从 DNS 名称的根目录提供,则需要此项。

hostAliases

数组

Pod 的 hostAliases 配置

hostAliases[]

对象

HostAlias 包含 IP 和主机名之间的映射,这些映射将作为 pod 的主机文件中的条目注入。

hostNetwork

布尔值

如果为 true,请使用主机的网络命名空间。如果要启用它,请确保了解安全隐患。启用 hostNetwork 时,这将自动将 dnsPolicy 设置为 ClusterFirstWithHostNet。

ignoreNamespaceSelectors

布尔值

如果设为 true,则 IgnoreNamespaceSelectors 将忽略来自所有 PodMonitor、ServiceMonitor 和 Probe 对象的 NamespaceSelector 设置。它们只会发现 PodMonitor、ServiceMonitor 和 Probe 对象的命名空间中的端点。默认为false。

image

字符串

如果指定,则镜像的优先级高于 baseImage、tag 和 sha 组合。仍然需要指定版本以确保 Prometheus Operator 知道要配置 Prometheus 版本。

imagePullPolicy

string

'prometheus'、'init-config-reloader' 和 'config-reloader' 容器的镜像拉取策略。详情请查看 https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy

imagePullSecrets

array

从 registry 中对同一命名空间中的 secret 的引用列表,用于从 registry 中拉取 prometheus 和 alertmanager 镜像,请参阅 http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod

imagePullSecrets[]

对象

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

initContainers

array

initContainers 允许将 initContainers 添加到 pod 定义中。它们可用于从外部来源获取用于注入 Prometheus 配置的 secret。执行 initContainer 期间的任何错误将导致重启 Pod。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ InitContainers如果操作器共享相同的名称和修改,则修改 Operator 生成的 init 容器(如果它们通过策略合并补丁完成)。当前 init 容器名称为: init-config-reloader。覆盖 init 容器完全超出维护人员将支持什么范围,通过这样做,您接受的行为可能随时中断,而无需通知。

initContainers[]

对象

要在 pod 中运行的单一应用程序容器。

listenLocal

布尔值

ListenLocal 使 Prometheus 服务器侦听回环,因此它不会绑定 Pod IP。

logFormat

字符串

用于配置 Prometheus 的日志格式。

logLevel

字符串

用于配置 Prometheus 的日志级别。

minReadySeconds

整数

新创建的 pod 应该在不出现任何容器崩溃的情况下变为可用状态的最小秒数。默认值为 0 (pod 会在就绪时被视为可用)。这是 kubernetes 1.22 的一个 alpha 字段,直到 1.24 (需要启用 StatefulSetMinReadySeconds 功能门)。

nodeSelector

对象(字符串)

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

overrideHonorLabels

布尔值

为 true 时,Prometheus 通过将提取数据中的标签重命名为 "exported_<label value>" 来解决标签冲突。否则,会应用服务或 pod 监视器的 HonorLabels 字段。

overrideHonorTimestamps

布尔值

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

paused

布尔值

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

podMetadata

对象

podMetadata 配置传播到 prometheus pod 的 Labels 和 Annotations。

podMonitorNamespaceSelector

对象

命名空间的标签以匹配 PodMonitor 发现。如果为 nil,则仅检查自己的命名空间。

podMonitorSelector

对象

为目标发现选择 实验性 PodMonitor。如果 spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelector 是 null,则 Prometheus 配置为非受管。Prometheus operator 将确保 Prometheus 配置的 Secret 存在,但负责用户在 prometheus.yaml.gz 键下提供原始 gzip Prometheus 配置。这个行为已弃用,并将在自定义资源定义的下一个主版本中删除。建议您使用 spec.additionalScrapeConfigs 替代。

podTargetLabels

数组(字符串)

PodTargetLabels 会添加到所有 Pod/ServiceMonitors 的 podTargetLabels 中

portName

字符串

用于 pod 和监管服务的端口名称。默认为 web

priorityClassName

字符串

分配给 Pod 的优先级类

probeNamespaceSelector

对象

为探测发现选择 实验性 命名空间。如果为 nil,则仅检查自己的命名空间。

probeSelector

对象

为目标发现选择 实验性 探测。如果 spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelector 是 null,则 Prometheus 配置为非受管。Prometheus operator 将确保 Prometheus 配置的 Secret 存在,但负责用户在 prometheus.yaml.gz 键下提供原始 gzip Prometheus 配置。这个行为已弃用,并将在自定义资源定义的下一个主版本中删除。建议您使用 spec.additionalScrapeConfigs 替代。

prometheusExternalLabelName

字符串

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

prometheusRulesExcludedFromEnforce

array

prometheusRulesExcludedFromEnforce - 从 enforcing 添加命名空间标签中排除的 prometheus 规则列表。只有在 enforcedNamespaceLabel 设置为 true 时才可以正常工作。确保为每个对设置 ruleNamespace 和 ruleName。deprecated: 使用 excludedFromEnforcement 替代。

prometheusRulesExcludedFromEnforce[]

对象

PrometheusRuleExcludeConfig 允许用户配置排除的 PrometheusRule 名称及其命名空间,同时为警报和指标强制执行命名空间标签。

query

对象

QuerySpec 在启动 Prometheus 时定义查询命令行标志。

queryLogFile

字符串

QueryLogFile 指定 PromQL 查询要记录到的文件。如果文件名具有空路径,如 'query.log',prometheus-operator 会将该文件挂载到位于 /var/log/prometheus 的 emptyDir 卷中。如果提供了完整路径,如 /var/log/prometheus/query.log,您必须在指定目录中挂载卷,且必须可写。这是因为 prometheus 容器因为安全原因使用只读根文件系统运行。或者,可以将位置设置为 stdout 位置,如 /dev/stdout,将查询信息记录到默认的 Prometheus 日志流。这只在 Prometheus >= 2.16.0 版本中可用。如需了解更多详细信息,请参阅 Prometheus 文档(https://prometheus.io/docs/guides/query-log/)

remoteRead

数组

remoteRead 是远程读取配置的列表。

remoteRead[]

object

RemoteReadSpec 定义 Prometheus 的配置,以从远程端点读取后端示例。

remoteWrite

数组

remoteWrite 是远程写入配置的列表。

remoteWrite[]

object

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

replicaExternalLabelName

字符串

用于表示副本名称的 Prometheus 外部标签的名称。默认为 prometheus_replica 的值。当值设为空字符串时,不会添加 外部标签("")。

replicas

整数

为 Prometheus 部署部署的每个分片的副本数。副本数乘以分片创建的 Pod 总数。

资源

对象

为单个 Pod 定义资源请求和限值。

保留

字符串

Prometheus 应该保留数据的时长:如果没有设置 retentionSize,则默认为 '24h',且必须与正则表达式 [0-9]+(ms|s|m|h|h|h|d|w|y) 匹配(毫秒数小时数周)。

retentionSize

字符串

块使用的最大磁盘空间量。

routePrefix

字符串

Prometheus 注册 HTTP 处理程序的路由前缀。这在使用 ExternalURL 和代理时很有用,如果重写请求的 HTTP 路由,并且实际的 ExternalURL 仍为 true,但服务器在不同的路由前缀下提供请求。例如,用于 kubectl proxy

ruleNamespaceSelector

对象

为 PrometheusRules 发现选择的命名空间。如果未指定,则使用与 Prometheus 对象相同的命名空间。

ruleSelector

对象

从中选择要挂载哪些 PrometheusRules 以加载警报/记录规则的选择器。until (不包括)Prometheus Operator v0.24.0 Prometheus Operator 会将任何旧的规则 ConfigMap 迁移到 RuleSelector 选择的 PrometheusRule 自定义资源。请确定它与您不想迁移的任何配置映射不匹配。

rules

对象

/--rules targeted/ 命令行参数。

scrapeInterval

字符串

连续提取之间的间隔。默认: 30s

scrapeTimeout

字符串

在出错前等待目标响应的秒数。

secrets

数组(字符串)

secret 是与 Prometheus 对象相同的命名空间中的 Secret 列表,它应该被挂载到 Prometheus Pod 中。每个 Secret 都作为名为 secret-<secret-name> 的卷添加到 StatefulSet 定义中。Secret 被挂载到 'prometheus' 容器中的 /etc/prometheus/secrets/<secret-name> 中。

securityContext

对象

securityContext 包含 pod 级别的安全属性和通用容器设置。默认为默认的 PodSecurityContext。

serviceAccountName

字符串

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

serviceMonitorNamespaceSelector

对象

命名空间的标签以匹配 ServiceMonitor 发现。如果为 nil,则仅检查自己的命名空间。

serviceMonitorSelector

对象

为目标发现选择的 ServiceMonitor。如果 spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelector 是 null,则 Prometheus 配置为非受管。Prometheus operator 将确保 Prometheus 配置的 Secret 存在,但负责用户在 prometheus.yaml.gz 键下提供原始 gzip Prometheus 配置。这个行为已弃用,并将在自定义资源定义的下一个主版本中删除。建议您使用 spec.additionalScrapeConfigs 替代。

sha

字符串

要部署的 Prometheus 容器镜像的 SHA。默认为 version 的值。与标签类似,但 SHA 显式部署不可变的容器镜像。如果设置了 SHA,则忽略版本和标签。deprecated: 使用 'image' 替代。镜像摘要可以指定为镜像 URL 的一部分。

分片

整数

EXPERIMENTAL:要分发目标的分片数量。副本数乘以分片创建的 Pod 总数。请注意,缩减分片不会在剩余的实例上重新划分数据,必须手动移动。增加分片不会重新划分数据,但将继续从同一实例获得。要全局查询使用 Thanos sidecar 和 Thanos querier 或远程写入数据到中央位置。分片在 地址 目标 meta-label 的内容上完成。

storage

对象

存储规格以指定如何使用存储。

tag

字符串

要部署的 Prometheus 容器镜像的标签。默认为 version 的值。如果设置了 Tag,则忽略 version。deprecated: 使用 'image' 替代。镜像标签可以作为镜像 URL 的一部分指定。

thanos

对象

Thanos 配置允许在 Thanos 环境中配置 Prometheus 服务器的各个方面。本节是实验性的,可能会在任何发行版本中没有弃用通知的情况下有很大变化。

容限(tolerations)

array

如果指定,pod 的容限。

tolerations[]

对象

此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。

topologySpreadConstraints

array

如果指定,pod 的拓扑分布限制。

topologySpreadConstraints[]

对象

TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。

tsdb

object

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

version

字符串

要部署的 Prometheus 版本。

volumeMounts

array

volumeMounts 允许在输出 StatefulSet 定义上配置额外的 VolumeMount。指定的 volumeMounts 会附加到 prometheus 容器中的其他 VolumeMounts 中,这些 VolumeMount 作为 StorageSpec 对象生成的。

volumeMounts[]

对象

VolumeMount 描述了容器内卷挂载。

array

卷允许在输出 StatefulSet 定义中配置额外的卷。指定的卷将附加到作为 StorageSpec 对象生成的其他卷。

volumes[]

对象

卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。

walCompression

布尔值

使用 Snappy 启用 write-ahead 日志的压缩。这个标志只在 Prometheus >= 2.11.0 版本中可用。

web

object

定义启动 Prometheus 时的 Web 命令行标志。

6.1.2. .spec.additionalAlertManagerConfigs

描述
additionalAlertmanagerConfigs 允许指定包含额外 Prometheus AlertManager 配置的 Secret 的密钥。指定 Alertmanager 配置附加到 Prometheus Operator 生成的配置中。指定的作业配置必须具有官方 Prometheus 文档中指定的表单: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config。附加 AlertManager 配置后,用户负责确保它有效。请注意,使用此功能可能会公开可能会破坏 Prometheus 的升级。建议查看 Prometheus 发行注记,以确保升级后没有不兼容的 AlertManager 配置会破坏 Prometheus。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.3. .spec.additionalAlertRelabelConfigs

描述
additionalAlertRelabelConfigs 允许指定包含额外 Prometheus 警报重新标记配置的 Secret 的密钥。指定的警报重新标记配置附加到 Prometheus Operator 生成的配置中。指定的警报重新标记配置必须具有官方 Prometheus 文档中指定的表单: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs。附加警报重新标记配置后,用户负责确保它有效。请注意,使用此功能可能会公开可能会破坏 Prometheus 的升级。建议查看 Prometheus 发行注记,以确保升级后没有不兼容的警报重新标记配置中断 Prometheus。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.4. .spec.additionalArgs

描述
AdditionalArgs 允许为 Prometheus 容器设置额外的参数。它旨在激活被专用配置选项不支持的隐藏标志。参数按原样传递给 Prometheus 容器,如果给定 Prometheus 版本无效或不支持它们,则可能会导致问题。如果参数冲突(例如,已由 Operator 本身设置的参数),或者在提供无效的参数时,协调将失败,并会记录错误。
类型
数组

6.1.5. .spec.additionalArgs[]

描述
参数作为 AdditionalArgs 列表的一部分。
类型
object
必填
  • name
属性类型描述

name

string

参数的名称,如 "scrape.discovery-reload-interval"。

value

string

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

6.1.6. .spec.additionalScrapeConfigs

描述
additionalScrapeConfigs 允许指定包含额外 Prometheus scrape 配置的 Secret 的密钥。指定的提取配置附加到 Prometheus Operator 生成的配置中。指定的作业配置必须具有官方 Prometheus 文档中指定的表单: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config。附加提取配置后,用户负责确保它有效。请注意,使用此功能可能会公开可能会破坏 Prometheus 的升级。建议查看 Prometheus 发行注记,以确保升级后没有不兼容的提取配置中断 Prometheus。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.7. .spec.affinity

描述
如果指定,pod 的调度限制。
类型
object
属性类型描述

nodeAffinity

对象

描述 pod 的节点关联性调度规则。

podAffinity

对象

描述 pod 关联性调度规则(例如,将这个 pod 位于同一个节点、区等)中。

podAntiAffinity

对象

描述 pod 反关联性调度规则(例如,避免将此 pod 放置到同一个节点、区等)。

6.1.8. .spec.affinity.nodeAffinity

描述
描述 pod 的节点关联性调度规则。
类型
object
属性类型描述

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。

requiredDuringSchedulingIgnoredDuringExecution

对象

如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于更新),则系统可能或可能无法最终从其节点驱除 pod。

6.1.9. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述
调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。
类型
array

6.1.10. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述
空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。
类型
object
必填
  • preference
  • weight
属性类型描述

preference

对象

与对应权重关联的节点选择器术语。

weight

整数

与对应 nodeSelectorTerm 关联的权重,范围为 1-100。

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

描述
与对应权重关联的节点选择器术语。
类型
object
属性类型描述

matchExpressions

array

按节点标签划分的节点选择器要求列表。

matchExpressions[]

对象

节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchFields

array

按节点字段划分的节点选择器要求列表。

matchFields[]

对象

节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

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

描述
按节点标签划分的节点选择器要求列表。
类型
array

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

描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。

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

描述
按节点字段划分的节点选择器要求列表。
类型
array

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

描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。

6.1.16. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述
如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于更新),则系统可能或可能无法最终从其节点驱除 pod。
类型
object
必填
  • nodeSelectorTerms
属性类型描述

nodeSelectorTerms

array

必需。节点选择器术语列表。术语为 ORed。

nodeSelectorTerms[]

对象

null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。

6.1.17. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms

描述
必需。节点选择器术语列表。术语为 ORed。
类型
array

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

描述
null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
类型
object
属性类型描述

matchExpressions

array

按节点标签划分的节点选择器要求列表。

matchExpressions[]

对象

节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchFields

array

按节点字段划分的节点选择器要求列表。

matchFields[]

对象

节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

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

描述
按节点标签划分的节点选择器要求列表。
类型
array

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

描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。

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

描述
按节点字段划分的节点选择器要求列表。
类型
array

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

描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。

6.1.23. .spec.affinity.podAffinity

描述
描述 pod 关联性调度规则(例如,将这个 pod 位于同一个节点、区等)中。
类型
object
属性类型描述

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。

requiredDuringSchedulingIgnoredDuringExecution

array

如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。

6.1.24. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述
调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。
类型
array

6.1.25. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述
所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
类型
object
必填
  • podAffinityTerm
  • weight
属性类型描述

podAffinityTerm

对象

必需。与对应权重关联的 pod 关联性术语。

weight

整数

与对应的 podAffinityTerm 关联的权重,范围为 1-100。

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

描述
必需。与对应权重关联的 pod 关联性术语。
类型
object
必填
  • topologyKey
属性类型描述

labelSelector

对象

对一组资源进行标签查询,本例中为 pod。

namespaceSelector

对象

术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。

topologyKey

字符串

此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。

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

描述
对一组资源进行标签查询,本例中为 pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

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

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

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

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

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

描述
术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

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

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

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

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.33. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述
如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
类型
array

6.1.34. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

描述
定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
类型
object
必填
  • topologyKey
属性类型描述

labelSelector

对象

对一组资源进行标签查询,本例中为 pod。

namespaceSelector

对象

术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。

topologyKey

字符串

此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。

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

描述
对一组资源进行标签查询,本例中为 pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

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

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

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

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

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

描述
术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

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

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

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

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.41. .spec.affinity.podAntiAffinity

描述
描述 pod 反关联性调度规则(例如,避免将此 pod 放置到同一个节点、区等)。
类型
object
属性类型描述

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。

requiredDuringSchedulingIgnoredDuringExecution

array

如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。

6.1.42. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述
调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。
类型
array

6.1.43. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述
所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
类型
object
必填
  • podAffinityTerm
  • weight
属性类型描述

podAffinityTerm

对象

必需。与对应权重关联的 pod 关联性术语。

weight

整数

与对应的 podAffinityTerm 关联的权重,范围为 1-100。

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

描述
必需。与对应权重关联的 pod 关联性术语。
类型
object
必填
  • topologyKey
属性类型描述

labelSelector

对象

对一组资源进行标签查询,本例中为 pod。

namespaceSelector

对象

术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。

topologyKey

字符串

此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。

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

描述
对一组资源进行标签查询,本例中为 pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

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

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

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

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

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

描述
术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

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

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

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

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.51. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述
如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
类型
array

6.1.52. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

描述
定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
类型
object
必填
  • topologyKey
属性类型描述

labelSelector

对象

对一组资源进行标签查询,本例中为 pod。

namespaceSelector

对象

术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。

topologyKey

字符串

此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。

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

描述
对一组资源进行标签查询,本例中为 pod。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

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

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

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

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

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

描述
术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

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

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

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

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.59. .spec.alerting

描述
定义警报的详细信息。
类型
object
必填
  • alertmanagers
属性类型描述

alertmanagers

array

AlertmanagerEndpoints Prometheus 应触发警报。

alertmanagers[]

对象

AlertmanagerEndpoints 定义包含 alertmanager IP 的单个 Endpoints 对象的选择,以触发警报。

6.1.60. .spec.alerting.alertmanagers

描述
AlertmanagerEndpoints Prometheus 应触发警报。
类型
array

6.1.61. .spec.alerting.alertmanagers[]

描述
AlertmanagerEndpoints 定义包含 alertmanager IP 的单个 Endpoints 对象的选择,以触发警报。
类型
object
必填
  • name
  • namespace
  • port
属性类型描述

apiVersion

字符串

Prometheus 用来发送警报的 Alertmanager API 版本。它可以是 "v1" 或 "v2"。

授权

对象

此 alertmanager 端点的授权部分

basicAuth

对象

basicAuth 允许端点通过基本身份验证进行身份验证

bearerTokenFile

字符串

BearerTokenFile 从文件系统读取,以便在向 Alertmanager 进行身份验证时要使用的文件系统。

enableHttp2

布尔值

是否启用 HTTP2。

name

字符串

Namespace 中的 Endpoints 对象的名称。

namespace

字符串

Endpoints 对象的命名空间。

pathPrefix

字符串

HTTP 路径警报的前缀被推送到。

port

integer-or-string

在其上公开 Alertmanager API 的端口。

scheme

字符串

触发警报时要使用的方案。

timeout

字符串

timeout 是推送警报时每个目标 Alertmanager 超时。

tlsConfig

对象

用于 alertmanager 连接的 TLS Config。

6.1.62. .spec.alerting.alertmanagers[].authorization

描述
此 alertmanager 端点的授权部分
类型
object
属性类型描述

credentials

对象

包含请求凭证的 secret 密钥

type

字符串

设置身份验证类型。默认为 Bearer,Basic 将导致错误

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

描述
包含请求凭证的 secret 密钥
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.64. .spec.alerting.alertmanagers[].basicAuth

描述
basicAuth 允许端点通过基本身份验证进行身份验证
类型
object
属性类型描述

password

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的密码。

username

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。

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

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的密码。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

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

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.67. .spec.alerting.alertmanagers[].tlsConfig

描述
用于 alertmanager 连接的 TLS Config。
类型
object
属性类型描述

ca

object

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

caFile

字符串

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

cert

object

执行 client-authentication 时要出现的客户端证书。

certFile

字符串

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

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

字符串

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

keySecret

对象

包含目标客户端密钥文件的 secret。

serverName

字符串

用于验证目标的主机名。

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

描述
验证服务器证书时使用的证书颁发机构。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

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

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

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

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

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

描述
执行 client-authentication 时要出现的客户端证书。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

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

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

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

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

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

描述
包含目标客户端密钥文件的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.75. .spec.apiserverConfig

描述
apiserverConfig 允许指定主机和 auth 方法访问 apiserver。如果留空,Prometheus 会假定在集群内运行,并将自动发现 API 服务器,并使用位于 /var/run/secrets/kubernetes.io/serviceaccount/ 中的 pod 的 CA 证书和 bearer 令牌文件。
类型
object
必填
  • 主机
属性类型描述

授权

对象

访问 apiserver 的授权部分

basicAuth

对象

basicAuth 允许端点通过基本身份验证进行身份验证

bearerToken

字符串

用于访问 apiserver 的 bearer 令牌。

bearerTokenFile

字符串

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

主机

字符串

apiserver 的主机。由主机名或 IP 组成的有效字符串,后跟可选的端口号

tlsConfig

对象

用于访问 apiserver 的 TLS 配置。

6.1.76. .spec.apiserverConfig.authorization

描述
访问 apiserver 的授权部分
类型
object
属性类型描述

credentials

对象

包含请求凭证的 secret 密钥

credentialsFile

字符串

从中读取 secret 的文件,与凭证相互排斥的(安全授权)

type

字符串

设置身份验证类型。默认为 Bearer,Basic 将导致错误

6.1.77. .spec.apiserverConfig.authorization.credentials

描述
包含请求凭证的 secret 密钥
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.78. .spec.apiserverConfig.basicAuth

描述
basicAuth 允许端点通过基本身份验证进行身份验证
类型
object
属性类型描述

password

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的密码。

username

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。

6.1.79. .spec.apiserverConfig.basicAuth.password

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的密码。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.80. .spec.apiserverConfig.basicAuth.username

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.81. .spec.apiserverConfig.tlsConfig

描述
用于访问 apiserver 的 TLS 配置。
类型
object
属性类型描述

ca

object

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

caFile

字符串

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

cert

object

执行 client-authentication 时要出现的客户端证书。

certFile

字符串

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

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

字符串

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

keySecret

对象

包含目标客户端密钥文件的 secret。

serverName

字符串

用于验证目标的主机名。

6.1.82. .spec.apiserverConfig.tlsConfig.ca

描述
验证服务器证书时使用的证书颁发机构。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.83. .spec.apiserverConfig.tlsConfig.ca.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.84. .spec.apiserverConfig.tlsConfig.ca.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.85. .spec.apiserverConfig.tlsConfig.cert

描述
执行 client-authentication 时要出现的客户端证书。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.86. .spec.apiserverConfig.tlsConfig.cert.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.87. .spec.apiserverConfig.tlsConfig.cert.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.88. .spec.apiserverConfig.tlsConfig.keySecret

描述
包含目标客户端密钥文件的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.89. .spec.arbitraryFSAccessThroughSMs

描述
arbitraryFSAccessThroughSMs 配置基于服务监控器的配置能否访问 Prometheus 容器的文件系统上的任意文件,如 bearer 令牌文件。
类型
object
属性类型描述

deny

布尔值

 

6.1.90. .spec.containers

描述
容器允许注入其他容器或修改操作器生成的容器。这可用于允许向 Prometheus pod 添加身份验证代理或更改 Operator 生成的容器的行为。这里描述的容器如果操作器共享相同的名称和修改,则修改通过战略合并补丁来完成。当前容器名称有: prometheusconfig-reloader、和 thanos-sidecar。覆盖容器完全超出维护人员将支持什么范围,通过这样做,您可以接受这种行为,而无需通知。
类型
array

6.1.91. .spec.containers[]

描述
要在 pod 中运行的单一应用程序容器。
类型
object
必填
  • name
属性类型描述

args

数组(字符串)

入口点的参数。如果没有提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为一个单个 $,它用于转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

命令

数组(字符串)

ENTRYPOINT 数组.没有在 shell 中执行。如果未提供此容器镜像,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为一个单个 $,它用于转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

array

容器中要设置的环境变量列表。无法更新。

env[]

对象

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

envFrom

array

在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。

envFrom[]

对象

EnvFromSource 代表一组 ConfigMap 的源

image

string

容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。

imagePullPolicy

字符串

镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images

生命周期

对象

管理系统应采取的操作来响应容器生命周期事件。无法更新。

livenessProbe

对象

容器存活度探测.如果探测失败,容器将重启。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

字符串

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

ports

array

从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。

ports[]

对象

containerPort 代表单个容器中的网络端口。

readinessProbe

对象

容器服务的定期探测到就绪状态。如果探测失败,容器将从服务端点中删除。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

资源

对象

此容器所需的计算资源。无法更新。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

securityContext

对象

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

startupProbe

对象

startupProbe 表示 Pod 已成功初始化。如果指定,则不会执行其他探测,直到成功完成为止。如果这个探测失败,则 Pod 将重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,当可能需要很长时间才能加载数据或温缓存时,而不是在 steady-state 操作过程中提供不同的探测参数。这不能更新。更多信息: https://kubernetes.io/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

字符串

可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。

terminationMessagePolicy

字符串

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

tty

布尔值

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

volumeDevices

array

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

volumeDevices[]

对象

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

volumeMounts

array

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

volumeMounts[]

对象

VolumeMount 描述了容器内卷挂载。

workingDir

字符串

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

6.1.92. .spec.containers[].env

描述
容器中要设置的环境变量列表。无法更新。
类型
array

6.1.93. .spec.containers[].env[]

描述
EnvVar 代表容器中存在的环境变量。
类型
object
必填
  • name
属性类型描述

name

字符串

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

value

字符串

变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为一个单个 $,它用于转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。

valueFrom

对象

环境变量的值的源。如果值不为空,则无法使用。

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

描述
环境变量的值的源。如果值不为空,则无法使用。
类型
object
属性类型描述

configMapKeyRef

对象

选择 ConfigMap 的键。

fieldRef

对象

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

resourceFieldRef

对象

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

secretKeyRef

对象

在 pod 命名空间中选择 secret 的键

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

描述
选择 ConfigMap 的键。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

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

描述
选择 pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

模式的版本是按术语编写的 FieldPath,默认为 "v1"。

fieldPath

字符串

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

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

描述
选择容器的资源:当前仅支持资源限值和请求(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage)。
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷需要,对于 env vars是可选的

divisor

integer-or-string

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

resource

字符串

必需:要选择的资源

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

描述
在 pod 命名空间中选择 secret 的键
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.99. .spec.containers[].envFrom

描述
在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
类型
array

6.1.100. .spec.containers[].envFrom[]

描述
EnvFromSource 代表一组 ConfigMap 的源
类型
object
属性类型描述

configMapRef

对象

要从中选择的 ConfigMap

prefix

字符串

要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。

secretRef

对象

要从中选择的 Secret

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

描述
要从中选择的 ConfigMap
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否必须定义 ConfigMap

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

描述
要从中选择的 Secret
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否必须定义 Secret

6.1.103. .spec.containers[].lifecycle

描述
管理系统应采取的操作来响应容器生命周期事件。无法更新。
类型
object
属性类型描述

postStart

对象

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

preStop

对象

preStop 在因为 API 请求或管理事件而终止容器前马上调用,如存活度/启动探测失败、抢占、资源争用等。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时开始,然后再执行 PreStop hook。无论处理程序的结果是什么,容器最终都会在 Pod 的终止宽限期内终止(除非被终结器造成延迟)。容器的其他管理块直到 hook 完成或直至到达终止宽限期为止。更多信息: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

6.1.104. .spec.containers[].lifecycle.postStart

描述
postStart 在容器被创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器块的其他管理,直到 hook 完成为止。更多信息: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

httpGet

对象

httpGet 指定要执行的 http 请求。

tcpSocket

object

已弃用。tcpSocket 不支持作为 LifecycleHandler,并且保持向后兼容性。指定 tcp 处理程序时,没有此字段的验证和生命周期 hook 将在运行时失败。

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

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

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

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

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

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

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

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

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

描述
已弃用。tcpSocket 不支持作为 LifecycleHandler,并且保持向后兼容性。指定 tcp 处理程序时,没有此字段的验证和生命周期 hook 将在运行时失败。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.110. .spec.containers[].lifecycle.preStop

描述
preStop 在因为 API 请求或管理事件而终止容器前马上调用,如存活度/启动探测失败、抢占、资源争用等。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时开始,然后再执行 PreStop hook。无论处理程序的结果是什么,容器最终都会在 Pod 的终止宽限期内终止(除非被终结器造成延迟)。容器的其他管理块直到 hook 完成或直至到达终止宽限期为止。更多信息: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

httpGet

对象

httpGet 指定要执行的 http 请求。

tcpSocket

object

已弃用。tcpSocket 不支持作为 LifecycleHandler,并且保持向后兼容性。指定 tcp 处理程序时,没有此字段的验证和生命周期 hook 将在运行时失败。

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

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

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

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

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

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

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

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

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

描述
已弃用。tcpSocket 不支持作为 LifecycleHandler,并且保持向后兼容性。指定 tcp 处理程序时,没有此字段的验证和生命周期 hook 将在运行时失败。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.116. .spec.containers[].livenessProbe

描述
容器存活度探测.如果探测失败,容器将重启。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

failureThreshold

整数

在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。

httpGet

对象

httpGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

对象

tcpSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

6.1.117. .spec.containers[].livenessProbe.exec

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

6.1.118. .spec.containers[].livenessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。number 必须在 1 到 65535 之间。

service

string

service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。如果没有指定,则默认行为由 gRPC 定义。

6.1.119. .spec.containers[].livenessProbe.httpGet

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

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

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

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

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

6.1.122. .spec.containers[].livenessProbe.tcpSocket

描述
tcpSocket 指定涉及 TCP 端口的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.123. .spec.containers[].ports

描述
从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
类型
array

6.1.124. .spec.containers[].ports[]

描述
containerPort 代表单个容器中的网络端口。
类型
object
必填
  • containerPort
属性类型描述

containerPort

整数

pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。

hostIP

字符串

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

hostPort

整数

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

name

字符串

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

protocol

字符串

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

6.1.125. .spec.containers[].readinessProbe

描述
容器服务的定期探测到就绪状态。如果探测失败,容器将从服务端点中删除。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

failureThreshold

整数

在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。

httpGet

对象

httpGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

对象

tcpSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

6.1.126. .spec.containers[].readinessProbe.exec

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

6.1.127. .spec.containers[].readinessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。number 必须在 1 到 65535 之间。

service

string

service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。如果没有指定,则默认行为由 gRPC 定义。

6.1.128. .spec.containers[].readinessProbe.httpGet

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

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

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

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

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

6.1.131. .spec.containers[].readinessProbe.tcpSocket

描述
tcpSocket 指定涉及 TCP 端口的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.132. .spec.containers[].resources

描述
此容器所需的计算资源。无法更新。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object
属性类型描述

claims

数组

claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。

claims[]

object

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

limits

integer-or-string

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

requests

integer-or-string

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

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

描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。
类型
数组

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

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

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

6.1.135. .spec.containers[].securityContext

描述
securityContext 定义容器应运行的安全选项。如果设置,SecurityContext 的字段会覆盖 PodSecurityContext 的等效字段。更多信息: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
类型
object
属性类型描述

allowPrivilegeEscalation

布尔值

allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。

功能

对象

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

privileged

布尔值

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

procMount

字符串

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

readOnlyRootFilesystem

布尔值

此容器是否具有只读 root 文件系统。默认为 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

对象

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

seccompProfile

对象

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

windowsOptions

对象

应用到所有容器的 Windows 特定设置。如果未指定,则使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 linux 时,不能设置此字段。

6.1.136. .spec.containers[].securityContext.capabilities

描述
运行容器时添加/丢弃的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 是 windows 时无法设置此字段。
类型
object
属性类型描述

add

数组(字符串)

添加了功能

drop

数组(字符串)

删除的功能

6.1.137. .spec.containers[].securityContext.seLinuxOptions

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

level

字符串

level 是适用于容器的 SELinux 级别标签。

role

字符串

role 是适用于容器的 SELinux 角色标签。

type

字符串

type 是适用于容器的 SELinux 类型标签。

user

字符串

user 是适用于容器的 SELinux 用户标签。

6.1.138. .spec.containers[].securityContext.seccompProfile

描述
此容器使用的 seccomp 选项。如果 seccomp 选项同时在 pod 和容器级别上提供,则容器选项会覆盖 pod 选项。请注意,当 spec.os.name 是 windows 时无法设置此字段。
类型
object
必填
  • type
属性类型描述

localhostProfile

字符串

localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。只有 type 为 "Localhost" 时,才应设置。

type

字符串

Type 表示将应用了哪些 seccomp 配置集。有效选项包括: Localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。

6.1.139. .spec.containers[].securityContext.windowsOptions

描述
应用到所有容器的 Windows 特定设置。如果未指定,则使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 linux 时,不能设置此字段。
类型
object
属性类型描述

gmsaCredentialSpec

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。

hostProcess

布尔值

HostProcess 确定容器是否应作为"主机进程"容器运行。此字段是 alpha-level,仅包含启用 WindowsHostProcessContainers 功能标记的组件。在没有功能标记的情况下设置此字段将导致验证 Pod 时出现错误。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。

runAsUserName

字符串

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

6.1.140. .spec.containers[].startupProbe

描述
startupProbe 表示 Pod 已成功初始化。如果指定,则不会执行其他探测,直到成功完成为止。如果这个探测失败,则 Pod 将重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,当可能需要很长时间才能加载数据或温缓存时,而不是在 steady-state 操作过程中提供不同的探测参数。这不能更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

failureThreshold

整数

在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。

httpGet

对象

httpGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

对象

tcpSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

6.1.141. .spec.containers[].startupProbe.exec

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

6.1.142. .spec.containers[].startupProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。number 必须在 1 到 65535 之间。

service

string

service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。如果没有指定,则默认行为由 gRPC 定义。

6.1.143. .spec.containers[].startupProbe.httpGet

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

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

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

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

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

6.1.146. .spec.containers[].startupProbe.tcpSocket

描述
tcpSocket 指定涉及 TCP 端口的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.147. .spec.containers[].volumeDevices

描述
volumeDevices 是容器要使用的块设备列表。
类型
array

6.1.148. .spec.containers[].volumeDevices[]

描述
volumeDevice 描述了容器中原始块设备的映射。
类型
object
必填
  • devicePath
  • name
属性类型描述

devicePath

字符串

DevicePath 是该设备要映射到的容器内的路径。

name

字符串

name 必须与 pod 中 persistentVolumeClaim 的名称匹配

6.1.149. .spec.containers[].volumeMounts

描述
要挂载到容器文件系统的 Pod 卷。无法更新。
类型
array

6.1.150. .spec.containers[].volumeMounts[]

描述
VolumeMount 描述了容器内卷挂载。
类型
object
必填
  • mountPath
  • name
属性类型描述

mountPath

字符串

应挂载卷的容器中的路径。不得包含 ':'。

mountPropagation

字符串

mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。

name

字符串

这必须与卷的 Name 匹配。

readOnly

布尔值

如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。

subPath

字符串

应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。

subPathExpr

字符串

在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。

6.1.151. .spec.excludedFromEnforcement

描述
对 PodMonitor、ServiceMonitor、Probe 和 PrometheusRule 对象的引用列表,以便从强制空间标签 origin 中排除。仅在 enforcedNamespaceLabel 设置为 true 时才适用。
类型
数组

6.1.152. .spec.excludedFromEnforcement[]

描述
ObjectReference 引用 PodMonitor、ServiceMonitor、Probe 或 PrometheusRule 对象。
类型
object
必填
  • namespace
  • resource
属性类型描述

group

string

引用的组。如果没有指定,则默认为 monitoring.coreos.com

name

字符串

引用的名称。如果没有设置,则所有资源都会匹配。

namespace

字符串

引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resource

string

引用的资源。

6.1.153. .spec.exemplars

描述
Exemplars 相关设置可重新加载。它需要启用 exemplar 存储功能才有效。
类型
object
属性类型描述

maxSize

整数

存储在所有系列的内存中的最大 exemplar 数量。如果没有设置,Prometheus 将使用其默认值。为零或小于零的值会禁用存储。

6.1.154. .spec.hostAliases

描述
Pod 的 hostAliases 配置
类型
数组

6.1.155. .spec.hostAliases[]

描述
HostAlias 包含 IP 和主机名之间的映射,这些映射将作为 pod 的主机文件中的条目注入。
类型
object
必填
  • 主机名
  • ip
属性类型描述

主机名

数组(字符串)

以上 IP 地址的主机名。

ip

字符串

主机文件条目的 IP 地址。

6.1.156. .spec.imagePullSecrets

描述
从 registry 中对同一命名空间中的 secret 的引用列表,用于从 registry 中拉取 prometheus 和 alertmanager 镜像,请参阅 http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
类型
array

6.1.157. .spec.imagePullSecrets[]

描述
LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.158. .spec.initContainers

描述
initContainers 允许将 initContainers 添加到 pod 定义中。它们可用于从外部来源获取用于注入 Prometheus 配置的 secret。执行 initContainer 期间的任何错误将导致重启 Pod。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ InitContainers如果操作器共享相同的名称和修改,则修改 Operator 生成的 init 容器(如果它们通过策略合并补丁完成)。当前 init 容器名称为: init-config-reloader。覆盖 init 容器完全超出维护人员将支持什么范围,通过这样做,您接受的行为可能随时中断,而无需通知。
类型
array

6.1.159. .spec.initContainers[]

描述
要在 pod 中运行的单一应用程序容器。
类型
object
必填
  • name
属性类型描述

args

数组(字符串)

入口点的参数。如果没有提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为一个单个 $,它用于转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

命令

数组(字符串)

ENTRYPOINT 数组.没有在 shell 中执行。如果未提供此容器镜像,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为一个单个 $,它用于转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

array

容器中要设置的环境变量列表。无法更新。

env[]

对象

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

envFrom

array

在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。

envFrom[]

对象

EnvFromSource 代表一组 ConfigMap 的源

image

string

容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。

imagePullPolicy

字符串

镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images

生命周期

对象

管理系统应采取的操作来响应容器生命周期事件。无法更新。

livenessProbe

对象

容器存活度探测.如果探测失败,容器将重启。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

字符串

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

ports

array

从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。

ports[]

对象

containerPort 代表单个容器中的网络端口。

readinessProbe

对象

容器服务的定期探测到就绪状态。如果探测失败,容器将从服务端点中删除。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

资源

对象

此容器所需的计算资源。无法更新。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

securityContext

对象

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

startupProbe

对象

startupProbe 表示 Pod 已成功初始化。如果指定,则不会执行其他探测,直到成功完成为止。如果这个探测失败,则 Pod 将重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,当可能需要很长时间才能加载数据或温缓存时,而不是在 steady-state 操作过程中提供不同的探测参数。这不能更新。更多信息: https://kubernetes.io/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

字符串

可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。

terminationMessagePolicy

字符串

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

tty

布尔值

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

volumeDevices

array

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

volumeDevices[]

对象

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

volumeMounts

array

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

volumeMounts[]

对象

VolumeMount 描述了容器内卷挂载。

workingDir

字符串

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

6.1.160. .spec.initContainers[].env

描述
容器中要设置的环境变量列表。无法更新。
类型
array

6.1.161. .spec.initContainers[].env[]

描述
EnvVar 代表容器中存在的环境变量。
类型
object
必填
  • name
属性类型描述

name

字符串

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

value

字符串

变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为一个单个 $,它用于转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。

valueFrom

对象

环境变量的值的源。如果值不为空,则无法使用。

6.1.162. .spec.initContainers[].env[].valueFrom

描述
环境变量的值的源。如果值不为空,则无法使用。
类型
object
属性类型描述

configMapKeyRef

对象

选择 ConfigMap 的键。

fieldRef

对象

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

resourceFieldRef

对象

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

secretKeyRef

对象

在 pod 命名空间中选择 secret 的键

6.1.163. .spec.initContainers[].env[].valueFrom.configMapKeyRef

描述
选择 ConfigMap 的键。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.164. .spec.initContainers[].env[].valueFrom.fieldRef

描述
选择 pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

模式的版本是按术语编写的 FieldPath,默认为 "v1"。

fieldPath

字符串

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

6.1.165. .spec.initContainers[].env[].valueFrom.resourceFieldRef

描述
选择容器的资源:当前仅支持资源限值和请求(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage)。
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷需要,对于 env vars是可选的

divisor

integer-or-string

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

resource

字符串

必需:要选择的资源

6.1.166. .spec.initContainers[].env[].valueFrom.secretKeyRef

描述
在 pod 命名空间中选择 secret 的键
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.167. .spec.initContainers[].envFrom

描述
在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
类型
array

6.1.168. .spec.initContainers[].envFrom[]

描述
EnvFromSource 代表一组 ConfigMap 的源
类型
object
属性类型描述

configMapRef

对象

要从中选择的 ConfigMap

prefix

字符串

要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。

secretRef

对象

要从中选择的 Secret

6.1.169. .spec.initContainers[].envFrom[].configMapRef

描述
要从中选择的 ConfigMap
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否必须定义 ConfigMap

6.1.170. .spec.initContainers[].envFrom[].secretRef

描述
要从中选择的 Secret
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否必须定义 Secret

6.1.171. .spec.initContainers[].lifecycle

描述
管理系统应采取的操作来响应容器生命周期事件。无法更新。
类型
object
属性类型描述

postStart

对象

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

preStop

对象

preStop 在因为 API 请求或管理事件而终止容器前马上调用,如存活度/启动探测失败、抢占、资源争用等。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时开始,然后再执行 PreStop hook。无论处理程序的结果是什么,容器最终都会在 Pod 的终止宽限期内终止(除非被终结器造成延迟)。容器的其他管理块直到 hook 完成或直至到达终止宽限期为止。更多信息: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

6.1.172. .spec.initContainers[].lifecycle.postStart

描述
postStart 在容器被创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器块的其他管理,直到 hook 完成为止。更多信息: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

httpGet

对象

httpGet 指定要执行的 http 请求。

tcpSocket

object

已弃用。tcpSocket 不支持作为 LifecycleHandler,并且保持向后兼容性。指定 tcp 处理程序时,没有此字段的验证和生命周期 hook 将在运行时失败。

6.1.173. .spec.initContainers[].lifecycle.postStart.exec

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

6.1.174. .spec.initContainers[].lifecycle.postStart.httpGet

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

6.1.175. .spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

6.1.176. .spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders[]

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

6.1.177. .spec.initContainers[].lifecycle.postStart.tcpSocket

描述
已弃用。tcpSocket 不支持作为 LifecycleHandler,并且保持向后兼容性。指定 tcp 处理程序时,没有此字段的验证和生命周期 hook 将在运行时失败。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.178. .spec.initContainers[].lifecycle.preStop

描述
preStop 在因为 API 请求或管理事件而终止容器前马上调用,如存活度/启动探测失败、抢占、资源争用等。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时开始,然后再执行 PreStop hook。无论处理程序的结果是什么,容器最终都会在 Pod 的终止宽限期内终止(除非被终结器造成延迟)。容器的其他管理块直到 hook 完成或直至到达终止宽限期为止。更多信息: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

httpGet

对象

httpGet 指定要执行的 http 请求。

tcpSocket

object

已弃用。tcpSocket 不支持作为 LifecycleHandler,并且保持向后兼容性。指定 tcp 处理程序时,没有此字段的验证和生命周期 hook 将在运行时失败。

6.1.179. .spec.initContainers[].lifecycle.preStop.exec

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

6.1.180. .spec.initContainers[].lifecycle.preStop.httpGet

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

6.1.181. .spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

6.1.182. .spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders[]

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

6.1.183. .spec.initContainers[].lifecycle.preStop.tcpSocket

描述
已弃用。tcpSocket 不支持作为 LifecycleHandler,并且保持向后兼容性。指定 tcp 处理程序时,没有此字段的验证和生命周期 hook 将在运行时失败。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.184. .spec.initContainers[].livenessProbe

描述
容器存活度探测.如果探测失败,容器将重启。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

failureThreshold

整数

在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。

httpGet

对象

httpGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

对象

tcpSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

6.1.185. .spec.initContainers[].livenessProbe.exec

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

6.1.186. .spec.initContainers[].livenessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。number 必须在 1 到 65535 之间。

service

string

service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。如果没有指定,则默认行为由 gRPC 定义。

6.1.187. .spec.initContainers[].livenessProbe.httpGet

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

6.1.188. .spec.initContainers[].livenessProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

6.1.189. .spec.initContainers[].livenessProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

6.1.190. .spec.initContainers[].livenessProbe.tcpSocket

描述
tcpSocket 指定涉及 TCP 端口的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.191. .spec.initContainers[].ports

描述
从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
类型
array

6.1.192. .spec.initContainers[].ports[]

描述
containerPort 代表单个容器中的网络端口。
类型
object
必填
  • containerPort
属性类型描述

containerPort

整数

pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。

hostIP

字符串

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

hostPort

整数

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

name

字符串

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

protocol

字符串

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

6.1.193. .spec.initContainers[].readinessProbe

描述
容器服务的定期探测到就绪状态。如果探测失败,容器将从服务端点中删除。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

failureThreshold

整数

在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。

httpGet

对象

httpGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

对象

tcpSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

6.1.194. .spec.initContainers[].readinessProbe.exec

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

6.1.195. .spec.initContainers[].readinessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。number 必须在 1 到 65535 之间。

service

string

service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。如果没有指定,则默认行为由 gRPC 定义。

6.1.196. .spec.initContainers[].readinessProbe.httpGet

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

6.1.197. .spec.initContainers[].readinessProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

6.1.198. .spec.initContainers[].readinessProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

6.1.199. .spec.initContainers[].readinessProbe.tcpSocket

描述
tcpSocket 指定涉及 TCP 端口的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.200. .spec.initContainers[].resources

描述
此容器所需的计算资源。无法更新。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object
属性类型描述

claims

数组

claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。

claims[]

object

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

limits

integer-or-string

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

requests

integer-or-string

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

6.1.201. .spec.initContainers[].resources.claims

描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。
类型
数组

6.1.202. .spec.initContainers[].resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

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

6.1.203. .spec.initContainers[].securityContext

描述
securityContext 定义容器应运行的安全选项。如果设置,SecurityContext 的字段会覆盖 PodSecurityContext 的等效字段。更多信息: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
类型
object
属性类型描述

allowPrivilegeEscalation

布尔值

allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。

功能

对象

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

privileged

布尔值

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

procMount

字符串

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

readOnlyRootFilesystem

布尔值

此容器是否具有只读 root 文件系统。默认为 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

对象

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

seccompProfile

对象

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

windowsOptions

对象

应用到所有容器的 Windows 特定设置。如果未指定,则使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 linux 时,不能设置此字段。

6.1.204. .spec.initContainers[].securityContext.capabilities

描述
运行容器时添加/丢弃的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 是 windows 时无法设置此字段。
类型
object
属性类型描述

add

数组(字符串)

添加了功能

drop

数组(字符串)

删除的功能

6.1.205. .spec.initContainers[].securityContext.seLinuxOptions

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

level

字符串

level 是适用于容器的 SELinux 级别标签。

role

字符串

role 是适用于容器的 SELinux 角色标签。

type

字符串

type 是适用于容器的 SELinux 类型标签。

user

字符串

user 是适用于容器的 SELinux 用户标签。

6.1.206. .spec.initContainers[].securityContext.seccompProfile

描述
此容器使用的 seccomp 选项。如果 seccomp 选项同时在 pod 和容器级别上提供,则容器选项会覆盖 pod 选项。请注意,当 spec.os.name 是 windows 时无法设置此字段。
类型
object
必填
  • type
属性类型描述

localhostProfile

字符串

localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。只有 type 为 "Localhost" 时,才应设置。

type

字符串

Type 表示将应用了哪些 seccomp 配置集。有效选项包括: Localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。

6.1.207. .spec.initContainers[].securityContext.windowsOptions

描述
应用到所有容器的 Windows 特定设置。如果未指定,则使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 linux 时,不能设置此字段。
类型
object
属性类型描述

gmsaCredentialSpec

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。

hostProcess

布尔值

HostProcess 确定容器是否应作为"主机进程"容器运行。此字段是 alpha-level,仅包含启用 WindowsHostProcessContainers 功能标记的组件。在没有功能标记的情况下设置此字段将导致验证 Pod 时出现错误。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。

runAsUserName

字符串

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

6.1.208. .spec.initContainers[].startupProbe

描述
startupProbe 表示 Pod 已成功初始化。如果指定,则不会执行其他探测,直到成功完成为止。如果这个探测失败,则 Pod 将重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,当可能需要很长时间才能加载数据或温缓存时,而不是在 steady-state 操作过程中提供不同的探测参数。这不能更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
类型
object
属性类型描述

exec

object

exec 指定要执行的操作。

failureThreshold

整数

在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。

httpGet

对象

httpGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

对象

tcpSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

6.1.209. .spec.initContainers[].startupProbe.exec

描述
exec 指定要执行的操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。

6.1.210. .spec.initContainers[].startupProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。这是一个 beta 字段,需要启用 GRPCContainerProbe 功能门。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。number 必须在 1 到 65535 之间。

service

string

service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。如果没有指定,则默认行为由 gRPC 定义。

6.1.211. .spec.initContainers[].startupProbe.httpGet

描述
httpGet 指定要执行的 http 请求。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

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

httpHeaders[]

对象

HTTPHeader 描述了在 HTTP 探测中使用的自定义标头

path

字符串

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

port

integer-or-string

用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

6.1.212. .spec.initContainers[].startupProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复的标头。
类型
array

6.1.213. .spec.initContainers[].startupProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

标头字段名称

value

字符串

标头字段值

6.1.214. .spec.initContainers[].startupProbe.tcpSocket

描述
tcpSocket 指定涉及 TCP 端口的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

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

port

integer-or-string

用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

6.1.215. .spec.initContainers[].volumeDevices

描述
volumeDevices 是容器要使用的块设备列表。
类型
array

6.1.216. .spec.initContainers[].volumeDevices[]

描述
volumeDevice 描述了容器中原始块设备的映射。
类型
object
必填
  • devicePath
  • name
属性类型描述

devicePath

字符串

DevicePath 是该设备要映射到的容器内的路径。

name

字符串

name 必须与 pod 中 persistentVolumeClaim 的名称匹配

6.1.217. .spec.initContainers[].volumeMounts

描述
要挂载到容器文件系统的 Pod 卷。无法更新。
类型
array

6.1.218. .spec.initContainers[].volumeMounts[]

描述
VolumeMount 描述了容器内卷挂载。
类型
object
必填
  • mountPath
  • name
属性类型描述

mountPath

字符串

应挂载卷的容器中的路径。不得包含 ':'。

mountPropagation

字符串

mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。

name

字符串

这必须与卷的 Name 匹配。

readOnly

布尔值

如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。

subPath

字符串

应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。

subPathExpr

字符串

在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。

6.1.219. .spec.podMetadata

描述
podMetadata 配置传播到 prometheus pod 的 Labels 和 Annotations。
类型
object
属性类型描述

annotations

对象(字符串)

annotations 是一个无结构的键值映射,它存储有资源,可通过外部工具存储和检索任意元数据。它们不可查询,应在修改对象时保留。更多信息: http://kubernetes.io/docs/user-guide/annotations

labels

对象(字符串)

可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务选择器匹配。更多信息: http://kubernetes.io/docs/user-guide/labels

name

字符串

名称在命名空间中必须是唯一的。创建资源时需要一些资源,但有些资源可能会允许客户端自动请求生成适当名称。name 主要用于创建 idempotence 和配置定义。无法更新。更多信息: http://kubernetes.io/docs/user-guide/identifiers#names

6.1.220. .spec.podMonitorNamespaceSelector

描述
命名空间的标签以匹配 PodMonitor 发现。如果为 nil,则仅检查自己的命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.221. .spec.podMonitorNamespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.222. .spec.podMonitorNamespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.223. .spec.podMonitorSelector

描述
为目标发现选择 实验性 PodMonitor。如果 spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelector 是 null,则 Prometheus 配置为非受管。Prometheus operator 将确保 Prometheus 配置的 Secret 存在,但负责用户在 prometheus.yaml.gz 键下提供原始 gzip Prometheus 配置。这个行为已弃用,并将在自定义资源定义的下一个主版本中删除。建议您使用 spec.additionalScrapeConfigs 替代。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.224. .spec.podMonitorSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.225. .spec.podMonitorSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.226. .spec.probeNamespaceSelector

描述
为探测发现选择 实验性 命名空间。如果为 nil,则仅检查自己的命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.227. .spec.probeNamespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.228. .spec.probeNamespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.229. .spec.probeSelector

描述
为目标发现选择 实验性 探测。如果 spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelector 是 null,则 Prometheus 配置为非受管。Prometheus operator 将确保 Prometheus 配置的 Secret 存在,但负责用户在 prometheus.yaml.gz 键下提供原始 gzip Prometheus 配置。这个行为已弃用,并将在自定义资源定义的下一个主版本中删除。建议您使用 spec.additionalScrapeConfigs 替代。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.230. .spec.probeSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.231. .spec.probeSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.232. .spec.prometheusRulesExcludedFromEnforce

描述
prometheusRulesExcludedFromEnforce - 从 enforcing 添加命名空间标签中排除的 prometheus 规则列表。只有在 enforcedNamespaceLabel 设置为 true 时才可以正常工作。确保为每个对设置 ruleNamespace 和 ruleName。deprecated: 使用 excludedFromEnforcement 替代。
类型
array

6.1.233. .spec.prometheusRulesExcludedFromEnforce[]

描述
PrometheusRuleExcludeConfig 允许用户配置排除的 PrometheusRule 名称及其命名空间,同时为警报和指标强制执行命名空间标签。
类型
object
必填
  • ruleName
  • ruleNamespace
属性类型描述

ruleName

字符串

RuleNamespace - 排除规则的名称

ruleNamespace

字符串

RuleNamespace - 排除规则的命名空间

6.1.234. .spec.query

描述
QuerySpec 在启动 Prometheus 时定义查询命令行标志。
类型
object
属性类型描述

lookbackDelta

字符串

在表达式评估期间检索指标允许的增量差异。

maxConcurrency

整数

可以同时运行的并发查询数。

maxSamples

整数

单个查询可以加载到内存的最大样本数。请注意,如果查询会加载比这个内存更多的样本,则查询将失败,因此还限制了查询可以返回的示例数量。

timeout

字符串

查询在中止前可以花费的最长时间。

6.1.235. .spec.remoteRead

描述
remoteRead 是远程读取配置的列表。
类型
array

6.1.236. .spec.remoteRead[]

描述
RemoteReadSpec 定义 Prometheus 的配置,以从远程端点读取后端示例。
类型
object
必填
  • url
属性类型描述

授权

对象

远程读取的授权部分

basicAuth

对象

URL 的 basicAuth。

bearerToken

字符串

远程读取的 bearer 令牌。

bearerTokenFile

字符串

用于读取远程读取的 bearer 令牌的文件。

filterExternalLabels

布尔值

是否将外部标签用作远程读取端点的选择器。需要 Prometheus v2.34.0 及更高版本。

标头

对象(字符串)

要与每个远程读取请求一起发送的自定义 HTTP 标头。请注意,由 Prometheus 本身设置的标头无法覆盖。仅在 Prometheus 版本 2.26.0 及更新版本中有效。

name

string

远程读取队列的名称,如果指定,它必须是唯一的。名称用于指标并登录,以区分读取配置。仅在 Prometheus 版本 2.15.0 及更新版本中有效。

oauth2

对象

URL 的 OAuth2。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

proxyUrl

字符串

可选 ProxyURL。

readRecent

布尔值

是否应该对本地存储应具有完整数据的查询进行读取。

remoteTimeout

字符串

对远程读取端点的请求超时。

requiredMatchers

对象(字符串)

可选的 equality matchers 列表,必须存在于选择器中才能查询远程读取端点。

tlsConfig

对象

用于远程读取的 TLS 配置。

url

string

要查询的端点的 URL。

6.1.237. .spec.remoteRead[].authorization

描述
远程读取的授权部分
类型
object
属性类型描述

credentials

对象

包含请求凭证的 secret 密钥

credentialsFile

字符串

从中读取 secret 的文件,与凭证相互排斥的(安全授权)

type

字符串

设置身份验证类型。默认为 Bearer,Basic 将导致错误

6.1.238. .spec.remoteRead[].authorization.credentials

描述
包含请求凭证的 secret 密钥
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.239. .spec.remoteRead[].basicAuth

描述
URL 的 basicAuth。
类型
object
属性类型描述

password

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的密码。

username

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。

6.1.240. .spec.remoteRead[].basicAuth.password

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的密码。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.241. .spec.remoteRead[].basicAuth.username

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.242. .spec.remoteRead[].oauth2

描述
URL 的 OAuth2。仅在 Prometheus 版本 2.27.0 及更新版本中有效。
类型
object
必填
  • clientId
  • clientSecret
  • tokenUrl
属性类型描述

clientId

对象

包含 OAuth2 客户端 ID 的 secret 或 configmap

clientSecret

对象

包含 OAuth2 客户端 secret 的 secret

endpointParams

对象(字符串)

附加到令牌 URL 的参数

scopes

数组(字符串)

用于令牌请求的 OAuth2 范围

tokenUrl

字符串

从中获取令牌的 URL

6.1.243. .spec.remoteRead[].oauth2.clientId

描述
包含 OAuth2 客户端 ID 的 secret 或 configmap
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.244. .spec.remoteRead[].oauth2.clientId.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.245. .spec.remoteRead[].oauth2.clientId.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.246. .spec.remoteRead[].oauth2.clientSecret

描述
包含 OAuth2 客户端 secret 的 secret
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.247. .spec.remoteRead[].tlsConfig

描述
用于远程读取的 TLS 配置。
类型
object
属性类型描述

ca

object

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

caFile

字符串

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

cert

object

执行 client-authentication 时要出现的客户端证书。

certFile

字符串

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

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

字符串

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

keySecret

对象

包含目标客户端密钥文件的 secret。

serverName

字符串

用于验证目标的主机名。

6.1.248. .spec.remoteRead[].tlsConfig.ca

描述
验证服务器证书时使用的证书颁发机构。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.249. .spec.remoteRead[].tlsConfig.ca.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.250. .spec.remoteRead[].tlsConfig.ca.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.251. .spec.remoteRead[].tlsConfig.cert

描述
执行 client-authentication 时要出现的客户端证书。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.252. .spec.remoteRead[].tlsConfig.cert.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.253. .spec.remoteRead[].tlsConfig.cert.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.254. .spec.remoteRead[].tlsConfig.keySecret

描述
包含目标客户端密钥文件的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.255. .spec.remoteWrite

描述
remoteWrite 是远程写入配置的列表。
类型
array

6.1.256. .spec.remoteWrite[]

描述
RemoteWriteSpec 定义将示例从 Prometheus 写入远程端点的配置。
类型
object
必填
  • url
属性类型描述

授权

对象

远程写入的授权部分

basicAuth

对象

URL 的 basicAuth。

bearerToken

字符串

用于远程写入的 bearer 令牌。

bearerTokenFile

字符串

用于读取远程写入的 bearer 令牌的文件。

标头

对象(字符串)

要与每个远程写入请求一起发送的自定义 HTTP 标头。请注意,由 Prometheus 本身设置的标头无法覆盖。仅在 Prometheus 版本 2.25.0 及更新的版本中有效。

metadataConfig

object

metadataConfig 配置将一系列元数据发送到远程存储。

name

string

远程写入队列的名称,如果指定,它必须是唯一的。名称用于指标并登录以区分队列。仅在 Prometheus 版本 2.15.0 及更新版本中有效。

oauth2

对象

URL 的 OAuth2。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

proxyUrl

字符串

可选 ProxyURL。

queueConfig

对象

QueueConfig 允许调整远程写入队列参数。

remoteTimeout

字符串

对远程写入端点的请求超时。

sendExemplars

布尔值

启用通过远程写入发送 exemplars。请注意,必须使用 enableFeature 选项启用 exemplar-storage 本身,以便在第一个位置提取 exemplars。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

sigv4

object

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

tlsConfig

对象

用于远程写入的 TLS 配置。

url

字符串

将示例发送到的端点的 URL。

writeRelabelConfigs

array

远程写入重新标记配置的列表。

writeRelabelConfigs[]

对象

RelabelConfig 允许动态重写标签集,在 ingestion 前被应用到示例。它定义 Prometheus 配置的 <metric_relabel_configs>-section。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs

6.1.257. .spec.remoteWrite[].authorization

描述
远程写入的授权部分
类型
object
属性类型描述

credentials

对象

包含请求凭证的 secret 密钥

credentialsFile

字符串

从中读取 secret 的文件,与凭证相互排斥的(安全授权)

type

字符串

设置身份验证类型。默认为 Bearer,Basic 将导致错误

6.1.258. .spec.remoteWrite[].authorization.credentials

描述
包含请求凭证的 secret 密钥
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.259. .spec.remoteWrite[].basicAuth

描述
URL 的 basicAuth。
类型
object
属性类型描述

password

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的密码。

username

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。

6.1.260. .spec.remoteWrite[].basicAuth.password

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的密码。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.261. .spec.remoteWrite[].basicAuth.username

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.262. .spec.remoteWrite[].metadataConfig

描述
metadataConfig 配置将一系列元数据发送到远程存储。
类型
object
属性类型描述

send

布尔值

指标元数据是否发送到远程存储。

sendInterval

string

将指标元数据发送到远程存储的频率。

6.1.263. .spec.remoteWrite[].oauth2

描述
URL 的 OAuth2。仅在 Prometheus 版本 2.27.0 及更新版本中有效。
类型
object
必填
  • clientId
  • clientSecret
  • tokenUrl
属性类型描述

clientId

对象

包含 OAuth2 客户端 ID 的 secret 或 configmap

clientSecret

对象

包含 OAuth2 客户端 secret 的 secret

endpointParams

对象(字符串)

附加到令牌 URL 的参数

scopes

数组(字符串)

用于令牌请求的 OAuth2 范围

tokenUrl

字符串

从中获取令牌的 URL

6.1.264. .spec.remoteWrite[].oauth2.clientId

描述
包含 OAuth2 客户端 ID 的 secret 或 configmap
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.265. .spec.remoteWrite[].oauth2.clientId.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.266. .spec.remoteWrite[].oauth2.clientId.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.267. .spec.remoteWrite[].oauth2.clientSecret

描述
包含 OAuth2 客户端 secret 的 secret
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.268. .spec.remoteWrite[].queueConfig

描述
QueueConfig 允许调整远程写入队列参数。
类型
object
属性类型描述

batchSendDeadline

字符串

BatchSendDeadline 是示例在缓冲中等待的最长时间。

capacity

整数

容量是在我们开始丢弃前每个分片缓冲的示例数量。

maxBackoff

字符串

MaxBackoff 是最大重试延迟。

maxRetries

整数

maxRetries 是可在可恢复错误时重试批处理的次数上限。

maxSamplesPerSend

整数

MaxSamplesPerSend 是每个发送的最大示例数。

maxShards

整数

MaxShards 是分片的最大数量,即并发数量。

minBackoff

字符串

MinBackoff 是初始重试延迟。每重试都会加倍。

minShards

整数

MinShards 是最小分片数量,即并发数量。

retryOnRateLimit

布尔值

从远程写入存储中接收 429 状态代码时重试。这是实验性功能,可能会在以后有所变化。

6.1.269. .spec.remoteWrite[].sigv4

描述
Sigv4 允许配置 AWS 的签名验证 4
类型
object
属性类型描述

accessKey

object

accessKey 是 AWS API 密钥。如果为空,则使用环境变量 AWS_ACCESS_KEY_ID

配置集

string

配置集是用来进行身份验证的命名 AWS 配置集。

region

string

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

roleArn

string

RoleArn 是用来进行身份验证的 AWS 配置集。

secretKey

object

secretKey 是 AWS API secret。如果为空,则使用环境变量 AWS_SECRET_ACCESS_KEY

6.1.270. .spec.remoteWrite[].sigv4.accessKey

描述
accessKey 是 AWS API 密钥。如果为空,则使用环境变量 AWS_ACCESS_KEY_ID
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.271. .spec.remoteWrite[].sigv4.secretKey

描述
secretKey 是 AWS API secret。如果为空,则使用环境变量 AWS_SECRET_ACCESS_KEY
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.272. .spec.remoteWrite[].tlsConfig

描述
用于远程写入的 TLS 配置。
类型
object
属性类型描述

ca

object

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

caFile

字符串

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

cert

object

执行 client-authentication 时要出现的客户端证书。

certFile

字符串

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

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

字符串

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

keySecret

对象

包含目标客户端密钥文件的 secret。

serverName

字符串

用于验证目标的主机名。

6.1.273. .spec.remoteWrite[].tlsConfig.ca

描述
验证服务器证书时使用的证书颁发机构。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.274. .spec.remoteWrite[].tlsConfig.ca.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.275. .spec.remoteWrite[].tlsConfig.ca.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.276. .spec.remoteWrite[].tlsConfig.cert

描述
执行 client-authentication 时要出现的客户端证书。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.277. .spec.remoteWrite[].tlsConfig.cert.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.278. .spec.remoteWrite[].tlsConfig.cert.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.279. .spec.remoteWrite[].tlsConfig.keySecret

描述
包含目标客户端密钥文件的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.280. .spec.remoteWrite[].writeRelabelConfigs

描述
远程写入重新标记配置的列表。
类型
array

6.1.281. .spec.remoteWrite[].writeRelabelConfigs[]

描述
RelabelConfig 允许动态重写标签集,在 ingestion 前被应用到示例。它定义 Prometheus 配置的 <metric_relabel_configs>-section。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
类型
object
属性类型描述

action

字符串

根据正则表达式匹配要执行的操作。默认为 'replace'。大写,小写操作需要 Prometheus >= 2.36。

modulus

整数

modulus 采用 source 标签值的哈希。

regex

字符串

匹配提取值的正则表达式。默认为 '(configured)'

replacement

字符串

如果正则表达式匹配,则执行 regex 替换的替换值。正则表达式捕获组可用。默认为 '$1'

分隔符

字符串

在串联的源标签值之间放置分隔符。默认为 ';'。

sourceLabels

数组(字符串)

source 标签从现有标签中选择值。其内容使用配置的分隔符连接,并与为替换、keep 和 drop 操作配置的正则表达式匹配。

targetLabel

字符串

生成的值以 replace 操作写入的标签。对于 replace 操作是必需的。正则表达式捕获组可用。

6.1.282. .spec.resources

描述
为单个 Pod 定义资源请求和限值。
类型
object
属性类型描述

claims

数组

claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。

claims[]

object

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

limits

integer-or-string

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

requests

integer-or-string

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

6.1.283. .spec.resources.claims

描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。
类型
数组

6.1.284. .spec.resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

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

6.1.285. .spec.ruleNamespaceSelector

描述
为 PrometheusRules 发现选择的命名空间。如果未指定,则使用与 Prometheus 对象相同的命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.286. .spec.ruleNamespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.287. .spec.ruleNamespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.288. .spec.ruleSelector

描述
从中选择要挂载哪些 PrometheusRules 以加载警报/记录规则的选择器。until (不包括)Prometheus Operator v0.24.0 Prometheus Operator 会将任何旧的规则 ConfigMap 迁移到 RuleSelector 选择的 PrometheusRule 自定义资源。请确定它与您不想迁移的任何配置映射不匹配。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.289. .spec.ruleSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.290. .spec.ruleSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.291. .spec.rules

描述
/--rules targeted/ 命令行参数。
类型
object
属性类型描述

alert

对象

/--rules.alert.*/ command-line arguments

6.1.292. .spec.rules.alert

描述
/--rules.alert.*/ command-line arguments
类型
object
属性类型描述

forGracePeriod

字符串

警报和恢复的 'for' 状态之间的最短持续时间。这只适用于配置了 'for' 时间超过宽限期的警报。

forOutageTolerance

字符串

容许 prometheus 中断的最大时间,以恢复警报的 'for' 状态。

resendDelay

字符串

将警报重新发送到 Alertmanager 前需要等待的最短时间。

6.1.293. .spec.securityContext

描述
securityContext 包含 pod 级别的安全属性和通用容器设置。默认为默认的 PodSecurityContext。
类型
object
属性类型描述

fsGroup

整数

适用于 pod 中所有容器的特殊补充组。有些卷类型允许 Kubelet 将该卷的所有权更改为 pod: 1 所有。拥有的 GID 为 FSGroup 2。设置 setgid 位(卷中创建的新文件将归 FSGroup 所有)3。权限位是 OR'd with rw-rw---- If unset,Kubelet 不会修改任何卷的所有权和权限。请注意,当 spec.os.name 是 windows 时无法设置此字段。

fsGroupChangePolicy

字符串

fsGroupChangePolicy 定义在 Pod 内公开卷之前更改卷的所有权和权限的行为。此字段将只适用于支持基于 fsGroup 的所有权(和权限)的卷类型。它对临时卷类型没有影响,如 secret、configmap 和 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

对象

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

seccompProfile

对象

此 pod 中容器使用的 seccomp 选项。请注意,当 spec.os.name 是 windows 时无法设置此字段。

supplementalGroups

数组(整数)

应用到每个容器中的第一个进程的组列表,以及容器的主 GID、fsGroup (如果指定)以及容器镜像中定义的组成员资格,用于容器进程的 uid。如果未指定,则不会将其他组添加到任何容器中。请注意,容器进程的 uid 中定义的组成员资格仍然有效,即使它们没有包含在此列表中。请注意,当 spec.os.name 是 windows 时无法设置此字段。

sysctls

array

sysctl 包含用于 pod 的命名空间 sysctl 列表。带有不支持 sysctl (容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是 windows 时无法设置此字段。

sysctls[]

对象

sysctl 定义要设置的内核参数

windowsOptions

对象

应用到所有容器的 Windows 特定设置。如果未指定,则使用容器的 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 linux 时,不能设置此字段。

6.1.294. .spec.securityContext.seLinuxOptions

描述
要应用到所有容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机 SELinux 上下文。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是 windows 时无法设置此字段。
类型
object
属性类型描述

level

字符串

level 是适用于容器的 SELinux 级别标签。

role

字符串

role 是适用于容器的 SELinux 角色标签。

type

字符串

type 是适用于容器的 SELinux 类型标签。

user

字符串

user 是适用于容器的 SELinux 用户标签。

6.1.295. .spec.securityContext.seccompProfile

描述
此 pod 中容器使用的 seccomp 选项。请注意,当 spec.os.name 是 windows 时无法设置此字段。
类型
object
必填
  • type
属性类型描述

localhostProfile

字符串

localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。只有 type 为 "Localhost" 时,才应设置。

type

字符串

Type 表示将应用了哪些 seccomp 配置集。有效选项包括: Localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。

6.1.296. .spec.securityContext.sysctls

描述
sysctl 包含用于 pod 的命名空间 sysctl 列表。带有不支持 sysctl (容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是 windows 时无法设置此字段。
类型
array

6.1.297. .spec.securityContext.sysctls[]

描述
sysctl 定义要设置的内核参数
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

要设置的属性的名称

value

字符串

要设置的属性值

6.1.298. .spec.securityContext.windowsOptions

描述
应用到所有容器的 Windows 特定设置。如果未指定,则使用容器的 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 linux 时,不能设置此字段。
类型
object
属性类型描述

gmsaCredentialSpec

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。

hostProcess

布尔值

HostProcess 确定容器是否应作为"主机进程"容器运行。此字段是 alpha-level,仅包含启用 WindowsHostProcessContainers 功能标记的组件。在没有功能标记的情况下设置此字段将导致验证 Pod 时出现错误。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。

runAsUserName

字符串

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

6.1.299. .spec.serviceMonitorNamespaceSelector

描述
命名空间的标签以匹配 ServiceMonitor 发现。如果为 nil,则仅检查自己的命名空间。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.300. .spec.serviceMonitorNamespaceSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.301. .spec.serviceMonitorNamespaceSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.302. .spec.serviceMonitorSelector

描述
为目标发现选择的 ServiceMonitor。如果 spec.serviceMonitorSelectorspec.podMonitorSelectorspec.probeSelector 是 null,则 Prometheus 配置为非受管。Prometheus operator 将确保 Prometheus 配置的 Secret 存在,但负责用户在 prometheus.yaml.gz 键下提供原始 gzip Prometheus 配置。这个行为已弃用,并将在自定义资源定义的下一个主版本中删除。建议您使用 spec.additionalScrapeConfigs 替代。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.303. .spec.serviceMonitorSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.304. .spec.serviceMonitorSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.305. .spec.storage

描述
存储规格以指定如何使用存储。
类型
object
属性类型描述

disableMountSubPath

布尔值

弃用:在以后的发行版本中默认禁用 subPath 用法,这个选项会变得不必要的。DisableMountSubPath 允许删除卷挂载中的任何 subPath 使用量。

emptyDir

object

StatefulSet 使用的 EmptyDirVolumeSource。如果指定,则使用它代替任何 volumeClaimTemplate。更多信息: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

ephemeral

object

StatefulSet 使用的 EphemeralVolumeSource。这是 k8s 1.21 中的 beta 字段,用于较低版本,从 k8s 1.19 开始,它需要启用 GenericEphemeralVolume 功能门。更多信息: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes

volumeClaimTemplate

object

StatefulSet 使用的 PVC spec。使用无法自动置备的卷(出于某种原因)的最简单方法是使用标签选择器和手动创建的 PersistentVolume。

6.1.306. .spec.storage.emptyDir

描述
StatefulSet 使用的 EmptyDirVolumeSource。如果指定,则使用它代替任何 volumeClaimTemplate。更多信息: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir
类型
object
属性类型描述

string

Medium 代表存储介质类型应支持这个目录。默认值为 "",这意味着使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

integer-or-string

sizeLimit 是这个 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存用量的最大使用量为此处指定的 SizeLimit 和 pod 中所有容器的内存限值总和。默认值为 nil,这意味着限制未定义。更多信息: http://kubernetes.io/docs/user-guide/volumes#emptydir

6.1.307. .spec.storage.ephemeral

描述
StatefulSet 使用的 EphemeralVolumeSource。这是 k8s 1.21 中的 beta 字段,用于较低版本,从 k8s 1.19 开始,它需要启用 GenericEphemeralVolume 功能门。更多信息: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes
类型
object
属性类型描述

volumeClaimTemplate

对象

将用于创建独立 PVC 来置备卷。嵌入此 EphemeralVolumeSource 的 pod 将是 PVC 的所有者,即 PVC 将与 pod 一起删除。PVC 的名称将是 < pod name>-<volume name>,其中 <volume name> 是 PodSpec.Volumes 数组条目中的名称。如果串联的名称对 PVC 无效(例如,太长),pod 验证将拒绝 pod。具有名称不归 pod 所有的现有 PVC 将不会 用于 pod,以避免错误地使用不相关的卷。然后,启动 pod 会被阻断,直到删除不相关的 PVC。如果 pod 使用这样的预先创建的 PVC,则必须在 pod 存在后使用对 pod 的所有者引用来更新 PVC。通常,这应该不需要,但手动重建一个有问题的集群时可能会很有用。此字段是只读的,Kubernetes 在创建后不会对 PVC 进行任何更改。必需,不能是 nil。

6.1.308. .spec.storage.ephemeral.volumeClaimTemplate

描述
将用于创建独立 PVC 来置备卷。嵌入此 EphemeralVolumeSource 的 pod 将是 PVC 的所有者,即 PVC 将与 pod 一起删除。PVC 的名称将是 < pod name>-<volume name>,其中 <volume name> 是 PodSpec.Volumes 数组条目中的名称。如果串联的名称对 PVC 无效(例如,太长),pod 验证将拒绝 pod。具有名称不归 pod 所有的现有 PVC 将不会 用于 pod,以避免错误地使用不相关的卷。然后,启动 pod 会被阻断,直到删除不相关的 PVC。如果 pod 使用这样的预先创建的 PVC,则必须在 pod 存在后使用对 pod 的所有者引用来更新 PVC。通常,这应该不需要,但手动重建一个有问题的集群时可能会很有用。此字段是只读的,Kubernetes 在创建后不会对 PVC 进行任何更改。必需,不能是 nil。
类型
object
必填
  • spec
属性类型描述

metadata

对象

可能包含创建 PVC 时将复制到 PVC 的标签和注解。不允许其他字段,并在验证过程中被拒绝。

spec

对象

PersistentVolumeClaim 的规格。整个内容保持不变复制到从该模板创建的 PVC 中。PersistentVolumeClaim 中与 相同的字段也有效。

6.1.309. .spec.storage.ephemeral.volumeClaimTemplate.metadata

描述
可能包含创建 PVC 时将复制到 PVC 的标签和注解。不允许其他字段,并在验证过程中被拒绝。
类型
object

6.1.310. .spec.storage.ephemeral.volumeClaimTemplate.spec

描述
PersistentVolumeClaim 的规格。整个内容保持不变复制到从该模板创建的 PVC 中。PersistentVolumeClaim 中与 相同的字段也有效。
类型
object
属性类型描述

accessModes

数组(字符串)

accessModes 包含卷应具有所需的访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

object

Datasource 字段可以用来指定:* 一个现有的 VolumeSnapshot 对象(snapshot.storage.k8s.io/VolumeSnapshot)* 一个现有的 PVC (PersistentVolumeClaim),如果置备程序或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 内容将复制到 dataSourceRef 中,当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource 中。如果指定了 namespace,则不会将 dataSourceRef 复制到 dataSource 中。

dataSourceRef

object

如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。

resources

object

resources 代表卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,用户可以指定小于之前值的资源要求,但仍必须高于声明的 status 字段中记录的容量。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

selector

object

selector 是要考虑绑定的卷的标签查询。

storageClassName

string

storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeMode

字符串

volumeMode 定义声明需要哪些卷类型。当未包含在 claim spec 中时,文件系统的值会被表示。

volumeName

string

volumeName 是对此声明支持的 PersistentVolume 的绑定引用。

6.1.311. .spec.storage.ephemeral.volumeClaimTemplate.spec.dataSource

描述
Datasource 字段可以用来指定:* 一个现有的 VolumeSnapshot 对象(snapshot.storage.k8s.io/VolumeSnapshot)* 一个现有的 PVC (PersistentVolumeClaim),如果置备程序或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 内容将复制到 dataSourceRef 中,当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource 中。如果指定了 namespace,则不会将 dataSourceRef 复制到 dataSource 中。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

字符串

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

6.1.312. .spec.storage.ephemeral.volumeClaimTemplate.spec.dataSourceRef

描述
如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

字符串

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

namespace

string

命名空间是被引用的资源的命名空间,请注意,当指定命名空间时,引用命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象来允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。

6.1.313. .spec.storage.ephemeral.volumeClaimTemplate.spec.resources

描述
resources 代表卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,用户可以指定小于之前值的资源要求,但仍必须高于声明的 status 字段中记录的容量。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
类型
object
属性类型描述

claims

数组

claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。

claims[]

object

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

limits

integer-or-string

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

requests

integer-or-string

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

6.1.314. .spec.storage.ephemeral.volumeClaimTemplate.spec.resources.claims

描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。
类型
数组

6.1.315. .spec.storage.ephemeral.volumeClaimTemplate.spec.resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

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

6.1.316. .spec.storage.ephemeral.volumeClaimTemplate.spec.selector

描述
selector 是要考虑绑定的卷的标签查询。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.317. .spec.storage.ephemeral.volumeClaimTemplate.spec.selector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

6.1.318. .spec.storage.ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.319. .spec.storage.volumeClaimTemplate

描述
StatefulSet 使用的 PVC spec。使用无法自动置备的卷(出于某种原因)的最简单方法是使用标签选择器和手动创建的 PersistentVolume。
类型
object
属性类型描述

apiVersion

string

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

kind

string

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

对象

EmbeddedMetadata 包含与 EmbeddedResource 相关的元数据。

spec

对象

spec 定义 pod 作者请求的卷所需的特征。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

status

对象

status 代表持久性卷声明的当前信息/状态。只读。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

6.1.320. .spec.storage.volumeClaimTemplate.metadata

描述
EmbeddedMetadata 包含与 EmbeddedResource 相关的元数据。
类型
object
属性类型描述

annotations

对象(字符串)

annotations 是一个无结构的键值映射,它存储有资源,可通过外部工具存储和检索任意元数据。它们不可查询,应在修改对象时保留。更多信息: http://kubernetes.io/docs/user-guide/annotations

labels

对象(字符串)

可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务选择器匹配。更多信息: http://kubernetes.io/docs/user-guide/labels

name

字符串

名称在命名空间中必须是唯一的。创建资源时需要一些资源,但有些资源可能会允许客户端自动请求生成适当名称。name 主要用于创建 idempotence 和配置定义。无法更新。更多信息: http://kubernetes.io/docs/user-guide/identifiers#names

6.1.321. .spec.storage.volumeClaimTemplate.spec

描述
spec 定义 pod 作者请求的卷所需的特征。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
属性类型描述

accessModes

数组(字符串)

accessModes 包含卷应具有所需的访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

object

Datasource 字段可以用来指定:* 一个现有的 VolumeSnapshot 对象(snapshot.storage.k8s.io/VolumeSnapshot)* 一个现有的 PVC (PersistentVolumeClaim),如果置备程序或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 内容将复制到 dataSourceRef 中,当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource 中。如果指定了 namespace,则不会将 dataSourceRef 复制到 dataSource 中。

dataSourceRef

object

如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。

resources

object

resources 代表卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,用户可以指定小于之前值的资源要求,但仍必须高于声明的 status 字段中记录的容量。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

selector

object

selector 是要考虑绑定的卷的标签查询。

storageClassName

string

storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeMode

字符串

volumeMode 定义声明需要哪些卷类型。当未包含在 claim spec 中时,文件系统的值会被表示。

volumeName

string

volumeName 是对此声明支持的 PersistentVolume 的绑定引用。

6.1.322. .spec.storage.volumeClaimTemplate.spec.dataSource

描述
Datasource 字段可以用来指定:* 一个现有的 VolumeSnapshot 对象(snapshot.storage.k8s.io/VolumeSnapshot)* 一个现有的 PVC (PersistentVolumeClaim),如果置备程序或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 内容将复制到 dataSourceRef 中,当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource 中。如果指定了 namespace,则不会将 dataSourceRef 复制到 dataSource 中。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

字符串

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

6.1.323. .spec.storage.volumeClaimTemplate.spec.dataSourceRef

描述
如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

字符串

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

namespace

string

命名空间是被引用的资源的命名空间,请注意,当指定命名空间时,引用命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象来允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。

6.1.324. .spec.storage.volumeClaimTemplate.spec.resources

描述
resources 代表卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,用户可以指定小于之前值的资源要求,但仍必须高于声明的 status 字段中记录的容量。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
类型
object
属性类型描述

claims

数组

claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。

claims[]

object

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

limits

integer-or-string

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

requests

integer-or-string

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

6.1.325. .spec.storage.volumeClaimTemplate.spec.resources.claims

描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。
类型
数组

6.1.326. .spec.storage.volumeClaimTemplate.spec.resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

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

6.1.327. .spec.storage.volumeClaimTemplate.spec.selector

描述
selector 是要考虑绑定的卷的标签查询。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.328. .spec.storage.volumeClaimTemplate.spec.selector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.329. .spec.storage.volumeClaimTemplate.spec.selector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.330. .spec.storage.volumeClaimTemplate.status

描述
status 代表持久性卷声明的当前信息/状态。只读。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
属性类型描述

accessModes

数组(字符串)

accessModes 包含 PVC 支持的卷的实际访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

allocatedResources

integer-or-string

allocatedResources 是 AllocatedResources 中的存储资源跟踪分配给 PVC 的容量。当请求卷扩展操作时,它可能大于实际容量。对于存储配额,使用来自 allocatedResources 和 PVC.spec.resources 的值。如果没有设置 allocatedResources,则单独使用 PVC.spec.resources 进行配额计算。如果卷扩展容量请求被较低,则只有当没有进行中的扩展操作或当实际卷容量相等或低于请求的容量时,才会降低 allocatedResources。这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。

capacity

integer-or-string

capacity 代表底层卷的实际资源。

conditions

数组

conditions 是持久性卷声明的当前条件。如果底层持久性卷被调整大小,则条件将设置为 'ResizeStarted'。

conditions[]

对象

PersistentVolumeClaimCondition contails 有关 pvc 状态的详细信息

phase

string

phase 代表 PersistentVolumeClaim 的当前阶段。

resizeStatus

string

resizeStatus 存储调整大小操作的状态。默认不会设置 ResizeStatus,但当扩展完成 resizeStatus 时,通过调整 controller 或 kubelet 设置为空字符串。这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。

6.1.331. .spec.storage.volumeClaimTemplate.status.conditions

描述
conditions 是持久性卷声明的当前条件。如果底层持久性卷被调整大小,则条件将设置为 'ResizeStarted'。
类型
array

6.1.332. .spec.storage.volumeClaimTemplate.status.conditions[]

描述
PersistentVolumeClaimCondition contails 有关 pvc 状态的详细信息
类型
object
必填
  • status
  • type
属性类型描述

lastProbeTime

string

lastProbeTime 是我们探测到条件的时间。

lastTransitionTime

string

lastTransitionTime 是条件从一个状态转换到另一个状态的时间。

message

string

Message 是人类可读的消息,指示最后一次转换的详细信息。

reason

string

reason 是唯一的,这应该是一个简短的机器理解的字符串,给出了条件最后一次转换的原因。如果报告"ResizeStarted",则表示已调整底层持久性卷的大小。

status

字符串

 

type

字符串

PersistentVolumeClaimConditionType 是 PersistentVolumeClaimCondition.Type 的有效值

6.1.333. .spec.thanos

描述
Thanos 配置允许在 Thanos 环境中配置 Prometheus 服务器的各个方面。本节是实验性的,可能会在任何发行版本中没有弃用通知的情况下有很大变化。
类型
object
属性类型描述

additionalArgs

数组

AdditionalArgs 允许为 Thanos 容器设置额外的参数。参数以 as-is 传递给 Thanos 容器,如果它们无效或不支持给定的 Thanos 版本,则可能会导致问题。如果参数冲突(例如,已由 Operator 本身设置的参数),或者在提供无效的参数时,协调将失败,并会记录错误。

additionalArgs[]

object

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

baseImage

字符串

如果非默认镜像,则 Thanos 基础镜像。deprecated: 使用 'image' 替代

blockSize

string

BlockDuration 控制 Prometheus 生成的 TSDB 块的大小。默认值为 2h,用于匹配上游 Prometheus 默认值。警告:更改块持续时间可能会影响整个 Prometheus/Thanos 堆栈的性能和效率,因为它如何与内存和 Thanos 紧凑器交互。建议把这个值保留为最多的提取或规则间隔 120 倍。例如,30s * 120 = 1h。

grpcListenLocal

布尔值

如果为 true,Thanos sidecar 侦听 gRPC 端点的回环接口。如果 listenLocal 为 true,则它不起作用。

grpcServerTlsConfig

object

grpcServerTlsConfig 配置提供 StoreAPI 的 gRPC 服务器的 TLS 参数。注: 目前只支持 CAFile、CertFile 和 KeyFile 字段。映射到 '--grpc-server-tls github' CLI args。

httpListenLocal

布尔值

如果为 true,Thanos sidecar 会侦听 HTTP 端点的回环接口。如果 listenLocal 为 true,则它不起作用。

image

字符串

如果指定,则镜像的优先级高于 baseImage、tag 和 sha 组合。仍然需要指定版本以确保 Prometheus Operator 知道要配置的 Thanos 版本。

listenLocal

布尔值

如果为 true,Thanos sidecar 侦听 HTTP 和 gRPC 端点的回环接口。它优先于 grpcListenLocalhttpListenLocal。deprecated: 使用 grpcListenLocalhttpListenLocal

logFormat

字符串

要使用的 Thanos sidecar 的 logFormat。

logLevel

字符串

用于配置 Thanos sidecar 的 loglevel。

minTime

字符串

MinTime 用来配置 Thanos sidecar。选项可以是 RFC3339 格式的恒定时间,也可以是相对于当前时间的持续时间,如 -1d 或 2h45m。有效的持续时间单位是 ms、s、m、h、d、w、y。

objectStorageConfig

对象

objectStorageConfig 在 Thanos 中配置对象存储。ObjectStorageConfigFile 以及较低的顺序优先级。

objectStorageConfigFile

字符串

ObjectStorageConfigFile 指定对象存储配置文件的路径。与 ObjectStorageConfig 一起使用时,ObjectStorageConfigFile 具有优先权。

readyTimeout

字符串

ReadyTimeout 是 Thanos sidecar 将等待 Prometheus 启动的最长时间。eg 10m

资源

对象

资源定义 Thanos sidecar 的资源要求。如果没有提供,则不会设置 requests/limits

sha

字符串

要部署的 Thanos 容器镜像的 SHA。默认为 version 的值。与标签类似,但 SHA 显式部署不可变的容器镜像。如果设置了 SHA,则忽略版本和标签。deprecated: 使用 'image' 替代。镜像摘要可以指定为镜像 URL 的一部分。

tag

字符串

要部署的 Thanos sidecar 容器镜像的标签。默认为 version 的值。如果设置了 Tag,则忽略 version。deprecated: 使用 'image' 替代。镜像标签可以作为镜像 URL 的一部分指定。

tracingConfig

对象

tracingConfig 在 Thanos 中配置追踪。这是一个实验性功能,可能会以中断的方式改变任何即将推出的发行版本。

tracingConfigFile

字符串

tracingConfig 指定追踪配置文件的路径。与 TracingConfig 一起使用时,TracingConfigFile 优先使用。

version

字符串

version 描述了要使用的 Thanos 版本。

volumeMounts

array

volumeMounts 允许在输出 StatefulSet 定义上配置额外的 VolumeMount。specified volumeMounts 将附加到 thanos-sidecar 容器中的其他 VolumeMount 中。

volumeMounts[]

对象

VolumeMount 描述了容器内卷挂载。

6.1.334. .spec.thanos.additionalArgs

描述
AdditionalArgs 允许为 Thanos 容器设置额外的参数。参数以 as-is 传递给 Thanos 容器,如果它们无效或不支持给定的 Thanos 版本,则可能会导致问题。如果参数冲突(例如,已由 Operator 本身设置的参数),或者在提供无效的参数时,协调将失败,并会记录错误。
类型
数组

6.1.335. .spec.thanos.additionalArgs[]

描述
参数作为 AdditionalArgs 列表的一部分。
类型
object
必填
  • name
属性类型描述

name

string

参数的名称,如 "scrape.discovery-reload-interval"。

value

string

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

6.1.336. .spec.thanos.grpcServerTlsConfig

描述
grpcServerTlsConfig 配置提供 StoreAPI 的 gRPC 服务器的 TLS 参数。注: 目前只支持 CAFile、CertFile 和 KeyFile 字段。映射到 '--grpc-server-tls github' CLI args。
类型
object
属性类型描述

ca

object

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

caFile

字符串

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

cert

object

执行 client-authentication 时要出现的客户端证书。

certFile

字符串

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

insecureSkipVerify

布尔值

禁用目标证书验证。

keyFile

字符串

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

keySecret

对象

包含目标客户端密钥文件的 secret。

serverName

字符串

用于验证目标的主机名。

6.1.337. .spec.thanos.grpcServerTlsConfig.ca

描述
验证服务器证书时使用的证书颁发机构。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.338. .spec.thanos.grpcServerTlsConfig.ca.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.339. .spec.thanos.grpcServerTlsConfig.ca.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.340. .spec.thanos.grpcServerTlsConfig.cert

描述
执行 client-authentication 时要出现的客户端证书。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.341. .spec.thanos.grpcServerTlsConfig.cert.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.342. .spec.thanos.grpcServerTlsConfig.cert.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.343. .spec.thanos.grpcServerTlsConfig.keySecret

描述
包含目标客户端密钥文件的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.344. .spec.thanos.objectStorageConfig

描述
objectStorageConfig 在 Thanos 中配置对象存储。ObjectStorageConfigFile 以及较低的顺序优先级。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.345. .spec.thanos.resources

描述
资源定义 Thanos sidecar 的资源要求。如果没有提供,则不会设置 requests/limits
类型
object
属性类型描述

claims

数组

claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。

claims[]

object

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

limits

integer-or-string

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

requests

integer-or-string

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

6.1.346. .spec.thanos.resources.claims

描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。
类型
数组

6.1.347. .spec.thanos.resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

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

6.1.348. .spec.thanos.tracingConfig

描述
tracingConfig 在 Thanos 中配置追踪。这是一个实验性功能,可能会以中断的方式改变任何即将推出的发行版本。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.349. .spec.thanos.volumeMounts

描述
volumeMounts 允许在输出 StatefulSet 定义上配置额外的 VolumeMount。specified volumeMounts 将附加到 thanos-sidecar 容器中的其他 VolumeMount 中。
类型
array

6.1.350. .spec.thanos.volumeMounts[]

描述
VolumeMount 描述了容器内卷挂载。
类型
object
必填
  • mountPath
  • name
属性类型描述

mountPath

字符串

应挂载卷的容器中的路径。不得包含 ':'。

mountPropagation

字符串

mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。

name

字符串

这必须与卷的 Name 匹配。

readOnly

布尔值

如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。

subPath

字符串

应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。

subPathExpr

字符串

在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。

6.1.351. .spec.tolerations

描述
如果指定,pod 的容限。
类型
array

6.1.352. .spec.tolerations[]

描述
此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。
类型
object
属性类型描述

effect

字符串

effect 表示要匹配的污点效果。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule,PreferNoSchedule 和 NoExecute。

key

字符串

key 是容限应用到的污点键。empty 表示与所有污点键匹配。如果键为空,则必须存在运算符;组合意味着匹配所有值和所有键。

operator

字符串

Operator 代表键与值的关系。有效的运算符是 Exists 和 Equal。默认值为 Equal。exists 等同于值的通配符,以便 pod 可以容忍特定类别的所有污点。

tolerationSeconds

整数

tolerationSeconds 代表容限的期间(必须生效 NoExecute,否则此字段将被忽略)可以容忍污点。默认情况下,它不会被设置,这意味着容许任何污点(不要驱除)。零值和负值将被视为 0 (立即删除)。

value

字符串

value 是容限匹配的污点值。如果运算符是 Exists,则该值应该为空,否则仅是一个常规字符串。

6.1.353. .spec.topologySpreadConstraints

描述
如果指定,pod 的拓扑分布限制。
类型
array

6.1.354. .spec.topologySpreadConstraints[]

描述
TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。
类型
object
必填
  • maxSkew
  • topologyKey
  • whenUnsatisfiable
属性类型描述

labelSelector

对象

labelSelector 用于查找匹配的 pod。与此标签选择器匹配的 Pod 被计算,以确定其对应拓扑域中的 pod 数量。

matchLabelKeys

数组(字符串)

matchLabelKeys 是一组 pod 标签键,用于选择要在其中计算分布的 pod。这些键用于从传入的 pod 标签中查找值,这些键值标签由 labelSelector 匹配,以选择现有 pod 的组,用于为传入的 pod 计算。传入的 pod 标签中不存在的键将被忽略。null 或空列表表示仅与 labelSelector 匹配。

maxSkew

整数

maxSkew 描述了 pod 可能没有被均匀分布的程度。当 whenUnsatisfiable=DoNotSchedule 时,它是目标拓扑中匹配 pod 数量和全局最小值之间允许的最大区别。如果符合条件的域数量小于 MinDomains,则全局最小值是合格域中匹配 pod 的最小数量。例如,在一个 3 区集群中,MaxSkew 被设置为 1,并且具有与 2/2/1 相同的 labelSelector 的 pod: 在这种情况下,全局最小值为 1。| zone1 | zone2 | zone3 | | P P | P | P | P | P | P | - 如果 MaxSkew 是 1,则传入的 pod 只能调度到 zone3 变为 2/2/2;将它调度到 zone1 (zone2)上,使 ActualSkew (3-1) on zone1 (zone2)违反 MaxSkew (1). - 如果 MaxSkew,则 pod 可以调度到任何区(zone2)。当 whenUnsatisfiable=ScheduleAnyway 时,它用于为满足它的拓扑赋予更高的优先级。这是必填字段。默认值为 1,不允许使用 0。

minDomains

整数

MinDomains 表示合格的域数量。当具有匹配拓扑键的合格域数量小于 minDomains 时,Pod Topology Spread 会将"global minimum"视为 0,然后执行 Skew 的计算。当匹配拓扑键等于或大于 minDomains 的合格域数量时,这个值不会影响调度。因此,当有资格的域数量小于 minDomains 时,调度程序不会将超过 maxSkew Pod 的调度到这些域。如果值为 nil,则约束的行为就像 MinDomains 等于 1 一样。有效值为大于 0 的整数。如果值不是 nil,WhenUnsatisfiable 必须是 DoNotSchedule。例如,在一个 3 个区集群中,MaxSkew 设置为 2,MinDomains 被设置为 5,且带有与 2/2/2: | zone1 | zone2 | zone2 | zone2 | zone3 | P P | P | P P | P P | P P | P P | 数量的域的数量小于 5 (MinDomains),因此"global minimum"被视为 0。在这种情况下,如果新 Pod 调度到任何三个区域,则无法调度具有相同 labelSelector 的新 pod,因为 computed skew 将为 3 (3 - 0),它将违反 MaxSkew。这是一个 beta 字段,需要启用 MinDomainsInPodTopologySpread 功能门(默认启用)。

nodeAffinityPolicy

string

NodeAffinityPolicy 表示在计算 pod 拓扑分布偏移时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项为:- Honor:只有与 nodeAffinity/nodeSelector 匹配的节点才会包含在计算中。- Ignore: nodeAffinity/nodeSelector 会被忽略。所有节点都包含在计算中。如果这个值是 nil,则行为等同于 Honor 策略。这是 NodeInclusionPolicyInPodTopologySpread 功能默认启用的 beta 级别功能。

nodeTaintsPolicy

string

NodeTaintsPolicy 指示在计算 pod 拓扑分布偏移时如何对待节点污点。选项为:- Honor: 没有污点的节点,以及传入的 pod 具有容限的污点节点。- Ignore: node taint are ignored.所有节点都包括在内。如果这个值是 nil,则行为等同于 Ignore 策略。这是 NodeInclusionPolicyInPodTopologySpread 功能默认启用的 beta 级别功能。

topologyKey

字符串

topologyKey 是节点标签的密钥。带有具有此键和相同值标签的节点被视为在同一拓扑中。我们把每个 <key, value> 视为 "bucket",并尝试将均衡的 pod 数量放在每个存储桶中。我们将域定义为拓扑的特定实例。另外,我们将一个有资格的域定义为节点满足 nodeAffinityPolicy 和 nodeTaintsPolicy 的要求的域。例如,如果 TopologyKey 为 "kubernetes.io/hostname",则每个节点都是该拓扑的域。如果 TopologyKey 是 "topology.kubernetes.io/zone",每个区都是该拓扑的域。这是必填字段。

whenUnsatisfiable

字符串

whenUnsatisfiable 表示如何在不满足分散约束的情况下处理 pod。- DoNotSchedule (default)告知调度程序不调度它。- ScheduleAnyway 告知调度程序将 pod 调度到任何位置,但为拓扑赋予更高优先级,有助于减少偏差。如果每个可能的节点分配都会在某些拓扑上违反"MaxSkew",则约束被视为"不satisfiable"。例如,在一个 3 区集群中,MaxSkew 设置为 1,而具有与 3/1/1: | zone1 | zone2 | zone2 | zone3 | P P | P | P | P | P | P | P | P | P | WhenUnsatisfiable 设置为 DoNotSchedule 的 pod 只能调度到 zone2 (zone3)要成为 3/2/1 (3/1/2),在 zone2 (zone3)中以 ActualSkew (2-1)满足 MaxSkew (1)。换句话说,集群仍然可以实现平衡,但调度程序不会使其更不平衡。这是必填字段。

6.1.355. .spec.topologySpreadConstraints[].labelSelector

描述
labelSelector 用于查找匹配的 pod。与此标签选择器匹配的 Pod 被计算,以确定其对应拓扑域中的 pod 数量。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.356. .spec.topologySpreadConstraints[].labelSelector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.357. .spec.topologySpreadConstraints[].labelSelector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.358. .spec.tsdb

描述
定义时间序列数据库(TSDB)的运行时重新加载配置。
类型
object
属性类型描述

outOfOrderTimeWindow

string

配置 TSDB 最大时间为 w.r.t 的 out-of-order/out-of-bounds 示例。一个 out-of-of-bounds 示例,只要示例的时间戳是 >=(TSDB.MaxTime - outOfOrderTimeWindow)。订购不足是一个实验性功能,需要 Prometheus >= v2.39.0。

6.1.359. .spec.volumeMounts

描述
volumeMounts 允许在输出 StatefulSet 定义上配置额外的 VolumeMount。指定的 volumeMounts 会附加到 prometheus 容器中的其他 VolumeMounts 中,这些 VolumeMount 作为 StorageSpec 对象生成的。
类型
array

6.1.360. .spec.volumeMounts[]

描述
VolumeMount 描述了容器内卷挂载。
类型
object
必填
  • mountPath
  • name
属性类型描述

mountPath

字符串

应挂载卷的容器中的路径。不得包含 ':'。

mountPropagation

字符串

mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。

name

字符串

这必须与卷的 Name 匹配。

readOnly

布尔值

如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。

subPath

字符串

应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。

subPathExpr

字符串

在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。

6.1.361. .spec.volumes

描述
卷允许在输出 StatefulSet 定义中配置额外的卷。指定的卷将附加到作为 StorageSpec 对象生成的其他卷。
类型
array

6.1.362. .spec.volumes[]

描述
卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。
类型
object
必填
  • name
属性类型描述

awsElasticBlockStore

object

awsElasticBlockStore 代表一个 AWS Disk 资源,附加到 kubelet 的主机机器,然后公开给 pod。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

azureDisk

object

azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。

azureFile

object

azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。

cephfs

object

CephFS 代表共享 pod 生命周期的主机上的 Ceph FS 挂载

cinder

object

Cinder 代表附加并挂载到 kubelet 主机机器上的 cinder 卷。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md

configMap

object

ConfigMap 代表应填充此卷的 configMap

csi

object

CSI (Container Storage Interface)代表由特定外部 CSI 驱动程序(Beta 功能)处理的临时存储。

downwardAPI

object

downwardAPI 代表应填充此卷的 pod 的 Downward API

emptyDir

object

emptyDir 代表共享 pod 生命周期的临时目录。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

ephemeral

object

ephemeral 代表由集群存储驱动程序处理的卷。卷的生命周期与定义它的 pod 关联 - 将在 pod 启动前创建,并在 pod 被删除时删除。如果 pod 运行(如需要从快照或容量跟踪中恢复)正常卷时,才需要这个卷。c)通过存储类指定存储驱动程序,以及 d)存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷置备(请参阅 EphemeralVolumeSource 以了解有关这个卷类型和 PersistentVolumeClaim 间的连接的更多信息。对于保留的时间超过单个 pod 的生命周期,使用 PersistentVolumeClaim 或特定于供应商的 API 之一。如果使用 CSI 驱动程序,使用 CSI 驱动程序来轻量级本地临时卷 - 如需更多信息,请参阅驱动程序文档。pod 可以同时使用两种类型的临时卷和持久性卷。

fc

object

FC 代表附加到 kubelet 主机机器的光纤通道资源,然后公开给 pod。

flexVolume

object

FlexVolume 代表使用基于 exec 的插件置备的/附加的通用卷资源。

flocker

object

flocker 代表附加到 kubelet 主机机器的 Flocker 卷。这取决于正在运行的 Flocker 控制服务

gcePersistentDisk

object

gcePersistentDisk 代表一个 GCE Disk 资源,该资源附加到 kubelet 的主机机器,然后公开给 pod。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

gitRepo

object

gitRepo 代表特定修订版本中的 git 存储库。DEPRECATED: GitRepo 已被弃用。要使用 git 存储库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。

glusterfs

object

GlusterFS 代表共享 pod 生命周期的主机上的 Glusterfs 挂载。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md

hostPath

object

hostpath 代表主机机器上直接公开给容器的已存在的文件或目录。这通常用于系统代理或其他允许查看主机机器的特权事情。大多数容器都不需要这样做。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath -- TODO (jonesdl)我们需要限制哪些人可以使用主机目录挂载,以及谁可以/不能将主机目录挂载为读/写。

iscsi

object

iSCSI 代表附加到 kubelet 主机机器的 ISCSI Disk 资源,然后公开给 pod。更多信息: https://examples.k8s.io/volumes/iscsi/README.md

name

string

卷的名称。必须是 DNS_LABEL,且必须在 pod 中唯一。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

nfs

object

NFS 代表共享 pod 生命周期更多信息的主机上 NFS 挂载: https://kubernetes.io/docs/concepts/storage/volumes#nfs

persistentVolumeClaim

object

persistentVolumeClaimVolumeSource 代表对同一命名空间中的 PersistentVolumeClaim 的引用。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

photonPersistentDisk

object

photonPersistentDisk 代表附加并挂载到 kubelets 主机上的 PhotonController 持久磁盘

portworxVolume

object

portworxVolume 代表附加并挂载到 kubelets 主机上的 portworx 卷

projected

object

一个资源 secret、configmap 和 Downward API 中所有的项目项目

quobyte

object

quobyte 代表共享 pod 生命周期的主机上执行 Quobyte 挂载

rbd

object

RBD 代表共享 pod 生命周期的主机上 Rados 块设备挂载。更多信息: https://examples.k8s.io/volumes/rbd/README.md

scaleIO

object

scaleIO 代表附加并挂载到 Kubernetes 节点上的 ScaleIO 持久性卷。

secret

object

Secret 代表应填充此卷的 secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

storageos

object

storageos 代表附加并挂载到 Kubernetes 节点上的 StorageOS 卷。

vsphereVolume

object

vsphereVolume 代表附加并挂载到 kubelets 主机上的 vSphere 卷

6.1.363. .spec.volumes[].awsElasticBlockStore

描述
awsElasticBlockStore 代表一个 AWS Disk 资源,附加到 kubelet 的主机机器,然后公开给 pod。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
类型
object
必填
  • volumeID
属性类型描述

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO:如何防止文件系统中的错误影响机器

分区

整数

partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。

readOnly

布尔值

readonly 值 true 将强制 VolumeMount 中的 readOnly 设置。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

volumeID

string

VolumeId 是 AWS (Amazon EBS 卷)中持久磁盘资源的唯一 ID。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

6.1.364. .spec.volumes[].azureDisk

描述
azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。
类型
object
必填
  • diskName
  • diskURI
属性类型描述

cachingMode

string

cachingMode 是主机缓存模式: None、Read Only、Read Write。

diskName

string

diskname 是 blob 存储中的数据磁盘的 Name

diskURI

string

diskURI 是 blob 存储中的数据磁盘的 URI

fsType

string

fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。例如,"ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

kind

string

kind 预期值为 Shared: 每个存储帐户 Dedicated 有多个 blob 磁盘:每个存储帐户 Managed: azure managed data disk (only on managed availability set). 默认为 shared

readOnly

布尔值

readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

6.1.365. .spec.volumes[].azureFile

描述
azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。
类型
object
必填
  • secretName
  • shareName
属性类型描述

readOnly

布尔值

readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

secretName

string

secretName 是包含 Azure Storage Account Name 和 Key 的 secret 名称

shareName

string

sharename 是 azure 共享名称

6.1.366. .spec.volumes[].cephfs

描述
CephFS 代表共享 pod 生命周期的主机上的 Ceph FS 挂载
类型
object
必填
  • monitor
属性类型描述

monitor

数组(字符串)

monitor 是必需的: monitor 是 Ceph 监视器更多信息的集合: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

path

string

路径为可选:作为挂载的 root 使用,而不是完整的 Ceph 树,默认为 /

readOnly

布尔值

readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretFile

string

secretfile 为 Optional: SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret 更多信息 :https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretRef

object

secretRef 为 Optional: SecretRef 对 User 的身份验证 secret 的引用,默认为空。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

user

string

User 是可选的:用户是 rados 用户名,默认为 admin 更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

6.1.367. .spec.volumes[].cephfs.secretRef

描述
secretRef 为 Optional: SecretRef 对 User 的身份验证 secret 的引用,默认为空。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.368. .spec.volumes[].cinder

描述
Cinder 代表附加并挂载到 kubelet 主机机器上的 cinder 卷。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md
类型
object
必填
  • volumeID
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md

readOnly

布尔值

readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md

secretRef

object

secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的 secret 对象。

volumeID

string

用于识别 cinder 中的卷的 VolumeId。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md

6.1.369. .spec.volumes[].cinder.secretRef

描述
secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的 secret 对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.370. .spec.volumes[].configMap

描述
ConfigMap 代表应填充此卷的 configMap
类型
object
属性类型描述

defaultMode

整数

defaultMode 是可选的:默认用于在创建的文件上设置权限的模式位。必须是一个 0000 到 0777 之间的八进制数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

items

数组

如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。

items[]

对象

将字符串键映射到卷中的路径。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

(可选)指定是否必须定义 ConfigMap 或其键

6.1.371. .spec.volumes[].configMap.items

描述
如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
类型
array

6.1.372. .spec.volumes[].configMap.items[]

描述
将字符串键映射到卷中的路径。
类型
object
必填
  • key
  • path
属性类型描述

key

string

key 是项目的关键。

模式

整数

模式为可选:用于设置此文件权限的模式位。必须是一个 0000 到 0777 之间的八进制数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

path

string

path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。

6.1.373. .spec.volumes[].csi

描述
CSI (Container Storage Interface)代表由特定外部 CSI 驱动程序(Beta 功能)处理的临时存储。
类型
object
必填
  • driver
属性类型描述

driver

string

driver 是处理此卷的 CSI 驱动程序的名称。请联系您的 admin,了解集群中注册的正确名称。

fsType

string

要挂载的 fstype。例如,"ext4", "xfs", "ntfs".如果没有提供,则会将空值传递给关联的 CSI 驱动程序,该驱动程序将决定要应用的默认文件系统。

nodePublishSecretRef

object

nodePublishSecretRef 是包含敏感信息的 secret 对象的引用,以传递给 CSI 驱动程序,以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用。此字段是可选的,如果不需要 secret,则可能会为空。如果 secret 对象包含多个 secret,则会传递所有 secret 引用。

readOnly

布尔值

readOnly 将卷指定为只读。默认为 false (读/写)。

volumeAttributes

对象(字符串)

volumeAttributes 存储传递给 CSI 驱动程序的驱动程序特定属性。有关支持的值,请参阅驱动程序的文档。

6.1.374. .spec.volumes[].csi.nodePublishSecretRef

描述
nodePublishSecretRef 是包含敏感信息的 secret 对象的引用,以传递给 CSI 驱动程序,以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用。此字段是可选的,如果不需要 secret,则可能会为空。如果 secret 对象包含多个 secret,则会传递所有 secret 引用。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.375. .spec.volumes[].downwardAPI

描述
downwardAPI 代表应填充此卷的 pod 的 Downward API
类型
object
属性类型描述

defaultMode

整数

可选:默认在创建的文件上使用模式位。必须是 Optional: 模式位,用于默认对创建的文件设置权限。必须是一个 0000 到 0777 之间的八进制数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

items

array

items 是 Downward API 卷文件的列表

items[]

对象

DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息

6.1.376. .spec.volumes[].downwardAPI.items

描述
items 是 Downward API 卷文件的列表
类型
array

6.1.377. .spec.volumes[].downwardAPI.items[]

描述
DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息
类型
object
必填
  • path
属性类型描述

fieldRef

对象

必需:选择 pod 的字段:只支持注解、标签、名称和命名空间。

模式

整数

可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的数值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

path

字符串

必需:Path 是要创建的文件的相对路径名称。不能是绝对的,也不能包含 '..' 路径。必须经过 utf-8 编码。相对路径的第一个项不能以 '..' 开头。

resourceFieldRef

对象

选择容器的资源:目前只支持资源限值和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

6.1.378. .spec.volumes[].downwardAPI.items[].fieldRef

描述
必需:选择 pod 的字段:只支持注解、标签、名称和命名空间。
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

模式的版本是按术语编写的 FieldPath,默认为 "v1"。

fieldPath

字符串

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

6.1.379. .spec.volumes[].downwardAPI.items[].resourceFieldRef

描述
选择容器的资源:目前只支持资源限值和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷需要,对于 env vars是可选的

divisor

integer-or-string

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

resource

字符串

必需:要选择的资源

6.1.380. .spec.volumes[].emptyDir

描述
emptyDir 代表共享 pod 生命周期的临时目录。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
类型
object
属性类型描述

string

Medium 代表存储介质类型应支持这个目录。默认值为 "",这意味着使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

integer-or-string

sizeLimit 是这个 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存用量的最大使用量为此处指定的 SizeLimit 和 pod 中所有容器的内存限值总和。默认值为 nil,这意味着限制未定义。更多信息: http://kubernetes.io/docs/user-guide/volumes#emptydir

6.1.381. .spec.volumes[].ephemeral

描述
ephemeral 代表由集群存储驱动程序处理的卷。卷的生命周期与定义它的 pod 关联 - 将在 pod 启动前创建,并在 pod 被删除时删除。如果 pod 运行(如需要从快照或容量跟踪中恢复)正常卷时,才需要这个卷。c)通过存储类指定存储驱动程序,以及 d)存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷置备(请参阅 EphemeralVolumeSource 以了解有关这个卷类型和 PersistentVolumeClaim 间的连接的更多信息。对于保留的时间超过单个 pod 的生命周期,使用 PersistentVolumeClaim 或特定于供应商的 API 之一。如果使用 CSI 驱动程序,使用 CSI 驱动程序来轻量级本地临时卷 - 如需更多信息,请参阅驱动程序文档。pod 可以同时使用两种类型的临时卷和持久性卷。
类型
object
属性类型描述

volumeClaimTemplate

对象

将用于创建独立 PVC 来置备卷。嵌入此 EphemeralVolumeSource 的 pod 将是 PVC 的所有者,即 PVC 将与 pod 一起删除。PVC 的名称将是 < pod name>-<volume name>,其中 <volume name> 是 PodSpec.Volumes 数组条目中的名称。如果串联的名称对 PVC 无效(例如,太长),pod 验证将拒绝 pod。具有名称不归 pod 所有的现有 PVC 将不会 用于 pod,以避免错误地使用不相关的卷。然后,启动 pod 会被阻断,直到删除不相关的 PVC。如果 pod 使用这样的预先创建的 PVC,则必须在 pod 存在后使用对 pod 的所有者引用来更新 PVC。通常,这应该不需要,但手动重建一个有问题的集群时可能会很有用。此字段是只读的,Kubernetes 在创建后不会对 PVC 进行任何更改。必需,不能是 nil。

6.1.382. .spec.volumes[].ephemeral.volumeClaimTemplate

描述
将用于创建独立 PVC 来置备卷。嵌入此 EphemeralVolumeSource 的 pod 将是 PVC 的所有者,即 PVC 将与 pod 一起删除。PVC 的名称将是 < pod name>-<volume name>,其中 <volume name> 是 PodSpec.Volumes 数组条目中的名称。如果串联的名称对 PVC 无效(例如,太长),pod 验证将拒绝 pod。具有名称不归 pod 所有的现有 PVC 将不会 用于 pod,以避免错误地使用不相关的卷。然后,启动 pod 会被阻断,直到删除不相关的 PVC。如果 pod 使用这样的预先创建的 PVC,则必须在 pod 存在后使用对 pod 的所有者引用来更新 PVC。通常,这应该不需要,但手动重建一个有问题的集群时可能会很有用。此字段是只读的,Kubernetes 在创建后不会对 PVC 进行任何更改。必需,不能是 nil。
类型
object
必填
  • spec
属性类型描述

metadata

对象

可能包含创建 PVC 时将复制到 PVC 的标签和注解。不允许其他字段,并在验证过程中被拒绝。

spec

对象

PersistentVolumeClaim 的规格。整个内容保持不变复制到从该模板创建的 PVC 中。PersistentVolumeClaim 中与 相同的字段也有效。

6.1.383. .spec.volumes[].ephemeral.volumeClaimTemplate.metadata

描述
可能包含创建 PVC 时将复制到 PVC 的标签和注解。不允许其他字段,并在验证过程中被拒绝。
类型
object

6.1.384. .spec.volumes[].ephemeral.volumeClaimTemplate.spec

描述
PersistentVolumeClaim 的规格。整个内容保持不变复制到从该模板创建的 PVC 中。PersistentVolumeClaim 中与 相同的字段也有效。
类型
object
属性类型描述

accessModes

数组(字符串)

accessModes 包含卷应具有所需的访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

object

Datasource 字段可以用来指定:* 一个现有的 VolumeSnapshot 对象(snapshot.storage.k8s.io/VolumeSnapshot)* 一个现有的 PVC (PersistentVolumeClaim),如果置备程序或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 内容将复制到 dataSourceRef 中,当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource 中。如果指定了 namespace,则不会将 dataSourceRef 复制到 dataSource 中。

dataSourceRef

object

如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。

resources

object

resources 代表卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,用户可以指定小于之前值的资源要求,但仍必须高于声明的 status 字段中记录的容量。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

selector

object

selector 是要考虑绑定的卷的标签查询。

storageClassName

string

storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeMode

字符串

volumeMode 定义声明需要哪些卷类型。当未包含在 claim spec 中时,文件系统的值会被表示。

volumeName

string

volumeName 是对此声明支持的 PersistentVolume 的绑定引用。

6.1.385. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource

描述
Datasource 字段可以用来指定:* 一个现有的 VolumeSnapshot 对象(snapshot.storage.k8s.io/VolumeSnapshot)* 一个现有的 PVC (PersistentVolumeClaim),如果置备程序或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 内容将复制到 dataSourceRef 中,当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource 中。如果指定了 namespace,则不会将 dataSourceRef 复制到 dataSource 中。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

字符串

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

6.1.386. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef

描述
如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

字符串

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

namespace

string

命名空间是被引用的资源的命名空间,请注意,当指定命名空间时,引用命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象来允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。

6.1.387. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources

描述
resources 代表卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,用户可以指定小于之前值的资源要求,但仍必须高于声明的 status 字段中记录的容量。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
类型
object
属性类型描述

claims

数组

claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。

claims[]

object

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

limits

integer-or-string

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

requests

integer-or-string

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

6.1.388. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources.claims

描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。此字段不可变。
类型
数组

6.1.389. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

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

6.1.390. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector

描述
selector 是要考虑绑定的卷的标签查询。
类型
object
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.391. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
数组

6.1.392. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

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

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

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

6.1.393. .spec.volumes[].fc

描述
FC 代表附加到 kubelet 主机机器的光纤通道资源,然后公开给 pod。
类型
object
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,"ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。TODO:如何防止文件系统中的错误破坏计算机

lun

整数

LUN 是可选的:FC 目标 lun 号

readOnly

布尔值

readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

targetWWNs

数组(字符串)

targetWWNs 是可选:FC 目标全球名称(WWN)

wwids

数组(字符串)

wwids 可选:FC 卷全局范围标识符(wwids) Either wwids 或 targetWWN 和 lun 的组合必须被设置,但不能同时设置。

6.1.394. .spec.volumes[].flexVolume

描述
FlexVolume 代表使用基于 exec 的插件置备的/附加的通用卷资源。
类型
object
必填
  • driver
属性类型描述

driver

string

driver 是用于此卷的驱动程序的名称。

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,"ext4", "xfs", "ntfs".默认文件系统依赖于 FlexVolume 脚本。

options

对象(字符串)

选项为 Optional:此字段包含额外的命令选项(若有)。

readOnly

布尔值

readonly 为 Optional: 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

secretRef

object

secretRef 是 Optional: secretRef 引用了包含敏感信息的 secret 对象,以传递给插件脚本。如果没有指定 secret 对象,这可能为空。如果 secret 对象包含多个 secret,则所有 secret 都会传递给插件脚本。

6.1.395. .spec.volumes[].flexVolume.secretRef

描述
secretRef 是 Optional: secretRef 引用了包含敏感信息的 secret 对象,以传递给插件脚本。如果没有指定 secret 对象,这可能为空。如果 secret 对象包含多个 secret,则所有 secret 都会传递给插件脚本。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.396. .spec.volumes[].flocker

描述
flocker 代表附加到 kubelet 主机机器的 Flocker 卷。这取决于正在运行的 Flocker 控制服务
类型
object
属性类型描述

datasetName

string

datasetName 是数据存储为 Flocker dataset 上的 metadata name 的 Name,应被视为已弃用

datasetUUID

string

datasetUUID 是 dataset 的 UUID。这是 Flocker 数据集的唯一标识符

6.1.397. .spec.volumes[].gcePersistentDisk

描述
gcePersistentDisk 代表一个 GCE Disk 资源,该资源附加到 kubelet 的主机机器,然后公开给 pod。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
类型
object
必填
  • pdName
属性类型描述

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO:如何防止文件系统中的错误影响机器

分区

整数

partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

pdName

string

pdName 是 GCE 中的 PD 资源的唯一名称。用于识别 GCE 中的磁盘。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

readOnly

布尔值

此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

6.1.398. .spec.volumes[].gitRepo

描述
gitRepo 代表特定修订版本中的 git 存储库。DEPRECATED: GitRepo 已被弃用。要使用 git 存储库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。
类型
object
必填
  • 软件仓库
属性类型描述

directory

string

directory 是目标目录名称。不得包含或以 '..' 开头。如果提供了 '.',则卷目录将是 git 存储库。否则,如果指定,卷将在带有给定名称的子目录中包含 git 存储库。

软件仓库

string

repository 是 URL

revision

string

revision 是指定修订版本的提交哈希。

6.1.399. .spec.volumes[].glusterfs

描述
GlusterFS 代表共享 pod 生命周期的主机上的 Glusterfs 挂载。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md
类型
object
必填
  • 端点
  • path
属性类型描述

端点

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

6.1.400. .spec.volumes[].hostPath

描述
hostpath 代表主机机器上直接公开给容器的已存在的文件或目录。这通常用于系统代理或其他允许查看主机机器的特权事情。大多数容器都不需要这样做。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath -- TODO (jonesdl)我们需要限制哪些人可以使用主机目录挂载,以及谁可以/不能将主机目录挂载为读/写。
类型
object
必填
  • path
属性类型描述

path

string

主机上目录的路径。如果路径是符号链接,它将遵循指向实际路径的链接。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

type

string

HostPath Volume 默认为 "" 更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

6.1.401. .spec.volumes[].iscsi

描述
iSCSI 代表附加到 kubelet 主机机器的 ISCSI Disk 资源,然后公开给 pod。更多信息: https://examples.k8s.io/volumes/iscsi/README.md
类型
object
必填
  • iqn
  • lun
  • targetPortal
属性类型描述

chapAuthDiscovery

布尔值

chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证

chapAuthSession

布尔值

chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO:如何防止文件系统中的错误影响机器

initiatorName

string

initiatorname 是自定义 iSCSI 启动器名称。如果同时使用 iscsiInterface 指定 initiatorName,则会为连接创建新的 iSCSI 接口 <target portal>:<volume name>。

iqn

string

IQN 是目标 iSCSI 限定名称。

iscsiInterface

string

iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default'(tcp)。

lun

整数

LUN 表示 iSCSI 目标 Lun 编号。

门户

数组(字符串)

门户是 iSCSI 目标门户列表。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。

readOnly

布尔值

此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。

secretRef

object

secretRef 是 iSCSI 目标和发起方身份验证的 CHAP Secret

targetPortal

string

targetPortal 是 iSCSI 目标门户。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。

6.1.402. .spec.volumes[].iscsi.secretRef

描述
secretRef 是 iSCSI 目标和发起方身份验证的 CHAP Secret
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.403. .spec.volumes[].nfs

描述
NFS 代表共享 pod 生命周期更多信息的主机上 NFS 挂载: https://kubernetes.io/docs/concepts/storage/volumes#nfs
类型
object
必填
  • path
  • server
属性类型描述

path

string

NFS 服务器导出的路径。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

readOnly

布尔值

此处的只读将强制使用只读权限挂载 NFS 导出。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

server

string

server 是 NFS 服务器的主机名或 IP 地址。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

6.1.404. .spec.volumes[].persistentVolumeClaim

描述
persistentVolumeClaimVolumeSource 代表对同一命名空间中的 PersistentVolumeClaim 的引用。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
必填
  • claimName
属性类型描述

claimName

string

claimName 是与使用这个卷的 pod 相同的命名空间中的 PersistentVolumeClaim 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

布尔值

readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认 false。

6.1.405. .spec.volumes[].photonPersistentDisk

描述
photonPersistentDisk 代表附加并挂载到 kubelets 主机上的 PhotonController 持久磁盘
类型
object
必填
  • pdID
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,"ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

pdID

string

pdID 是标识 Photon Controller 持久磁盘的 ID

6.1.406. .spec.volumes[].portworxVolume

描述
portworxVolume 代表附加并挂载到 kubelets 主机上的 portworx 卷
类型
object
必填
  • volumeID
属性类型描述

fsType

string

fstype 代表要挂载的文件系统类型必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs"。如果未指定,则隐式推断为 "ext4"。

readOnly

布尔值

readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

volumeID

string

VolumeId 唯一标识 Portworx 卷

6.1.407. .spec.volumes[].projected

描述
一个资源 secret、configmap 和 Downward API 中所有的项目项目
类型
object
属性类型描述

defaultMode

整数

defaultMode 是默认用于在创建的文件上设置权限的模式位。必须是一个 0000 到 0777 之间的八进制数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

sources

数组

sources 是卷投射列表

sources[]

对象

可投射以及其他支持的卷类型的预测

6.1.408. .spec.volumes[].projected.sources

描述
sources 是卷投射列表
类型
array

6.1.409. .spec.volumes[].projected.sources[]

描述
可投射以及其他支持的卷类型的预测
类型
object
属性类型描述

configMap

object

有关项目的 configMap 数据的 ConfigMap 信息

downwardAPI

object

downwardAPI 有关项目的 downwardAPI 数据的信息

secret

object

有关项目的 secret 数据的 secret 信息

serviceAccountToken

object

serviceAccountToken 是与项目的 serviceAccountToken 数据相关的信息

6.1.410. .spec.volumes[].projected.sources[].configMap

描述
有关项目的 configMap 数据的 ConfigMap 信息
类型
object
属性类型描述

items

数组

如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。

items[]

对象

将字符串键映射到卷中的路径。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

(可选)指定是否必须定义 ConfigMap 或其键

6.1.411. .spec.volumes[].projected.sources[].configMap.items

描述
如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
类型
array

6.1.412. .spec.volumes[].projected.sources[].configMap.items[]

描述
将字符串键映射到卷中的路径。
类型
object
必填
  • key
  • path
属性类型描述

key

string

key 是项目的关键。

模式

整数

模式为可选:用于设置此文件权限的模式位。必须是一个 0000 到 0777 之间的八进制数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

path

string

path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。

6.1.413. .spec.volumes[].projected.sources[].downwardAPI

描述
downwardAPI 有关项目的 downwardAPI 数据的信息
类型
object
属性类型描述

items

array

items 是 DownwardAPIVolume 文件列表

items[]

对象

DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息

6.1.414. .spec.volumes[].projected.sources[].downwardAPI.items

描述
items 是 DownwardAPIVolume 文件列表
类型
array

6.1.415. .spec.volumes[].projected.sources[].downwardAPI.items[]

描述
DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息
类型
object
必填
  • path
属性类型描述

fieldRef

对象

必需:选择 pod 的字段:只支持注解、标签、名称和命名空间。

模式

整数

可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的数值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

path

字符串

必需:Path 是要创建的文件的相对路径名称。不能是绝对的,也不能包含 '..' 路径。必须经过 utf-8 编码。相对路径的第一个项不能以 '..' 开头。

resourceFieldRef

对象

选择容器的资源:目前只支持资源限值和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

6.1.416. .spec.volumes[].projected.sources[].downwardAPI.items[].fieldRef

描述
必需:选择 pod 的字段:只支持注解、标签、名称和命名空间。
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

模式的版本是按术语编写的 FieldPath,默认为 "v1"。

fieldPath

字符串

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

6.1.417. .spec.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef

描述
选择容器的资源:目前只支持资源限值和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷需要,对于 env vars是可选的

divisor

integer-or-string

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

resource

字符串

必需:要选择的资源

6.1.418. .spec.volumes[].projected.sources[].secret

描述
有关项目的 secret 数据的 secret 信息
类型
object
属性类型描述

items

数组

如果未指定,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。

items[]

对象

将字符串键映射到卷中的路径。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

可选字段指定是否必须定义 Secret 或其密钥

6.1.419. .spec.volumes[].projected.sources[].secret.items

描述
如果未指定,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
类型
array

6.1.420. .spec.volumes[].projected.sources[].secret.items[]

描述
将字符串键映射到卷中的路径。
类型
object
必填
  • key
  • path
属性类型描述

key

string

key 是项目的关键。

模式

整数

模式为可选:用于设置此文件权限的模式位。必须是一个 0000 到 0777 之间的八进制数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

path

string

path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。

6.1.421. .spec.volumes[].projected.sources[].serviceAccountToken

描述
serviceAccountToken 是与项目的 serviceAccountToken 数据相关的信息
类型
object
必填
  • path
属性类型描述

受众

string

受众是令牌的预期使用者。令牌的接收者必须使用令牌使用者中指定的标识符来识别其自身,否则应拒绝令牌。受众默认为 apiserver 的标识符。

expirationSeconds

整数

expirationSeconds 是服务帐户令牌的请求的有效期。当令牌接近过期时,kubelet 卷插件会主动轮转服务帐户令牌。如果令牌的时间超过 80%,或者令牌早于 24 小时,则 kubelet 将开始尝试轮转令牌。默认为 1 小时,且必须至少为 10 分钟。

path

string

path 是与文件挂载点相关的路径,用于将令牌放入其中。

6.1.422. .spec.volumes[].quobyte

描述
quobyte 代表共享 pod 生命周期的主机上执行 Quobyte 挂载
类型
object
必填
  • registry
属性类型描述

group

string

将卷访问映射到 Default 的组没有组

readOnly

布尔值

此处的 readonly 将强制使用只读权限挂载 Quobyte 卷。默认为false。

registry

string

registry 代表单个或多个 Quobyte Registry 服务,它指定为 host:port 对(多个条目用逗号分开),它充当卷的中央 registry

tenant

string

在带有动态置备 Quobyte 卷的后端使用中拥有给定 Quobyte 卷的租户,由插件设置

user

string

用户,将卷访问权限映射到 Defaults 到 serivceaccount 用户

string

volume 是按名称引用已创建 Quobyte 卷的字符串。

6.1.423. .spec.volumes[].rbd

描述
RBD 代表共享 pod 生命周期的主机上 Rados 块设备挂载。更多信息: https://examples.k8s.io/volumes/rbd/README.md
类型
object
必填
  • image
  • monitor
属性类型描述

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO:如何防止文件系统中的错误影响机器

image

string

image 是 rados 镜像名称。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

keyring

string

keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

monitor

数组(字符串)

monitor 是 Ceph 监视器的集合。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

pool

string

pool 是 rados 池名称。默认为 rbd。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

readOnly

布尔值

此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

secretRef

object

secretRef 是 RBDUser 的身份验证 secret 的名称。如果提供的会覆盖密钥环。默认为 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

6.1.424. .spec.volumes[].rbd.secretRef

描述
secretRef 是 RBDUser 的身份验证 secret 的名称。如果提供的会覆盖密钥环。默认为 nil。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.425. .spec.volumes[].scaleIO

描述
scaleIO 代表附加并挂载到 Kubernetes 节点上的 ScaleIO 持久性卷。
类型
object
必填
  • gateway
  • secretRef
  • system
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,"ext4", "xfs", "ntfs".默认为 "xfs"。

gateway

string

gateway 是 ScaleIO API 网关的主机地址。

protectionDomain

string

protectionDomain 是配置存储的 ScaleIO 保护域的名称。

readOnly

布尔值

readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

secretRef

object

secretRef 引用 ScaleIO 用户和其他敏感信息的 secret。如果没有提供,则登录操作将失败。

sslEnabled

布尔值

sslEnabled Flag 启用/禁用与网关的 SSL 通信,默认为 false

storageMode

string

storageMode 指示卷的存储是否应 ThickProvisioned 或 ThinProvisioned。默认为 ThinProvisioned。

storagePool

string

StoragePool 是与保护域关联的 ScaleIO 存储池。

system

string

system 是 ScaleIO 中配置的存储系统的名称。

volumeName

string

volumeName 是在与这个卷源关联的 ScaleIO 系统中创建的卷的名称。

6.1.426. .spec.volumes[].scaleIO.secretRef

描述
secretRef 引用 ScaleIO 用户和其他敏感信息的 secret。如果没有提供,则登录操作将失败。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.427. .spec.volumes[].secret

描述
Secret 代表应填充此卷的 secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret
类型
object
属性类型描述

defaultMode

整数

defaultMode 是可选:默认用于设置创建文件的权限的模式位。必须是一个 0000 到 0777 之间的八进制数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

items

数组

如果未指定项目,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。

items[]

对象

将字符串键映射到卷中的路径。

optional

布尔值

可选字段指定是否必须定义 Secret 或其密钥

secretName

string

secretName 是要使用的 pod 命名空间中的 secret 名称。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

6.1.428. .spec.volumes[].secret.items

描述
如果未指定项目,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
类型
array

6.1.429. .spec.volumes[].secret.items[]

描述
将字符串键映射到卷中的路径。
类型
object
必填
  • key
  • path
属性类型描述

key

string

key 是项目的关键。

模式

整数

模式为可选:用于设置此文件权限的模式位。必须是一个 0000 到 0777 之间的八进制数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的值为十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。

path

string

path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。

6.1.430. .spec.volumes[].storageos

描述
storageos 代表附加并挂载到 Kubernetes 节点上的 StorageOS 卷。
类型
object
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,"ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

readOnly

布尔值

readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

secretRef

object

secretRef 指定用于获取 StorageOS API 凭证的 secret。如果没有指定,则会尝试默认值。

volumeName

string

volumeName 是 StorageOS 卷的人类可读名称。卷名称仅在命名空间中唯一。

volumeNamespace

string

volumeNamespace 指定 StorageOS 中的卷范围。如果没有指定命名空间,则使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称进行更紧密的集成。将 VolumeName 设置为任何名称,以覆盖默认的行为。如果没有在 StorageOS 中使用命名空间,则设置为 "default"。将创建在 StorageOS 中没有预先存在的命名空间。

6.1.431. .spec.volumes[].storageos.secretRef

描述
secretRef 指定用于获取 StorageOS API 凭证的 secret。如果没有指定,则会尝试默认值。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

6.1.432. .spec.volumes[].vsphereVolume

描述
vsphereVolume 代表附加并挂载到 kubelets 主机上的 vSphere 卷
类型
object
必填
  • volumePath
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,"ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

storagePolicyID

string

storagePolicyID 是与 StoragePolicyName 关联的存储策略 Based Management (SPBM)配置集 ID。

storagePolicyName

string

StoragePolicyName 是存储基于策略的管理(SPBM)配置集名称。

volumePath

string

volumePath 是标识 vSphere 卷 vmdk 的路径

6.1.433. .spec.web

描述
定义启动 Prometheus 时的 Web 命令行标志。
类型
object
属性类型描述

httpConfig

object

定义 Web 服务器的 HTTP 参数。

maxConnections

整数

定义同时连接 A 零值的最大数,意味着 Prometheus 不接受任何传入连接。

pageTitle

字符串

prometheus 网页标题

tlsConfig

object

定义 HTTPS 的 TLS 参数。

6.1.434. .spec.web.httpConfig

描述
定义 Web 服务器的 HTTP 参数。
类型
object
属性类型描述

标头

object

可添加到 HTTP 响应中的标头列表。

http2

布尔值

启用 HTTP/2 支持。请注意,只有 TLS 支持 HTTP/2。如果没有配置 TLSConfig,则禁用 HTTP/2。每当字段更改时,将触发滚动更新。

6.1.435. .spec.web.httpConfig.headers

描述
可添加到 HTTP 响应中的标头列表。
类型
object
属性类型描述

contentSecurityPolicy

string

将 Content-Security-Policy 标头设置为 HTTP 响应。如果为空,则取消设置。

strictTransportSecurity

string

将 Strict-Transport-Security 标头设置为 HTTP 响应。如果为空,则取消设置。请确定您谨慎使用此标头,因为这个标头可能会强制浏览器加载 Prometheus,以及通过 HTTPS 在同一域和子域上托管的其他应用程序。https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security

xContentTypeOptions

string

将 X-Content-Type-Options 标头设置为 HTTP 响应。如果为空,则取消设置。接受的值是 nosniff。https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options

xFrameOptions

string

将 X-Frame-Options 标头设置为 HTTP 响应。如果为空,则取消设置。接受的值是 deny 和 sameorigin。https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

xXSSProtection

string

将 X-XSS-Protection 标头设置为所有响应。如果为空,则取消设置。https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection

6.1.436. .spec.web.tlsConfig

描述
定义 HTTPS 的 TLS 参数。
类型
object
必填
  • cert
  • keySecret
属性类型描述

cert

对象

包含服务器的 TLS 证书。

cipherSuites

数组(字符串)

TLS 版本支持的密码套件列表,最高为 TLS 1.2。如果为空,则使用 Go 默认密码套件。可用的密码套件记录在以下文档 :https://golang.org/pkg/crypto/tls/#pkg-constants

clientAuthType

字符串

用于客户端身份验证的服务器策略。映射到 ClientAuth 策略。有关 clientAuth 选项的详情: https://golang.org/pkg/crypto/tls/#ClientAuthType

client_ca

对象

包含服务器客户端证书身份验证的 CA 证书。

curvePreferences

数组(字符串)

按偏好顺序在 ECDHE 握手中使用的 Elliptic curves。可用的 curves 记录在以下文档 :https://golang.org/pkg/crypto/tls/#CurveID

keySecret

对象

包含服务器的 TLS 密钥的 secret。

maxVersion

字符串

可接受的最大 TLS 版本。默认为 TLS13。

minVersion

字符串

可以接受的最低 TLS 版本。默认为 TLS12。

preferServerCipherSuites

布尔值

控制服务器是否选择客户端最首选密码套件,或者服务器最首选密码套件。如果为 true,则使用服务器的首选项,如 cipherSuites 中的元素顺序表示。

6.1.437. .spec.web.tlsConfig.cert

描述
包含服务器的 TLS 证书。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.438. .spec.web.tlsConfig.cert.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.439. .spec.web.tlsConfig.cert.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.440. .spec.web.tlsConfig.client_ca

描述
包含服务器客户端证书身份验证的 CA 证书。
类型
object
属性类型描述

configMap

对象

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

secret

对象

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

6.1.441. .spec.web.tlsConfig.client_ca.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

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

6.1.442. .spec.web.tlsConfig.client_ca.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.443. .spec.web.tlsConfig.keySecret

描述
包含服务器的 TLS 密钥的 secret。
类型
object
必填
  • key
属性类型描述

key

字符串

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

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.444. .status

描述
最近观察到的 Prometheus 集群的状态。只读。更多信息: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
类型
object
必填
  • availableReplicas
  • paused
  • replicas
  • unavailableReplicas
  • updatedReplicas
属性类型描述

availableReplicas

整数

此 Prometheus 部署的目标可用 pod 的总数(至少为 minReadySeconds)。

conditions

数组

Prometheus 部署的当前状态。

conditions[]

object

condition 代表与 Prometheus 或 Alertmanager 资源关联的资源的状态。

paused

布尔值

代表是否在执行底层受管对象的任何操作。只有 delete 操作才会执行。

replicas

整数

此 Prometheus 部署的目标非确定 pod 的总数(标签与选择器匹配)。

shardStatuses

数组

列表中每个分片有一个条目。每个条目都提供了分片状态的摘要。

shardStatuses[]

object

 

unavailableReplicas

整数

此 Prometheus 部署目标不可用 pod 的总数。

updatedReplicas

整数

此 Prometheus 部署目标为具有所需版本 spec 的非确定 pod 的总数。

6.1.445. .status.conditions

描述
Prometheus 部署的当前状态。
类型
array

6.1.446. .status.conditions[]

描述
condition 代表与 Prometheus 或 Alertmanager 资源关联的资源的状态。
类型
object
必填
  • lastTransitionTime
  • status
  • type
属性类型描述

lastTransitionTime

字符串

lastTransitionTime 是当前 status 属性最后一次更新的时间。

message

string

人类可读的消息,指示条件最后一次转换的详细信息。

observedGeneration

整数

observedGeneration 代表 .metadata.generation,条件基于这个条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[].observedGeneration 是 9,则条件与实例的当前状态不同。

reason

string

条件最后一次转换的原因。

status

string

条件的状态。

type

string

所报告条件的类型。

6.1.447. .status.shardStatuses

描述
列表中每个分片有一个条目。每个条目都提供了分片状态的摘要。
类型
数组

6.1.448. .status.shardStatuses[]

描述
类型
object
必填
  • availableReplicas
  • replicas
  • shardID
  • unavailableReplicas
  • updatedReplicas
属性类型描述

availableReplicas

整数

此分片针对的可用 pod 的总数(至少为 minReadySeconds)。

replicas

整数

此分片目标的 pod 总数。

shardID

string

分片的标识符。

unavailableReplicas

整数

此分片目标不可用 pod 的总数。

updatedReplicas

整数

此分片的目标非确定的 pod 的总数,该分片具有所需的 spec。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.