Alertmanager 描述了一个 Alertmanager 集群。
Alertmanager 描述了一个 Alertmanager 集群。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰式命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
Alertmanager 集群所需行为的规范。更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
|
|
Alertmanager 集群最新观察到的状态。只读。更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
AdditionalPeers 允许注入一组额外的 Alertmanager 进行对等连接,以形成高可用性集群。 |
|
|
如果指定,则为 Pod 的调度约束。 |
|
|
AlertmanagerConfigMatcherStrategy 定义了 AlertmanagerConfig 对象如何匹配警报。将来可能会添加更多选项。 |
|
|
要为 AlertmanagerConfig 发现选择的命名空间。如果为 nil,则只检查自己的命名空间。 |
|
|
要选择的 AlertmanagerConfigs,用于与 Alertmanager 合并和配置。 |
|
|
alertmanagerConfiguration 指定 Alertmanager 的配置。 如果定义,则优先于 这是一个**实验性功能**,它可能会在任何即将发布的版本中以破坏性的方式发生更改。 |
|
|
AutomountServiceAccountToken 指示是否应在 Pod 中自动挂载服务帐户令牌。如果服务帐户具有 |
|
|
用于部署 Pod 的基础镜像,不包含标签。已弃用:请改用“image”。 |
|
|
ClusterAdvertiseAddress 是在集群中宣传的显式地址。对于非 RFC1918 [1](公共)地址,需要提供此地址。[1] RFC1918: https://tools.ietf.org/html/rfc1918 |
|
|
两次闲聊尝试之间的时间间隔。 |
|
|
定义唯一标识 Alertmanager 集群的标识符。只有当 Alertmanager 集群包含此 Alertmanager 资源外部的 Alertmanager 实例时,才应设置它。实际上,外部实例的地址通过 |
|
|
集群对等超时。 |
|
|
两次 pushpull 尝试之间的时间间隔。 |
|
|
ConfigMaps 是与 Alertmanager 对象位于同一命名空间中的一系列 ConfigMap,这些 ConfigMap 将被挂载到 Alertmanager Pod 中。每个 ConfigMap 都会作为名为 |
|
|
ConfigSecret 是与 Alertmanager 对象位于同一命名空间中的 Kubernetes Secret 的名称,其中包含此 Alertmanager 实例的配置。如果为空,则默认为 Alertmanager 配置应在 如果密钥或 |
|
|
Containers 允许注入额外的容器。这旨在允许向 Alertmanager pod 添加身份验证代理。此处描述的容器如果共享相同的名称并且修改是通过策略性合并补丁完成的,则会修改操作员生成的容器。当前的容器名称为: |
|
|
您希望在 Pod 中运行的单个应用程序容器。 |
|
|
启用对 Alertmanager 功能标志的访问。默认情况下,不启用任何功能。启用默认情况下禁用的功能完全不在维护人员将支持的范围内,这样做意味着您接受此行为可能会随时中断而无需通知。 它需要 Alertmanager >= 0.27.0。 |
|
|
Alertmanager 实例将在其下可用的外部 URL。这对于生成正确的 URL 是必要的。如果 Alertmanager 不是从 DNS 名称的根目录提供服务,则需要此项。 |
|
|
ForceEnableClusterMode 确保 Alertmanager 在使用单个副本运行时不会停用集群模式。用例例如跨 Kubernetes 集群跨越 Alertmanager 集群,每个集群中只有一个副本。 |
|
|
Pod 的 hostAliases 配置 |
|
|
HostAlias 保持 IP 和主机名之间的映射,这些映射将作为 pod 的 hosts 文件中的条目注入。 |
|
|
如果指定了 Image,则其优先级高于 baseImage、tag 和 sha 组合。仍然需要指定版本以确保 Prometheus Operator 知道正在配置哪个版本的 Alertmanager。 |
|
|
'alertmanager'、'init-config-reloader' 和 'config-reloader' 容器的镜像拉取策略。更多详情请参见 https://kubernetes.ac.cn/docs/concepts/containers/images/#image-pull-policy。 |
|
|
从注册表中拉取 prometheus 和 alertmanager 镜像时,使用的同一命名空间中密钥的可选引用列表,请参见 https://kubernetes.ac.cn/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod |
|
|
LocalObjectReference 包含足够的信息,可以让您在同一命名空间内找到引用的对象。 |
|
|
InitContainers 允许向 pod 定义添加 initContainers。这些可用于例如从外部来源获取用于注入 Alertmanager 配置的密钥。initContainer 执行期间的任何错误都将导致 Pod 重启。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/init-containers/ 此处描述的 InitContainers 如果共享相同的名称并且修改是通过策略性合并补丁完成的,则会修改操作员生成的 init 容器。当前的 init 容器名称为: |
|
|
您希望在 Pod 中运行的单个应用程序容器。 |
|
|
ListenLocal 使 Alertmanager 服务器监听环回地址,以便它不绑定到 Pod IP。请注意,这仅适用于 Alertmanager UI,而不适用于闲聊通信。 |
|
|
要为 Alertmanager 配置的日志格式。 |
|
|
要为 Alertmanager 配置的日志级别。 |
|
|
新创建的 pod 在没有任何容器崩溃的情况下应保持就绪的最小秒数,以便将其视为可用。默认为 0(pod 一旦就绪即可视为可用)这是 kubernetes 1.22 到 1.24 的 alpha 字段,需要启用 StatefulSetMinReadySeconds 功能网关。 |
|
|
定义 Pod 调度的节点。 |
|
|
如果设置为 true,则不会执行对底层托管对象的任何操作,删除操作除外。 |
|
|
PodMetadata 配置传播到 Alertmanager pod 的标签和注释。 以下项目是保留的,不能被覆盖:* "alertmanager" 标签,设置为 Alertmanager 实例的名称。* "app.kubernetes.io/instance" 标签,设置为 Alertmanager 实例的名称。* "app.kubernetes.io/managed-by" 标签,设置为 "prometheus-operator"。* "app.kubernetes.io/name" 标签,设置为 "alertmanager"。* "app.kubernetes.io/version" 标签,设置为 Alertmanager 版本。* "kubectl.kubernetes.io/default-container" 注释,设置为 "alertmanager"。 |
|
|
用于 pod 和管理服务的端口名称。默认为 |
|
|
分配给 Pod 的优先级类 |
|
|
Size 是 alertmanager 集群的预期大小。控制器最终将使运行集群的大小等于预期大小。 |
|
|
定义单个 Pod 的资源请求和限制。 |
|
|
Alertmanager 应保留数据的持续时间。默认为 '120h',必须与正则表达式 |
|
|
Alertmanager 注册 HTTP 处理程序的路由前缀。如果使用 ExternalURL 和代理正在重写请求的 HTTP 路由,并且实际的 ExternalURL 仍然有效,但服务器在不同的路由前缀下提供服务,则此功能很有用。例如,与 |
|
|
Secrets 是与 Alertmanager 对象位于同一命名空间中的一系列 Secret,这些 Secret 将被挂载到 Alertmanager Pod 中。每个 Secret 都会作为名为 |
|
|
SecurityContext 保存 Pod 级别的安全属性和公共容器设置。默认为默认的 PodSecurityContext。 |
|
|
ServiceAccountName 是用于运行 Prometheus Pod 的 ServiceAccount 的名称。 |
|
|
要部署的 Alertmanager 容器镜像的 SHA 值。默认为 |
|
|
Storage 定义了 Alertmanager 实例如何使用存储。 |
|
|
要部署的 Alertmanager 容器镜像的标签。默认为 |
|
|
如果指定,则为 Pod 的容忍度。 |
|
|
此容忍度附加到的 Pod 容忍任何与三元组 |
|
|
如果指定,则为 Pod 的拓扑传播约束。 |
|
|
TopologySpreadConstraint 指定如何在给定的拓扑结构中散布匹配的 Pod。 |
|
|
集群应使用的版本。 |
|
|
VolumeMounts 允许配置输出 StatefulSet 定义中的附加 VolumeMounts。指定的 VolumeMounts 将附加到 alertmanager 容器中的其他 VolumeMounts,这些 VolumeMounts 是 StorageSpec 对象生成的。 |
|
|
VolumeMount 描述在容器内挂载卷。 |
|
|
Volumes 允许配置输出 StatefulSet 定义中的附加卷。指定的卷将附加到 StorageSpec 对象生成的其它卷。 |
|
|
Volume 代表 Pod 中一个命名的卷,Pod 中的任何容器都可以访问它。 |
|
|
定义启动 Alertmanager 时 web 命令行标志。 |
如果指定,则为 Pod 的调度约束。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
描述 Pod 的节点亲和性调度规则。 |
|
|
描述 Pod 亲和性调度规则(例如,将此 Pod 与其他 Pod(s) 放在相同的节点、区域等)。 |
|
|
描述 Pod 反亲和性调度规则(例如,避免将此 Pod 与其他 Pod(s) 放在相同的节点、区域等)。 |
描述 Pod 的节点亲和性调度规则。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度程序更倾向于将 Pod 调度到满足此字段指定的亲和性表达式的节点,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否与相应的 matchExpressions 匹配将“权重”添加到总和来计算总和;总和最高的节点(s)是最优选的。 |
|
|
一个空的优先调度项与所有具有隐式权重 0 的对象匹配(即它是一个无操作)。一个 null 优先调度项不匹配任何对象(即也是一个无操作)。 |
|
|
如果此字段指定的亲和性要求在调度时未满足,则 Pod 将不会被调度到该节点。如果此字段指定的亲和性要求在 Pod 执行期间的某个时刻停止满足(例如,由于更新),系统可能会也可能不会尝试最终将 Pod 从其节点驱逐。 |
调度程序更倾向于将 Pod 调度到满足此字段指定的亲和性表达式的节点,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否与相应的 matchExpressions 匹配将“权重”添加到总和来计算总和;总和最高的节点(s)是最优选的。
数组
一个空的优先调度项与所有具有隐式权重 0 的对象匹配(即它是一个无操作)。一个 null 优先调度项不匹配任何对象(即也是一个无操作)。
对象
preference
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
与相应的权重关联的节点选择器项。 |
|
|
与匹配相应的 nodeSelectorTerm 相关的权重,范围为 1-100。 |
与相应的权重关联的节点选择器项。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
根据节点的标签列出节点选择器要求。 |
|
|
节点选择器要求是一个选择器,其中包含值、键和一个关联键和值的运算符。 |
|
|
根据节点的字段列出节点选择器要求。 |
|
|
节点选择器要求是一个选择器,其中包含值、键和一个关联键和值的运算符。 |
根据节点的标签列出节点选择器要求。
数组
节点选择器要求是一个选择器,其中包含值、键和一个关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符是 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略性合并补丁期间被替换。 |
根据节点的字段列出节点选择器要求。
数组
节点选择器要求是一个选择器,其中包含值、键和一个关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符是 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略性合并补丁期间被替换。 |
如果此字段指定的亲和性要求在调度时未满足,则 Pod 将不会被调度到该节点。如果此字段指定的亲和性要求在 Pod 执行期间的某个时刻停止满足(例如,由于更新),系统可能会也可能不会尝试最终将 Pod 从其节点驱逐。
对象
nodeSelectorTerms
属性 | 类型 | 描述 |
---|---|---|
|
|
必需。节点选择器项列表。这些项是 OR 关系。 |
|
|
一个 null 或空的节点选择器项不匹配任何对象。它们的要求是 AND 关系。TopologySelectorTerm 类型实现 NodeSelectorTerm 的一个子集。 |
必需。节点选择器项列表。这些项是 OR 关系。
数组
一个 null 或空的节点选择器项不匹配任何对象。它们的要求是 AND 关系。TopologySelectorTerm 类型实现 NodeSelectorTerm 的一个子集。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
根据节点的标签列出节点选择器要求。 |
|
|
节点选择器要求是一个选择器,其中包含值、键和一个关联键和值的运算符。 |
|
|
根据节点的字段列出节点选择器要求。 |
|
|
节点选择器要求是一个选择器,其中包含值、键和一个关联键和值的运算符。 |
根据节点的标签列出节点选择器要求。
数组
节点选择器要求是一个选择器,其中包含值、键和一个关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符是 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略性合并补丁期间被替换。 |
根据节点的字段列出节点选择器要求。
数组
节点选择器要求是一个选择器,其中包含值、键和一个关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符是 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略性合并补丁期间被替换。 |
描述 Pod 亲和性调度规则(例如,将此 Pod 与其他 Pod(s) 放在相同的节点、区域等)。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度器会优先将 Pod 调度到满足此字段中指定的亲和性表达式的节点上,但它也可能会选择违反一个或多个表达式的节点。最优的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点上是否有匹配的 podAffinityTerm 的 Pod 来将“weight”添加到总和中来计算总和;总和最高的节点是最优的节点。 |
|
|
所有匹配的 WeightedPodAffinityTerm 字段的权重会按节点相加,以找到最优的节点。 |
|
|
如果在调度时间未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时间点(例如,由于 Pod 标签更新)不再满足此字段指定的亲和性要求,系统可能会也可能不会尝试最终将 Pod 从其节点上驱逐。当有多个元素时,将对每个 podAffinityTerm 对应的节点列表进行交集运算,即所有术语都必须满足。 |
|
|
定义了一组 Pod(即相对于给定命名空间匹配 labelSelector 的那些 Pod),此 Pod 应该与它们共处(亲和性)或不共处(反亲和性),其中共处定义为运行在节点上,其标签 |
调度器会优先将 Pod 调度到满足此字段中指定的亲和性表达式的节点上,但它也可能会选择违反一个或多个表达式的节点。最优的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点上是否有匹配的 podAffinityTerm 的 Pod 来将“weight”添加到总和中来计算总和;总和最高的节点是最优的节点。
数组
所有匹配的 WeightedPodAffinityTerm 字段的权重会按节点相加,以找到最优的节点。
对象
podAffinityTerm
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
必填。与相应的权重关联的 Pod 亲和性术语。 |
|
|
与匹配相应的 podAffinityTerm 相关的权重,范围为 1-100。 |
必填。与相应的权重关联的 Pod 亲和性术语。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
对一组资源(在本例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 不与任何 Pod 匹配。 |
|
|
matchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
mismatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
对术语适用的命名空间集的标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。 |
|
|
namespaces 指定术语适用的命名空间名称的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。null 或空的命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中与 labelSelector 匹配的 Pod 共处(亲和性)或不共处(反亲和性),其中共处定义为运行在节点上,其标签 topologyKey 的值与任何运行任何选定 Pod 的节点的标签值匹配。不允许使用空的 topologyKey。 |
对一组资源(在本例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 不与任何 Pod 匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
对术语适用的命名空间集的标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
如果在调度时间未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时间点(例如,由于 Pod 标签更新)不再满足此字段指定的亲和性要求,系统可能会也可能不会尝试最终将 Pod 从其节点上驱逐。当有多个元素时,将对每个 podAffinityTerm 对应的节点列表进行交集运算,即所有术语都必须满足。
数组
定义了一组 Pod(即相对于给定命名空间匹配 labelSelector 的那些 Pod),此 Pod 应该与它们共处(亲和性)或不共处(反亲和性),其中共处定义为运行在节点上,其标签
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
对一组资源(在本例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 不与任何 Pod 匹配。 |
|
|
matchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
mismatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
对术语适用的命名空间集的标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。 |
|
|
namespaces 指定术语适用的命名空间名称的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。null 或空的命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中与 labelSelector 匹配的 Pod 共处(亲和性)或不共处(反亲和性),其中共处定义为运行在节点上,其标签 topologyKey 的值与任何运行任何选定 Pod 的节点的标签值匹配。不允许使用空的 topologyKey。 |
对一组资源(在本例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 不与任何 Pod 匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
对术语适用的命名空间集的标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
描述 Pod 反亲和性调度规则(例如,避免将此 Pod 与其他 Pod(s) 放在相同的节点、区域等)。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度器会优先将 Pod 调度到满足此字段指定的反亲和性表达式的节点上,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否具有匹配相应 podAffinityTerm 的 Pod 来将“weight”添加到总和中来计算总和;总和最高的节点(或节点)是最优选的。 |
|
|
所有匹配的 WeightedPodAffinityTerm 字段的权重会按节点相加,以找到最优的节点。 |
|
|
如果调度时未满足此字段指定的反亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时间点(例如,由于 Pod 标签更新)不再满足此字段指定的反亲和性要求,则系统可能会也可能不会尝试最终将其从节点中逐出。当有多个元素时,对应于每个 podAffinityTerm 的节点列表将相交,即所有术语都必须满足。 |
|
|
定义了一组 Pod(即相对于给定命名空间匹配 labelSelector 的那些 Pod),此 Pod 应该与它们共处(亲和性)或不共处(反亲和性),其中共处定义为运行在节点上,其标签 |
调度器会优先将 Pod 调度到满足此字段指定的反亲和性表达式的节点上,但它可以选择违反一个或多个表达式的节点。最优选的节点是权重总和最大的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的每个节点,通过迭代此字段的元素并根据节点是否具有匹配相应 podAffinityTerm 的 Pod 来将“weight”添加到总和中来计算总和;总和最高的节点(或节点)是最优选的。
数组
所有匹配的 WeightedPodAffinityTerm 字段的权重会按节点相加,以找到最优的节点。
对象
podAffinityTerm
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
必填。与相应的权重关联的 Pod 亲和性术语。 |
|
|
与匹配相应的 podAffinityTerm 相关的权重,范围为 1-100。 |
必填。与相应的权重关联的 Pod 亲和性术语。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
对一组资源(在本例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 不与任何 Pod 匹配。 |
|
|
matchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
mismatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
对术语适用的命名空间集的标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。 |
|
|
namespaces 指定术语适用的命名空间名称的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。null 或空的命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中与 labelSelector 匹配的 Pod 共处(亲和性)或不共处(反亲和性),其中共处定义为运行在节点上,其标签 topologyKey 的值与任何运行任何选定 Pod 的节点的标签值匹配。不允许使用空的 topologyKey。 |
对一组资源(在本例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 不与任何 Pod 匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
对术语适用的命名空间集的标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
如果调度时未满足此字段指定的反亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时间点(例如,由于 Pod 标签更新)不再满足此字段指定的反亲和性要求,则系统可能会也可能不会尝试最终将其从节点中逐出。当有多个元素时,对应于每个 podAffinityTerm 的节点列表将相交,即所有术语都必须满足。
数组
定义了一组 Pod(即相对于给定命名空间匹配 labelSelector 的那些 Pod),此 Pod 应该与它们共处(亲和性)或不共处(反亲和性),其中共处定义为运行在节点上,其标签
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
对一组资源(在本例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 不与任何 Pod 匹配。 |
|
|
matchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
mismatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
对术语适用的命名空间集的标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。 |
|
|
namespaces 指定术语适用的命名空间名称的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。null 或空的命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中与 labelSelector 匹配的 Pod 共处(亲和性)或不共处(反亲和性),其中共处定义为运行在节点上,其标签 topologyKey 的值与任何运行任何选定 Pod 的节点的标签值匹配。不允许使用空的 topologyKey。 |
对一组资源(在本例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 不与任何 Pod 匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
对术语适用的命名空间集的标签查询。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 Pod 的命名空间”。空选择器({})匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
AlertmanagerConfigMatcherStrategy 定义了 AlertmanagerConfig 对象如何匹配警报。将来可能会添加更多选项。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
如果设置为 |
要为 AlertmanagerConfig 发现选择的命名空间。如果为 nil,则只检查自己的命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
要选择的 AlertmanagerConfigs,用于与 Alertmanager 合并和配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
alertmanagerConfiguration 指定 Alertmanager 的配置。
如果定义,则优先于configSecret
字段。
这是一个**实验性功能**,它可能会在任何即将发布的版本中以破坏性的方式发生更改。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
定义 Alertmanager 配置的全局参数。 |
|
|
用于生成 Alertmanager 配置的 AlertmanagerConfig 资源的名称。它必须定义在与 Alertmanager 对象相同的命名空间中。操作符不会为路由和抑制规则强制执行 |
|
|
自定义通知模板。 |
|
|
SecretOrConfigMap 允许将数据指定为 Secret 或 ConfigMap。字段是互斥的。 |
定义 Alertmanager 配置的全局参数。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
HTTP 客户端配置。 |
|
|
默认的 OpsGenie API 密钥。 |
|
|
默认的 OpsGenie API URL。 |
|
|
默认的 Pagerduty URL。 |
|
|
ResolveTimeout 是 Alertmanager 在警报不包含 EndsAt 时使用的默认值,此时间过去后,如果警报未更新,它可以声明警报已解决。这对来自 Prometheus 的警报没有影响,因为它们总是包含 EndsAt。 |
|
|
默认的 Slack API URL。 |
|
|
配置全局 SMTP 参数。 |
HTTP 客户端配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
客户端的授权标头配置。这与 BasicAuth 互斥,并且仅从 Alertmanager v0.22+ 开始可用。 |
|
|
客户端的基本身份验证。这与授权互斥。如果两者都定义,则 BasicAuth 优先。 |
|
|
包含客户端用于身份验证的 bearer 令牌的密钥的密钥。该密钥需要与 Alertmanager 对象位于相同的命名空间中,并且 Prometheus Operator 可以访问。 |
|
|
FollowRedirects 指定客户端是否应遵循 HTTP 3xx 重定向。 |
|
|
用于获取目标令牌的 OAuth2 客户端凭据。 |
|
|
可选的代理 URL。 |
|
|
客户端的 TLS 配置。 |
客户端的授权标头配置。这与 BasicAuth 互斥,并且仅从 Alertmanager v0.22+ 开始可用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
选择命名空间中包含身份验证凭据的 Secret 的密钥。 |
|
|
定义身份验证类型。值不区分大小写。 “Basic” 不是受支持的值。 默认值:“Bearer” |
选择命名空间中包含身份验证凭据的 Secret 的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
客户端的基本身份验证。这与授权互斥。如果两者都定义,则 BasicAuth 优先。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
password
指定包含身份验证密码的 Secret 的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
username
指定包含身份验证用户名密钥的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
包含客户端用于身份验证的 bearer 令牌的密钥的密钥。该密钥需要与 Alertmanager 对象位于相同的命名空间中,并且 Prometheus Operator 可以访问。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
用于获取目标令牌的 OAuth2 客户端凭据。
对象
clientId
clientSecret
tokenUrl
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clientId
指定包含 OAuth2 客户端 ID 的 Secret 或 ConfigMap 的密钥。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其密钥。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
clientSecret
指定包含 OAuth2 客户端密钥的 Secret 的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
客户端的 TLS 配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
验证服务器证书时使用的证书颁发机构。 |
|
|
进行客户端身份验证时要提供的客户端证书。 |
|
|
禁用目标证书验证。 |
|
|
包含目标客户端密钥文件的 Secret。 |
|
|
用于验证目标的主机名。 |
验证服务器证书时使用的证书颁发机构。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其密钥。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
进行客户端身份验证时要提供的客户端证书。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其密钥。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
包含目标客户端密钥文件的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
默认的 OpsGenie API 密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
默认的 OpsGenie API URL。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
默认的 Slack API URL。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
配置全局 SMTP 参数。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
使用 PLAIN 的 SMTP 身份验证 |
|
|
使用 LOGIN 和 PLAIN 的 SMTP 身份验证。 |
|
|
使用 CRAM-MD5 的 SMTP 身份验证。 |
|
|
使用 CRAM-MD5、LOGIN 和 PLAIN 的 SMTP 身份验证。如果为空,Alertmanager 不会向 SMTP 服务器进行身份验证。 |
|
|
默认的 SMTP 发件人标头字段。 |
|
|
用于标识 SMTP 服务器的默认主机名。 |
|
|
默认的 SMTP TLS 要求。请注意,Go 不支持与远程 SMTP 端点进行未加密的连接。 |
|
|
用于发送电子邮件的默认 SMTP smarthost。 |
使用 LOGIN 和 PLAIN 的 SMTP 身份验证。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
使用 CRAM-MD5 的 SMTP 身份验证。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
用于发送电子邮件的默认 SMTP smarthost。
对象
host
port
属性 | 类型 | 描述 |
---|---|---|
|
|
定义主机的地址,可以是 DNS 名称或文字 IP 地址。 |
|
|
定义主机的端口,可以是文字端口号或端口名称。 |
SecretOrConfigMap 允许将数据指定为 Secret 或 ConfigMap。字段是互斥的。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其密钥。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
Containers 允许注入额外的容器。这旨在允许向 Alertmanager pod 添加身份验证代理。此处描述的容器如果共享相同的名称并且修改是通过策略性合并补丁完成的,则会修改操作员生成的容器。当前的容器名称为:alertmanager
和config-reloader
。覆盖容器完全不在维护人员将支持的范围内,这样做意味着您接受此行为可能会随时中断而无需通知。
数组
您希望在 Pod 中运行的单个应用程序容器。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
入口点的参数。如果未提供此参数,则使用容器映像的 CMD。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将减少为单个美元符号,这允许转义 $(VAR_NAME) 语法:即“(VAR_NAME)”将生成字符串字面量“$(VAR_NAME)” 。转义的引用将永远不会扩展,无论变量是否存在。 |
|
|
入口点数组。不在 shell 中执行。如果未提供此项,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将简化为单个美元符号 $,这允许转义 $(VAR_NAME) 语法:例如,“$(VAR_NAME)”将生成字符串字面量 "$(VAR_NAME)"。转义的引用将永远不会被扩展,无论变量是否存在。 |
|
|
要在容器中设置的环境变量列表。无法更新。 |
|
|
EnvVar 表示容器中存在的一个环境变量。 |
|
|
用于填充容器中环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。所有无效键都将在容器启动时作为事件报告。当多个源中存在相同的键时,将采用最后一个源关联的值。具有重复键的 Env 定义的值将优先。 |
|
|
EnvFromSource 表示一组 ConfigMap 的源。 |
|
|
容器镜像名称。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理在像 Deployments 和 StatefulSets 这样的工作负载控制器中默认或覆盖容器镜像。 |
|
|
镜像拉取策略。取值范围为 Always、Never、IfNotPresent。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#updating-images |
|
|
管理系统应该根据容器生命周期事件采取的操作。无法更新。 |
|
|
容器存活状态的周期性探测。如果探测失败,容器将被重启。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
指定为 DNS_LABEL 的容器名称。Pod 中的每个容器都必须具有唯一的名称 (DNS_LABEL)。无法更新。 |
|
|
要从容器中暴露的端口列表。此处未指定端口并不阻止该端口被暴露。容器内侦听默认“0.0.0.0”地址的任何端口都可从网络访问。使用战略性合并补丁修改此数组可能会破坏数据。更多信息请参见 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
|
ContainerPort 表示单个容器中的网络端口。 |
|
|
容器服务就绪状态的周期性探测。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
容器的资源调整策略。 |
|
|
ContainerResizePolicy 表示容器的资源调整策略。 |
|
|
此容器所需的计算资源。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
RestartPolicy 定义 Pod 中各个容器的重启行为。此字段可能仅针对 init 容器设置,且唯一允许的值为“Always”。对于非 init 容器或未指定此字段的情况,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为“Always”将产生以下效果:此 init 容器将在退出时持续重启,直到所有常规容器都终止。一旦所有常规容器都完成,所有具有 restartPolicy“Always”的 init 容器都将关闭。此生命周期与正常的 init 容器不同,通常被称为“sidecar”容器。虽然此 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成才继续执行下一个 init 容器。而是,下一个 init 容器在此 init 容器启动后或任何 startupProbe 成功完成之后立即启动。 |
|
|
SecurityContext 定义容器应运行的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/ |
|
|
StartupProbe 指示 Pod 已成功初始化。如果指定,则在成功完成此探测之前不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可以用于在 Pod 生命周期开始时提供不同的探测参数,此时加载数据或预热缓存可能需要很长时间,而稳态运行时则不需要。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
此容器是否应在容器运行时中为 stdin 分配缓冲区。如果未设置此项,则容器中来自 stdin 的读取将始终导致 EOF。默认为 false。 |
|
|
容器运行时是否应在单个附加后关闭 stdin 通道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设置为 true,则 stdin 在容器启动时打开,在第一个客户端附加到 stdin 之前为空,然后保持打开状态并接受数据,直到客户端断开连接,此时 stdin 关闭并保持关闭状态,直到容器重启。如果此标志为 false,则从 stdin 读取的容器进程将永远不会收到 EOF。默认为 false。 |
|
|
可选:将容器终止消息写入的文件安装到容器文件系统的路径。写入的消息旨在简要说明最终状态,例如断言失败消息。如果大于 4096 字节,则将被节点截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
|
指示应如何填充终止消息。File 将使用 terminationMessagePath 的内容在成功和失败时填充容器状态消息。FallbackToLogsOnError 如果终止消息文件为空且容器以错误退出,则将使用容器日志输出的最后一段。日志输出限制为 2048 字节或 80 行,取较小者。默认为 File。无法更新。 |
|
|
是否为该容器分配 TTY,也需要 'stdin' 为 true。默认为 false。 |
|
|
volumeDevices 是容器将要使用的块设备列表。 |
|
|
volumeDevice 描述了容器内原始块设备的映射。 |
|
|
挂载到容器文件系统的 Pod 卷。无法更新。 |
|
|
VolumeMount 描述在容器内挂载卷。 |
|
|
容器的工作目录。如果未指定,将使用容器运行时的默认值,这可能在容器镜像中配置。无法更新。 |
EnvVar 表示容器中存在的一个环境变量。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
环境变量的名称。必须是 C_IDENTIFIER。 |
|
|
变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行展开。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将减少为单个美元符号,这允许转义 $(VAR_NAME) 语法:即 “(VAR_NAME)” 将生成字符串字面量 "$(VAR_NAME)"。转义的引用将永远不会展开,无论变量是否存在。 |
|
|
环境变量值的来源。如果 value 不为空,则不能使用。 |
环境变量值的来源。如果 value 不为空,则不能使用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
选择 ConfigMap 的一个键。 |
|
|
选择 pod 的字段:支持 metadata.name、metadata.namespace、 |
|
|
选择容器的资源:当前仅支持资源限制和请求 (limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。 |
|
|
选择 pod 命名空间中的密钥。 |
选择 ConfigMap 的一个键。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其密钥。 |
选择 pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']
、metadata.annotations['<KEY>']
、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 以其编写的模式版本,默认为 "v1"。 |
|
|
在指定的 API 版本中选择的字段路径。 |
选择容器的资源:当前仅支持资源限制和请求 (limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷必需,环境变量可选 |
|
|
指定公开资源的输出格式,默认为“1”。 |
|
|
必需:要选择的资源 |
选择 pod 命名空间中的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
用于填充容器中环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。所有无效键都将在容器启动时作为事件报告。当多个源中存在相同的键时,将采用最后一个源关联的值。具有重复键的 Env 定义的值将优先。
数组
EnvFromSource 表示一组 ConfigMap 的源。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 ConfigMap |
|
|
一个可选的标识符,用于在 ConfigMap 中的每个键前添加。必须是 C_IDENTIFIER。 |
|
|
要从中选择的 Secret |
要从中选择的 ConfigMap
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap |
要从中选择的 Secret
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret |
管理系统应该根据容器生命周期事件采取的操作。无法更新。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
PostStart 在容器创建后立即调用。如果处理程序失败,则根据其重启策略终止并重启容器。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
|
|
PreStop 在由于 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止容器之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非最终确定程序延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
PostStart 在容器创建后立即调用。如果处理程序失败,则根据其重启策略终止并重启容器。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的持续时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期挂钩将在运行时失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
Sleep 表示容器在终止前应休眠的持续时间。
对象
seconds
属性 | 类型 | 描述 |
---|---|---|
|
|
Seconds 是要休眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期挂钩将在运行时失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
PreStop 在由于 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止容器之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非最终确定程序延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的持续时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期挂钩将在运行时失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
Sleep 表示容器在终止前应休眠的持续时间。
对象
seconds
属性 | 类型 | 描述 |
---|---|---|
|
|
Seconds 是要休眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期挂钩将在运行时失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
容器存活状态的周期性探测。如果探测失败,容器将被重启。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
探针在成功后被认为失败所需的连续失败次数最小值。默认为 3。最小值为 1。 |
|
|
GRPC 指定一个涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后等待执行存活探针的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探针的频率(以秒为单位)。默认为 10 秒。最小值为 1。 |
|
|
探针在失败后被认为成功的连续成功次数最小值。默认为 1。对于存活探针和启动探针,必须为 1。最小值为 1。 |
|
|
TCPSocket 指定一个涉及 TCP 端口的操作。 |
|
|
探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号与使用 kill 信号强制终止进程之间的时间段(以秒为单位)。将此值设置为长于进程预期清理时间的时长。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭机会)。这是一个测试版字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
GRPC 指定一个涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定此项,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定一个涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
要从容器中暴露的端口列表。此处未指定端口并不阻止该端口被暴露。容器内侦听默认“0.0.0.0”地址的任何端口都可从网络访问。使用战略性合并补丁修改此数组可能会破坏数据。更多信息请参见 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
数组
ContainerPort 表示单个容器中的网络端口。
对象
containerPort
属性 | 类型 | 描述 |
---|---|---|
|
|
要在 Pod 的 IP 地址上公开的端口号。这必须是一个有效的端口号,0 < x < 65536。 |
|
|
将外部端口绑定到的主机 IP。 |
|
|
要在主机上公开的端口号。如果指定,这必须是一个有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则这必须与 ContainerPort 匹配。大多数容器不需要此项。 |
|
|
如果指定,这必须是 IANA_SVC_NAME,并且在 Pod 内唯一。Pod 中的每个命名端口都必须具有唯一的名称。可以由服务引用的端口名称。 |
|
|
端口协议。必须是 UDP、TCP 或 SCTP。默认为“TCP”。 |
容器服务就绪状态的周期性探测。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
探针在成功后被认为失败所需的连续失败次数最小值。默认为 3。最小值为 1。 |
|
|
GRPC 指定一个涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后等待执行存活探针的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探针的频率(以秒为单位)。默认为 10 秒。最小值为 1。 |
|
|
探针在失败后被认为成功的连续成功次数最小值。默认为 1。对于存活探针和启动探针,必须为 1。最小值为 1。 |
|
|
TCPSocket 指定一个涉及 TCP 端口的操作。 |
|
|
探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号与使用 kill 信号强制终止进程之间的时间段(以秒为单位)。将此值设置为长于进程预期清理时间的时长。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭机会)。这是一个测试版字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
GRPC 指定一个涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定此项,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定一个涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
ContainerResizePolicy 表示容器的资源调整策略。
对象
resourceName
restartPolicy
属性 | 类型 | 描述 |
---|---|---|
|
|
此资源调整策略适用的资源名称。支持的值:cpu、memory。 |
|
|
调整指定资源大小时要应用的重启策略。如果未指定,则默认为 NotRequired。 |
此容器所需的计算资源。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段是不可变的。它只能为容器设置。 |
|
|
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
|
|
Limits 描述了允许的计算资源最大量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的计算资源最小量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段是不可变的。它只能为容器设置。
数组
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
名称必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内可用。 |
SecurityContext 定义容器应运行的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的权限。此布尔值直接控制容器进程上是否设置 no_new_privs 标志。当容器:1) 作为 Privileged 运行 2) 具有 CAP_SYS_ADMIN 时,AllowPrivilegeEscalation 始终为 true。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,此配置文件将覆盖 Pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
运行容器时要添加/删除的功能。默认为容器运行时授予的功能的默认集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
在特权模式下运行容器。特权容器中的进程基本上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
procMount 表示要用于容器的 proc 挂载类型。默认为 DefaultProcMount,它使用容器运行时针对只读路径和屏蔽路径的默认值。这需要启用 ProcMountType 功能标志。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此容器是否具有只读根文件系统。默认为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
指示容器必须作为非 root 用户运行。如果为 true,则 Kubelet 将在运行时验证映像以确保它不以 UID 0(root)运行,如果确实如此,则将无法启动容器。如果未设置或为 false,则不会执行此类验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。 |
|
|
运行容器进程入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此容器使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于所有容器的 Windows 特定设置。如果未指定,则使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。 |
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,此配置文件将覆盖 Pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上加载的配置文件。该配置文件必须预先配置在节点上才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时才必须设置。 |
|
|
type 指示将应用哪种类型的 AppArmor 配置文件。有效选项包括:Localhost - 节点上预加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 限制。 |
运行容器时要添加/删除的功能。默认为容器运行时授予的功能的默认集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
添加的功能 |
|
|
删除的功能 |
应用于容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Level 是应用于容器的 SELinux 级别标签。 |
|
|
Role 是应用于容器的 SELinux 角色标签。 |
|
|
Type 是应用于容器的 SELinux 类型标签。 |
|
|
User 是应用于容器的 SELinux 用户标签。 |
此容器使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上文件中定义的配置文件。该配置文件必须预先配置在节点上才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的向下路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,都不得设置。 |
|
|
type 指示将应用哪种类型的 seccomp 配置文件。有效选项包括: Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。 |
应用于所有容器的 Windows 特定设置。如果未指定,则使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 内联 GMSACredentialSpecName 字段命名的 GMSA 凭据规范内容的位置。 |
|
|
GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。 |
|
|
HostProcess 决定是否应将容器作为“主机进程”容器运行。Pod 的所有容器都必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
|
在 Windows 中运行容器进程入口点的用户名。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
StartupProbe 指示 Pod 已成功初始化。如果指定,则在成功完成此探测之前不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可以用于在 Pod 生命周期开始时提供不同的探测参数,此时加载数据或预热缓存可能需要很长时间,而稳态运行时则不需要。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
探针在成功后被认为失败所需的连续失败次数最小值。默认为 3。最小值为 1。 |
|
|
GRPC 指定一个涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后等待执行存活探针的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探针的频率(以秒为单位)。默认为 10 秒。最小值为 1。 |
|
|
探针在失败后被认为成功的连续成功次数最小值。默认为 1。对于存活探针和启动探针,必须为 1。最小值为 1。 |
|
|
TCPSocket 指定一个涉及 TCP 端口的操作。 |
|
|
探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号与使用 kill 信号强制终止进程之间的时间段(以秒为单位)。将此值设置为长于进程预期清理时间的时长。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭机会)。这是一个测试版字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
GRPC 指定一个涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定此项,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定一个涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
volumeDevice 描述了容器内原始块设备的映射。
对象
devicePath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
devicePath 是容器内部设备将映射到的路径。 |
|
|
name 必须与 Pod 中的 persistentVolumeClaim 的名称匹配 |
VolumeMount 描述在容器内挂载卷。
对象
mountPath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
容器中应挂载卷的路径。不得包含 ':'。 |
|
|
mountPropagation 决定如何将挂载从主机传播到容器,反之亦然。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中为 Beta 版本。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
此名称必须与卷的名称匹配。 |
|
|
如果为 true,则以只读方式挂载;否则以读写方式挂载(false 或未指定)。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应递归处理只读挂载。 如果 ReadOnly 为 false,则此字段无意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会递归地将挂载设为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则将挂载递归地设为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则将挂载递归地设为只读;否则,将不会启动 Pod,并且会生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为与 Disabled 等效。 |
|
|
卷中容器的卷应从中挂载的路径。默认为 ""(卷的根目录)。 |
|
|
卷中容器的卷应从中挂载的扩展路径。其行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 使用容器的环境进行扩展。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
HostAlias 保持 IP 和主机名之间的映射,这些映射将作为 pod 的 hosts 文件中的条目注入。
对象
hostnames
ip
属性 | 类型 | 描述 |
---|---|---|
|
|
上述 IP 地址的主机名。 |
|
|
主机文件条目的 IP 地址。 |
从注册表中拉取 prometheus 和 alertmanager 镜像时,使用的同一命名空间中密钥的可选引用列表,请参见 https://kubernetes.ac.cn/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
数组
LocalObjectReference 包含足够的信息,可以让您在同一命名空间内找到引用的对象。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
InitContainers 允许向 pod 定义添加 initContainers。这些可用于例如从外部来源获取用于注入 Alertmanager 配置的密钥。initContainer 执行期间的任何错误都将导致 Pod 重启。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/init-containers/ 此处描述的 InitContainers 如果共享相同的名称并且修改是通过策略性合并补丁完成的,则会修改操作员生成的 init 容器。当前的 init 容器名称为:init-config-reloader
。覆盖 init 容器完全不在维护人员将支持的范围内,这样做意味着您接受此行为可能会随时中断而无需通知。
数组
您希望在 Pod 中运行的单个应用程序容器。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
入口点的参数。如果未提供此参数,则使用容器映像的 CMD。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将减少为单个美元符号,这允许转义 $(VAR_NAME) 语法:即“(VAR_NAME)”将生成字符串字面量“$(VAR_NAME)” 。转义的引用将永远不会扩展,无论变量是否存在。 |
|
|
入口点数组。不在 shell 中执行。如果未提供此项,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将简化为单个美元符号 $,这允许转义 $(VAR_NAME) 语法:例如,“$(VAR_NAME)”将生成字符串字面量 "$(VAR_NAME)"。转义的引用将永远不会被扩展,无论变量是否存在。 |
|
|
要在容器中设置的环境变量列表。无法更新。 |
|
|
EnvVar 表示容器中存在的一个环境变量。 |
|
|
用于填充容器中环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。所有无效键都将在容器启动时作为事件报告。当多个源中存在相同的键时,将采用最后一个源关联的值。具有重复键的 Env 定义的值将优先。 |
|
|
EnvFromSource 表示一组 ConfigMap 的源。 |
|
|
容器镜像名称。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理在像 Deployments 和 StatefulSets 这样的工作负载控制器中默认或覆盖容器镜像。 |
|
|
镜像拉取策略。取值范围为 Always、Never、IfNotPresent。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#updating-images |
|
|
管理系统应该根据容器生命周期事件采取的操作。无法更新。 |
|
|
容器存活状态的周期性探测。如果探测失败,容器将被重启。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
指定为 DNS_LABEL 的容器名称。Pod 中的每个容器都必须具有唯一的名称 (DNS_LABEL)。无法更新。 |
|
|
要从容器中暴露的端口列表。此处未指定端口并不阻止该端口被暴露。容器内侦听默认“0.0.0.0”地址的任何端口都可从网络访问。使用战略性合并补丁修改此数组可能会破坏数据。更多信息请参见 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
|
ContainerPort 表示单个容器中的网络端口。 |
|
|
容器服务就绪状态的周期性探测。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
容器的资源调整策略。 |
|
|
ContainerResizePolicy 表示容器的资源调整策略。 |
|
|
此容器所需的计算资源。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
RestartPolicy 定义 Pod 中各个容器的重启行为。此字段可能仅针对 init 容器设置,且唯一允许的值为“Always”。对于非 init 容器或未指定此字段的情况,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为“Always”将产生以下效果:此 init 容器将在退出时持续重启,直到所有常规容器都终止。一旦所有常规容器都完成,所有具有 restartPolicy“Always”的 init 容器都将关闭。此生命周期与正常的 init 容器不同,通常被称为“sidecar”容器。虽然此 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成才继续执行下一个 init 容器。而是,下一个 init 容器在此 init 容器启动后或任何 startupProbe 成功完成之后立即启动。 |
|
|
SecurityContext 定义容器应运行的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/ |
|
|
StartupProbe 指示 Pod 已成功初始化。如果指定,则在成功完成此探测之前不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可以用于在 Pod 生命周期开始时提供不同的探测参数,此时加载数据或预热缓存可能需要很长时间,而稳态运行时则不需要。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
此容器是否应在容器运行时中为 stdin 分配缓冲区。如果未设置此项,则容器中来自 stdin 的读取将始终导致 EOF。默认为 false。 |
|
|
容器运行时是否应在单个附加后关闭 stdin 通道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设置为 true,则 stdin 在容器启动时打开,在第一个客户端附加到 stdin 之前为空,然后保持打开状态并接受数据,直到客户端断开连接,此时 stdin 关闭并保持关闭状态,直到容器重启。如果此标志为 false,则从 stdin 读取的容器进程将永远不会收到 EOF。默认为 false。 |
|
|
可选:将容器终止消息写入的文件安装到容器文件系统的路径。写入的消息旨在简要说明最终状态,例如断言失败消息。如果大于 4096 字节,则将被节点截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
|
指示应如何填充终止消息。File 将使用 terminationMessagePath 的内容在成功和失败时填充容器状态消息。FallbackToLogsOnError 如果终止消息文件为空且容器以错误退出,则将使用容器日志输出的最后一段。日志输出限制为 2048 字节或 80 行,取较小者。默认为 File。无法更新。 |
|
|
是否为该容器分配 TTY,也需要 'stdin' 为 true。默认为 false。 |
|
|
volumeDevices 是容器将要使用的块设备列表。 |
|
|
volumeDevice 描述了容器内原始块设备的映射。 |
|
|
挂载到容器文件系统的 Pod 卷。无法更新。 |
|
|
VolumeMount 描述在容器内挂载卷。 |
|
|
容器的工作目录。如果未指定,将使用容器运行时的默认值,这可能在容器镜像中配置。无法更新。 |
EnvVar 表示容器中存在的一个环境变量。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
环境变量的名称。必须是 C_IDENTIFIER。 |
|
|
变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行展开。如果无法解析变量,则输入字符串中的引用将保持不变。双美元符号将减少为单个美元符号,这允许转义 $(VAR_NAME) 语法:即 “(VAR_NAME)” 将生成字符串字面量 "$(VAR_NAME)"。转义的引用将永远不会展开,无论变量是否存在。 |
|
|
环境变量值的来源。如果 value 不为空,则不能使用。 |
环境变量值的来源。如果 value 不为空,则不能使用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
选择 ConfigMap 的一个键。 |
|
|
选择 pod 的字段:支持 metadata.name、metadata.namespace、 |
|
|
选择容器的资源:当前仅支持资源限制和请求 (limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。 |
|
|
选择 pod 命名空间中的密钥。 |
选择 ConfigMap 的一个键。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其密钥。 |
选择 pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']
、metadata.annotations['<KEY>']
、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 以其编写的模式版本,默认为 "v1"。 |
|
|
在指定的 API 版本中选择的字段路径。 |
选择容器的资源:当前仅支持资源限制和请求 (limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷必需,环境变量可选 |
|
|
指定公开资源的输出格式,默认为“1”。 |
|
|
必需:要选择的资源 |
选择 pod 命名空间中的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
用于填充容器中环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。所有无效键都将在容器启动时作为事件报告。当多个源中存在相同的键时,将采用最后一个源关联的值。具有重复键的 Env 定义的值将优先。
数组
EnvFromSource 表示一组 ConfigMap 的源。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 ConfigMap |
|
|
一个可选的标识符,用于在 ConfigMap 中的每个键前添加。必须是 C_IDENTIFIER。 |
|
|
要从中选择的 Secret |
要从中选择的 ConfigMap
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap |
要从中选择的 Secret
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret |
管理系统应该根据容器生命周期事件采取的操作。无法更新。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
PostStart 在容器创建后立即调用。如果处理程序失败,则根据其重启策略终止并重启容器。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
|
|
PreStop 在由于 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止容器之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非最终确定程序延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
PostStart 在容器创建后立即调用。如果处理程序失败,则根据其重启策略终止并重启容器。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的持续时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期挂钩将在运行时失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
Sleep 表示容器在终止前应休眠的持续时间。
对象
seconds
属性 | 类型 | 描述 |
---|---|---|
|
|
Seconds 是要休眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期挂钩将在运行时失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
PreStop 在由于 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止容器之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非最终确定程序延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的持续时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期挂钩将在运行时失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
Sleep 表示容器在终止前应休眠的持续时间。
对象
seconds
属性 | 类型 | 描述 |
---|---|---|
|
|
Seconds 是要休眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,保留是为了向后兼容。此字段没有验证,当指定 tcp 处理程序时,生命周期挂钩将在运行时失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
容器存活状态的周期性探测。如果探测失败,容器将被重启。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
探针在成功后被认为失败所需的连续失败次数最小值。默认为 3。最小值为 1。 |
|
|
GRPC 指定一个涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后等待执行存活探针的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探针的频率(以秒为单位)。默认为 10 秒。最小值为 1。 |
|
|
探针在失败后被认为成功的连续成功次数最小值。默认为 1。对于存活探针和启动探针,必须为 1。最小值为 1。 |
|
|
TCPSocket 指定一个涉及 TCP 端口的操作。 |
|
|
探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号与使用 kill 信号强制终止进程之间的时间段(以秒为单位)。将此值设置为长于进程预期清理时间的时长。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭机会)。这是一个测试版字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
GRPC 指定一个涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定此项,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定一个涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
要从容器中暴露的端口列表。此处未指定端口并不阻止该端口被暴露。容器内侦听默认“0.0.0.0”地址的任何端口都可从网络访问。使用战略性合并补丁修改此数组可能会破坏数据。更多信息请参见 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
数组
ContainerPort 表示单个容器中的网络端口。
对象
containerPort
属性 | 类型 | 描述 |
---|---|---|
|
|
要在 Pod 的 IP 地址上公开的端口号。这必须是一个有效的端口号,0 < x < 65536。 |
|
|
将外部端口绑定到的主机 IP。 |
|
|
要在主机上公开的端口号。如果指定,这必须是一个有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则这必须与 ContainerPort 匹配。大多数容器不需要此项。 |
|
|
如果指定,这必须是 IANA_SVC_NAME,并且在 Pod 内唯一。Pod 中的每个命名端口都必须具有唯一的名称。可以由服务引用的端口名称。 |
|
|
端口协议。必须是 UDP、TCP 或 SCTP。默认为“TCP”。 |
容器服务就绪状态的周期性探测。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
探针在成功后被认为失败所需的连续失败次数最小值。默认为 3。最小值为 1。 |
|
|
GRPC 指定一个涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后等待执行存活探针的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探针的频率(以秒为单位)。默认为 10 秒。最小值为 1。 |
|
|
探针在失败后被认为成功的连续成功次数最小值。默认为 1。对于存活探针和启动探针,必须为 1。最小值为 1。 |
|
|
TCPSocket 指定一个涉及 TCP 端口的操作。 |
|
|
探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号与使用 kill 信号强制终止进程之间的时间段(以秒为单位)。将此值设置为长于进程预期清理时间的时长。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭机会)。这是一个测试版字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
GRPC 指定一个涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定此项,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定一个涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
ContainerResizePolicy 表示容器的资源调整策略。
对象
resourceName
restartPolicy
属性 | 类型 | 描述 |
---|---|---|
|
|
此资源调整策略适用的资源名称。支持的值:cpu、memory。 |
|
|
调整指定资源大小时要应用的重启策略。如果未指定,则默认为 NotRequired。 |
此容器所需的计算资源。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段是不可变的。它只能为容器设置。 |
|
|
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
|
|
Limits 描述了允许的计算资源最大量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的计算资源最小量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段是不可变的。它只能为容器设置。
数组
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
名称必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内可用。 |
SecurityContext 定义容器应运行的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的权限。此布尔值直接控制容器进程上是否设置 no_new_privs 标志。当容器:1) 作为 Privileged 运行 2) 具有 CAP_SYS_ADMIN 时,AllowPrivilegeEscalation 始终为 true。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,此配置文件将覆盖 Pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
运行容器时要添加/删除的功能。默认为容器运行时授予的功能的默认集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
在特权模式下运行容器。特权容器中的进程基本上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
procMount 表示要用于容器的 proc 挂载类型。默认为 DefaultProcMount,它使用容器运行时针对只读路径和屏蔽路径的默认值。这需要启用 ProcMountType 功能标志。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此容器是否具有只读根文件系统。默认为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
指示容器必须作为非 root 用户运行。如果为 true,则 Kubelet 将在运行时验证映像以确保它不以 UID 0(root)运行,如果确实如此,则将无法启动容器。如果未设置或为 false,则不会执行此类验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置,则 SecurityContext 中指定的值优先。 |
|
|
运行容器进程入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此容器使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于所有容器的 Windows 特定设置。如果未指定,则使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。 |
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,此配置文件将覆盖 Pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上加载的配置文件。该配置文件必须预先配置在节点上才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时才必须设置。 |
|
|
type 指示将应用哪种类型的 AppArmor 配置文件。有效选项包括:Localhost - 节点上预加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 限制。 |
运行容器时要添加/删除的功能。默认为容器运行时授予的功能的默认集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
添加的功能 |
|
|
删除的功能 |
应用于容器的 SELinux 上下文。如果未指定,容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Level 是应用于容器的 SELinux 级别标签。 |
|
|
Role 是应用于容器的 SELinux 角色标签。 |
|
|
Type 是应用于容器的 SELinux 类型标签。 |
|
|
User 是应用于容器的 SELinux 用户标签。 |
此容器使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上文件中定义的配置文件。该配置文件必须预先配置在节点上才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的向下路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,都不得设置。 |
|
|
type 指示将应用哪种类型的 seccomp 配置文件。有效选项包括: Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。 |
应用于所有容器的 Windows 特定设置。如果未指定,则使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 内联 GMSACredentialSpecName 字段命名的 GMSA 凭据规范内容的位置。 |
|
|
GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。 |
|
|
HostProcess 决定是否应将容器作为“主机进程”容器运行。Pod 的所有容器都必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
|
在 Windows 中运行容器进程入口点的用户名。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
StartupProbe 指示 Pod 已成功初始化。如果指定,则在成功完成此探测之前不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可以用于在 Pod 生命周期开始时提供不同的探测参数,此时加载数据或预热缓存可能需要很长时间,而稳态运行时则不需要。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
探针在成功后被认为失败所需的连续失败次数最小值。默认为 3。最小值为 1。 |
|
|
GRPC 指定一个涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后等待执行存活探针的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探针的频率(以秒为单位)。默认为 10 秒。最小值为 1。 |
|
|
探针在失败后被认为成功的连续成功次数最小值。默认为 1。对于存活探针和启动探针,必须为 1。最小值为 1。 |
|
|
TCPSocket 指定一个涉及 TCP 端口的操作。 |
|
|
探针失败后,Pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号与使用 kill 信号强制终止进程之间的时间段(以秒为单位)。将此值设置为长于进程预期清理时间的时长。如果此值为 nil,则将使用 Pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 Pod 规范中提供的值。值必须是非负整数。值为零表示立即通过 kill 信号停止(没有关闭机会)。这是一个测试版字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值为 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时之前的秒数。默认为 1 秒。最小值为 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是简单地执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,需要明确调用该 shell。退出状态为 0 被视为活动/健康状态,非零为不健康状态。 |
GRPC 指定一个涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(参见 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定此项,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接到的主机名,默认为 pod IP。您可能希望在 httpHeaders 中设置“Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
在 HTTP 服务器上访问的路径。 |
|
|
要访问容器的端口的名称或编号。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将在输出时被规范化,因此大小写不同的名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定一个涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接到的主机名,默认为 pod IP。 |
|
|
要访问容器的端口的编号或名称。编号必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
volumeDevice 描述了容器内原始块设备的映射。
对象
devicePath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
devicePath 是容器内部设备将映射到的路径。 |
|
|
name 必须与 Pod 中的 persistentVolumeClaim 的名称匹配 |
VolumeMount 描述在容器内挂载卷。
对象
mountPath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
容器中应挂载卷的路径。不得包含 ':'。 |
|
|
mountPropagation 决定如何将挂载从主机传播到容器,反之亦然。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中为 Beta 版本。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
此名称必须与卷的名称匹配。 |
|
|
如果为 true,则以只读方式挂载;否则以读写方式挂载(false 或未指定)。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应递归处理只读挂载。 如果 ReadOnly 为 false,则此字段无意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会递归地将挂载设为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则将挂载递归地设为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则将挂载递归地设为只读;否则,将不会启动 Pod,并且会生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为与 Disabled 等效。 |
|
|
卷中容器的卷应从中挂载的路径。默认为 ""(卷的根目录)。 |
|
|
卷中容器的卷应从中挂载的扩展路径。其行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 使用容器的环境进行扩展。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
PodMetadata 配置传播到 Alertmanager pod 的标签和注释。
以下项目是保留的,不能被覆盖:* "alertmanager" 标签,设置为 Alertmanager 实例的名称。* "app.kubernetes.io/instance" 标签,设置为 Alertmanager 实例的名称。* "app.kubernetes.io/managed-by" 标签,设置为 "prometheus-operator"。* "app.kubernetes.io/name" 标签,设置为 "alertmanager"。* "app.kubernetes.io/version" 标签,设置为 Alertmanager 版本。* "kubectl.kubernetes.io/default-container" 注释,设置为 "alertmanager"。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Annotations 是一个存储在资源中的非结构化键值对映射,外部工具可以使用它来存储和检索任意元数据。它们不可查询,在修改对象时应予以保留。更多信息:https://kubernetes.ac.cn/docs/user-guide/annotations |
|
|
字符串键值对的映射,可用于组织和分类(范围和选择)对象。可能与复制控制器和服务的选取器匹配。更多信息:https://kubernetes.ac.cn/docs/user-guide/labels |
|
|
名称在命名空间内必须唯一。创建资源时是必需的,尽管某些资源可能允许客户端自动请求生成合适的名称。名称主要用于创建幂等性和配置定义。不能更新。更多信息:https://kubernetes.ac.cn/docs/user-guide/identifiers#names |
定义单个 Pod 的资源请求和限制。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段是不可变的。它只能为容器设置。 |
|
|
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
|
|
Limits 描述了允许的计算资源最大量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的计算资源最小量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段是不可变的。它只能为容器设置。
数组
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
名称必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内可用。 |
SecurityContext 保存 Pod 级别的安全属性和公共容器设置。默认为默认的 PodSecurityContext。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
appArmorProfile 是此 Pod 中容器要使用的 AppArmor 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于 Pod 中所有容器的一个特殊的补充组。某些卷类型允许 Kubelet 将该卷的所有权更改为 Pod 所有。 1. 拥有者 GID 将是 FSGroup 2. 设置 setgid 位(在卷中创建的新文件将由 FSGroup 拥有)3. 权限位将与 rw-rw---- 进行 OR 运算。 如果未设置,Kubelet 将不会修改任何卷的所有权和权限。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
fsGroupChangePolicy 定义了在卷暴露到 Pod 内部之前更改其所有权和权限的行为。此字段仅适用于支持基于 fsGroup 的所有权(和权限)的卷类型。它对短暂的卷类型(例如:secret、configmaps 和 emptydir)无效。有效值为 "OnRootMismatch" 和 "Always"。如果未指定,则使用 "Always"。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值将优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
指示容器必须以非 root 用户身份运行。如果为 true,则 Kubelet 将在运行时验证镜像以确保它不以 UID 0(root)身份运行,如果以 root 身份运行则启动容器失败。如果未设置或为 false,则不会执行此类验证。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值将优先。 |
|
|
运行容器进程入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值将优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
要应用于所有容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值将优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此 Pod 中容器使用的 seccomp 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于每个容器中运行的第一个进程的一组组,此外还有容器的主要 GID、fsGroup(如果指定)以及容器镜像中为容器进程的 uid 定义的组成员身份。如果未指定,则不会向任何容器添加其他组。请注意,即使容器镜像中为容器进程的 uid 定义的组成员身份未包含在此列表中,它们仍然有效。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
Sysctls 保存 Pod 使用的命名空间 sysctls 列表。具有不受支持的 sysctls(由容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
Sysctl 定义要设置的内核参数 |
|
|
应用于所有容器的 Windows 特定设置。如果未指定,则将使用容器 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值将优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。 |
appArmorProfile 是此 Pod 中容器要使用的 AppArmor 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上加载的配置文件。该配置文件必须预先配置在节点上才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时才必须设置。 |
|
|
type 指示将应用哪种类型的 AppArmor 配置文件。有效选项包括:Localhost - 节点上预加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 限制。 |
要应用于所有容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值将优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Level 是应用于容器的 SELinux 级别标签。 |
|
|
Role 是应用于容器的 SELinux 角色标签。 |
|
|
Type 是应用于容器的 SELinux 类型标签。 |
|
|
User 是应用于容器的 SELinux 用户标签。 |
此 Pod 中容器使用的 seccomp 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上文件中定义的配置文件。该配置文件必须预先配置在节点上才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的向下路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,都不得设置。 |
|
|
type 指示将应用哪种类型的 seccomp 配置文件。有效选项包括: Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。 |
Sysctls 保存 Pod 使用的命名空间 sysctls 列表。具有不受支持的 sysctls(由容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
数组
Sysctl 定义要设置的内核参数
对象
名称
value
属性 | 类型 | 描述 |
---|---|---|
|
|
要设置的属性名称 |
|
|
要设置的属性值 |
应用于所有容器的 Windows 特定设置。如果未指定,则将使用容器 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了此值,则 SecurityContext 中指定的值将优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 内联 GMSACredentialSpecName 字段命名的 GMSA 凭据规范内容的位置。 |
|
|
GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。 |
|
|
HostProcess 决定是否应将容器作为“主机进程”容器运行。Pod 的所有容器都必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
|
在 Windows 中运行容器进程入口点的用户名。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
Storage 定义了 Alertmanager 实例如何使用存储。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
已弃用:subPath 用法将在未来版本中删除。 |
|
|
StatefulSet 将使用的 EmptyDirVolumeSource。如果指定,则它优先于 |
|
|
StatefulSet 将使用的 EphemeralVolumeSource。这是 k8s 1.21 中的测试版字段,1.15 中的 GA 版本。对于较低版本,从 k8s 1.19 开始,它需要启用 GenericEphemeralVolume 功能网关。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes |
|
|
定义 Prometheus StatefulSets 将使用的 PVC 规范。使用无法自动配置的卷的最简单方法是将标签选择器与手动创建的 PersistentVolume 一起使用。 |
StatefulSet 将使用的 EmptyDirVolumeSource。如果指定,则它优先于 ephemeral
和 volumeClaimTemplate
。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes/#emptydir
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
medium 表示什么类型的存储介质应该支持此目录。默认值为 "",这意味着使用节点的默认介质。必须为空字符串(默认值)或 Memory。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
|
|
sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存介质 EmptyDir 的最大使用量将是此处指定的 SizeLimit 和 Pod 中所有容器的内存限制之和之间的最小值。默认值为 nil,这意味着限制未定义。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
StatefulSet 将使用的 EphemeralVolumeSource。这是 k8s 1.21 中的测试版字段,1.15 中的 GA 版本。对于较低版本,从 k8s 1.19 开始,它需要启用 GenericEphemeralVolume 功能网关。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
将用于创建独立的 PVC 来配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将为 Pod 将不会使用名称相同的现有 PVC(该 PVC 不属于该 Pod),以避免错误地使用不相关的卷。然后,Pod 的启动将被阻塞,直到不相关的 PVC 被删除。如果此类预先创建的 PVC 旨在由 Pod 使用,则一旦 Pod 存在,必须使用对 Pod 的所有者引用更新 PVC。通常不需要这样做,但在手动重建损坏的集群时可能很有用。 此字段是只读的,创建 PVC 后,Kubernetes 不会对其进行任何更改。 必需,不能为 nil。 |
将用于创建独立的 PVC 来配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将为 <pod name>-<volume name>
,其中 <volume name>
是 PodSpec.Volumes
数组条目中的名称。如果连接后的名称对于 PVC 无效(例如,太长),则 Pod 验证将拒绝该 Pod。
Pod 将不会使用名称相同的现有 PVC(该 PVC 不属于该 Pod),以避免错误地使用不相关的卷。然后,Pod 的启动将被阻塞,直到不相关的 PVC 被删除。如果此类预先创建的 PVC 旨在由 Pod 使用,则一旦 Pod 存在,必须使用对 Pod 的所有者引用更新 PVC。通常不需要这样做,但在手动重建损坏的集群时可能很有用。
此字段是只读的,创建 PVC 后,Kubernetes 不会对其进行任何更改。
必需,不能为 nil。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
可能包含在创建 PVC 时将复制到其中的标签和注释。不允许使用其他字段,并且将在验证期间被拒绝。 |
|
|
PersistentVolumeClaim 的规范。整个内容将原封不动地复制到由此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也适用。 |
可能包含在创建 PVC 时将复制到其中的标签和注释。不允许使用其他字段,并且将在验证期间被拒绝。
对象
PersistentVolumeClaim 的规范。整个内容将原封不动地复制到由此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也适用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
|
dataSource 字段可以用来指定:* 一个已存在的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 一个已存在的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器支持指定的數據源,它将基于指定的數據源内容创建一个新的卷。当启用 AnyVolumeDataSource 功能特性门控时,dataSource 内容将被复制到 dataSourceRef,并且当 dataSourceRef.namespace 未指定时,dataSourceRef 内容将被复制到 dataSource。如果指定了 namespace,则 dataSourceRef 将不会复制到 dataSource。 |
|
|
dataSourceRef 指定用于填充卷数据的对象,如果需要非空卷。这可以是任何来自非空 API 组(非核心对象)的对象或 PersistentVolumeClaim 对象。当指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态 provisioner 匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定 namespace 时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定 namespace 时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 忽略不允许的值(丢弃它们),而 dataSourceRef 保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能特性门控。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。 |
|
|
resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources |
|
|
selector 是对要考虑用于绑定的卷的标签查询。 |
|
|
storageClassName 是声明所需的 StorageClass 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#class-1 |
|
|
volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用相应 VolumeAttributesClass 中定义的属性创建或更新卷。这与 storageClassName 的用途不同,可以在创建声明后更改它。空字符串值表示不会将任何 VolumeAttributesClass 应用于声明,但是一旦设置,就不允许将此字段重置为空字符串。如果未指定且 PersistentVolumeClaim 未绑定,则如果存在,持久卷控制器将设置默认的 VolumeAttributesClass。如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态,这由 modifyVolumeStatus 字段反映,直到此类资源存在为止。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha)使用此字段需要启用 VolumeAttributesClass 功能特性门控。 |
|
|
volumeMode 定义声明所需的卷类型。如果未包含在声明规范中,则隐含 Filesystem 值。 |
|
|
volumeName 是对支持此声明的 PersistentVolume 的绑定引用。 |
dataSource 字段可以用来指定:* 一个已存在的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 一个已存在的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器支持指定的數據源,它将基于指定的數據源内容创建一个新的卷。当启用 AnyVolumeDataSource 功能特性门控时,dataSource 内容将被复制到 dataSourceRef,并且当 dataSourceRef.namespace 未指定时,dataSourceRef 内容将被复制到 dataSource。如果指定了 namespace,则 dataSourceRef 将不会复制到 dataSource。
对象
kind
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。 |
|
|
Kind 是被引用的资源类型。 |
|
|
Name 是被引用的资源名称。 |
dataSourceRef 指定用于填充卷数据的对象,如果需要非空卷。这可以是任何来自非空 API 组(非核心对象)的对象或 PersistentVolumeClaim 对象。当指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态 provisioner 匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定 namespace 时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定 namespace 时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 忽略不允许的值(丢弃它们),而 dataSourceRef 保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能特性门控。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。
对象
kind
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。 |
|
|
Kind 是被引用的资源类型。 |
|
|
Name 是被引用的资源名称。 |
|
|
Namespace 是被引用的资源的命名空间。请注意,当指定命名空间时,需要在引用命名空间中使用 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受该引用。有关详细信息,请参阅 ReferenceGrant 文档。(Alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。 |
resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Limits 描述了允许的计算资源最大量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的计算资源最小量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
selector 是对要考虑用于绑定的卷的标签查询。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
定义 Prometheus StatefulSets 将使用的 PVC 规范。使用无法自动配置的卷的最简单方法是将标签选择器与手动创建的 PersistentVolume 一起使用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰式命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
|
EmbeddedMetadata 包含与 EmbeddedResource 相关的元数据。 |
|
|
定义 pod 作者请求的卷的所需特性。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
|
已弃用:此字段从不设置。 |
EmbeddedMetadata 包含与 EmbeddedResource 相关的元数据。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Annotations 是一个存储在资源中的非结构化键值对映射,外部工具可以使用它来存储和检索任意元数据。它们不可查询,在修改对象时应予以保留。更多信息:https://kubernetes.ac.cn/docs/user-guide/annotations |
|
|
字符串键值对的映射,可用于组织和分类(范围和选择)对象。可能与复制控制器和服务的选取器匹配。更多信息:https://kubernetes.ac.cn/docs/user-guide/labels |
|
|
名称在命名空间内必须唯一。创建资源时是必需的,尽管某些资源可能允许客户端自动请求生成合适的名称。名称主要用于创建幂等性和配置定义。不能更新。更多信息:https://kubernetes.ac.cn/docs/user-guide/identifiers#names |
定义 pod 作者请求的卷的所需特性。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
|
dataSource 字段可以用来指定:* 一个已存在的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 一个已存在的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器支持指定的數據源,它将基于指定的數據源内容创建一个新的卷。当启用 AnyVolumeDataSource 功能特性门控时,dataSource 内容将被复制到 dataSourceRef,并且当 dataSourceRef.namespace 未指定时,dataSourceRef 内容将被复制到 dataSource。如果指定了 namespace,则 dataSourceRef 将不会复制到 dataSource。 |
|
|
dataSourceRef 指定用于填充卷数据的对象,如果需要非空卷。这可以是任何来自非空 API 组(非核心对象)的对象或 PersistentVolumeClaim 对象。当指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态 provisioner 匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定 namespace 时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定 namespace 时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 忽略不允许的值(丢弃它们),而 dataSourceRef 保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能特性门控。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。 |
|
|
resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources |
|
|
selector 是对要考虑用于绑定的卷的标签查询。 |
|
|
storageClassName 是声明所需的 StorageClass 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#class-1 |
|
|
volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用相应 VolumeAttributesClass 中定义的属性创建或更新卷。这与 storageClassName 的用途不同,可以在创建声明后更改它。空字符串值表示不会将任何 VolumeAttributesClass 应用于声明,但是一旦设置,就不允许将此字段重置为空字符串。如果未指定且 PersistentVolumeClaim 未绑定,则如果存在,持久卷控制器将设置默认的 VolumeAttributesClass。如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态,这由 modifyVolumeStatus 字段反映,直到此类资源存在为止。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha)使用此字段需要启用 VolumeAttributesClass 功能特性门控。 |
|
|
volumeMode 定义声明所需的卷类型。如果未包含在声明规范中,则隐含 Filesystem 值。 |
|
|
volumeName 是对支持此声明的 PersistentVolume 的绑定引用。 |
dataSource 字段可以用来指定:* 一个已存在的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 一个已存在的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器支持指定的數據源,它将基于指定的數據源内容创建一个新的卷。当启用 AnyVolumeDataSource 功能特性门控时,dataSource 内容将被复制到 dataSourceRef,并且当 dataSourceRef.namespace 未指定时,dataSourceRef 内容将被复制到 dataSource。如果指定了 namespace,则 dataSourceRef 将不会复制到 dataSource。
对象
kind
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。 |
|
|
Kind 是被引用的资源类型。 |
|
|
Name 是被引用的资源名称。 |
dataSourceRef 指定用于填充卷数据的对象,如果需要非空卷。这可以是任何来自非空 API 组(非核心对象)的对象或 PersistentVolumeClaim 对象。当指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态 provisioner 匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定 namespace 时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定 namespace 时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 忽略不允许的值(丢弃它们),而 dataSourceRef 保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能特性门控。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。
对象
kind
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。 |
|
|
Kind 是被引用的资源类型。 |
|
|
Name 是被引用的资源名称。 |
|
|
Namespace 是被引用的资源的命名空间。请注意,当指定命名空间时,需要在引用命名空间中使用 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受该引用。有关详细信息,请参阅 ReferenceGrant 文档。(Alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。 |
resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Limits 描述了允许的计算资源最大量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的计算资源最小量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
selector 是对要考虑用于绑定的卷的标签查询。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
已弃用:此字段从不设置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
accessModes 包含支持 PVC 的卷的实际访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
|
allocatedResourceStatuses 存储为给定 PVC 调整大小的资源的状态。键名遵循标准 Kubernetes 标签语法。有效值为:* 无前缀键:- storage - 卷的容量。* 自定义资源必须使用实现定义的前缀名称,例如“example.com/my-custom-resource” 除了上述值之外 - 无前缀或具有 kubernetes.io 前缀的键被认为是保留的,因此可能不会被使用。 ClaimResourceStatus 可以处于以下任何状态:- ControllerResizeInProgress:当调整大小控制器开始在控制平面中调整卷大小时设置的状态。- ControllerResizeFailed:当调整大小在调整大小控制器中因最终错误而失败时设置的状态。- NodeResizePending:当调整大小控制器完成调整卷大小但节点上仍需要进一步调整卷大小时设置的状态。- NodeResizeInProgress:当 kubelet 开始调整卷大小时设置的状态。- NodeResizeFailed:当调整大小在 kubelet 中因最终错误而失败时设置的状态。瞬态错误不会设置 NodeResizeFailed。例如:如果扩展 PVC 以获得更多容量 - 此字段可以是以下状态之一:- pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed" 当此字段未设置时,表示对于给定的 PVC,没有调整大小操作正在进行。 接收 PVC 更新的控制器,如果更新包含之前未知的 resourceName 或 ClaimResourceStatus,则应忽略此更新,因为它与控制器设计目的不符。例如,仅负责调整卷大小的控制器,应忽略更改与 PVC 关联的其他有效资源的 PVC 更新。 这是一个 alpha 功能,需要启用 RecoverVolumeExpansionFailure 功能。 |
|
|
allocatedResources 追踪分配给 PVC 的资源,包括其容量。键名遵循标准 Kubernetes 标签语法。有效值为:* 无前缀键:- storage - 卷的容量。* 自定义资源必须使用实现定义的前缀名,例如 "example.com/my-custom-resource"。除了上述值之外,无前缀或具有 kubernetes.io 前缀的键被认为是保留的,因此不能使用。 当请求卷扩展操作时,此处报告的容量可能大于实际容量。对于存储配额,使用 allocatedResources 和 PVC.spec.resources 中较大的值。如果未设置 allocatedResources,则仅使用 PVC.spec.resources 进行配额计算。如果降低了卷扩展容量请求,则只有在没有扩展操作正在进行并且实际卷容量等于或小于请求容量的情况下,才会降低 allocatedResources。 接收 PVC 更新的控制器,如果更新包含之前未知的 resourceName,则应忽略此更新,因为它与控制器设计目的不符。例如,仅负责调整卷大小的控制器,应忽略更改与 PVC 关联的其他有效资源的 PVC 更新。 这是一个 alpha 功能,需要启用 RecoverVolumeExpansionFailure 功能。 |
|
|
capacity 表示底层卷的实际资源。 |
|
|
conditions 是持久卷声明的当前状态。如果底层持久卷正在调整大小,则状态将设置为 'Resizing'。 |
|
|
PersistentVolumeClaimCondition 包含 pvc 状态的详细信息。 |
|
|
currentVolumeAttributesClassName 是 PVC 当前使用的 VolumeAttributesClass 的名称。未设置时,表示没有 VolumeAttributeClass 应用于此 PersistentVolumeClaim。这是一个 alpha 功能,需要启用 VolumeAttributesClass 功能。 |
|
|
ModifyVolumeStatus 表示 ControllerModifyVolume 操作的状态对象。未设置时,表示没有正在尝试进行 ModifyVolume 操作。这是一个 alpha 功能,需要启用 VolumeAttributesClass 功能。 |
|
|
phase 表示 PersistentVolumeClaim 的当前阶段。 |
conditions 是持久卷声明的当前状态。如果底层持久卷正在调整大小,则状态将设置为 'Resizing'。
数组
PersistentVolumeClaimCondition 包含 pvc 状态的详细信息。
对象
status
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
lastProbeTime 是探测状态的时间。 |
|
|
lastTransitionTime 是状态从一种状态转换到另一种状态的时间。 |
|
|
message 是指示上次转换详细信息的可读消息。 |
|
|
reason 是一个唯一的、简短的、机器可理解的字符串,它给出状态最后一次转换的原因。如果它报告 "Resizing",则表示底层持久卷正在调整大小。 |
|
|
|
|
|
PersistentVolumeClaimConditionType 是 PersistentVolumeClaimCondition.Type 的有效值。 |
ModifyVolumeStatus 表示 ControllerModifyVolume 操作的状态对象。未设置时,表示没有正在尝试进行 ModifyVolume 操作。这是一个 alpha 功能,需要启用 VolumeAttributesClass 功能。
对象
status
属性 | 类型 | 描述 |
---|---|---|
|
|
status 是 ControllerModifyVolume 操作的状态。它可以处于以下任何状态:- Pending Pending 表示由于未满足要求(例如,指定的 VolumeAttributesClass 不存在)而无法修改 PersistentVolumeClaim。- InProgress InProgress 表示卷正在修改中。- Infeasible Infeasible 表示 CSI 驱动程序已拒绝该请求,因为它无效。要解决此错误,需要指定有效的 VolumeAttributesClass。注意:将来可以添加新的状态。使用者应检查未知状态并进行相应的失败处理。 |
|
|
targetVolumeAttributesClassName 是当前正在协调的 PVC 的 VolumeAttributesClass 的名称。 |
此容忍度附加到的 Pod 容忍任何与三元组
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Effect 指示要匹配的污点效果。空表示匹配所有污点效果。如果指定,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。 |
|
|
Key 是容忍度适用的污点键。空表示匹配所有污点键。如果键为空,则运算符必须为 Exists;此组合表示匹配所有值和所有键。 |
|
|
Operator 表示键与值的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 pod 可以容忍特定类别的所有污点。 |
|
|
TolerationSeconds 表示容忍度(必须具有 NoExecute 效果,否则忽略此字段)容忍污点的持续时间。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。系统将把零和负值视为 0(立即驱逐)。 |
|
|
Value 是容忍度匹配的污点值。如果运算符为 Exists,则值应为空,否则只是一个普通的字符串。 |
TopologySpreadConstraint 指定如何在给定的拓扑结构中散布匹配的 Pod。
对象
maxSkew
topologyKey
whenUnsatisfiable
属性 | 类型 | 描述 |
---|---|---|
|
|
LabelSelector 用于查找匹配的 Pod。匹配此标签选择器的 Pod 将被计算,以确定其对应拓扑域中的 Pod 数量。 |
|
|
MatchLabelKeys 是一组 Pod 标签键,用于选择将对其进行分布计算的 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 进行 AND 运算,以选择将为传入 Pod 计算分布的现有 Pod 组。相同的键禁止同时存在于 MatchLabelKeys 和 LabelSelector 中。如果未设置 LabelSelector,则不能设置 MatchLabelKeys。传入 Pod 标签中不存在的键将被忽略。空列表或 null 列表表示仅与 labelSelector 匹配。 这是一个 beta 功能,需要启用 MatchLabelKeysInPodTopologySpread 功能门(默认启用)。 |
|
|
MaxSkew 描述了 Pod 分布不均匀的程度。当 |
|
|
MinDomains 指示最小合格域数。当具有匹配拓扑键的合格域数量少于 minDomains 时,Pod Topology Spread 将“全局最小值”视为 0,然后执行 Skew 的计算。当具有匹配拓扑键的合格域数量等于或大于 minDomains 时,此值对调度没有影响。因此,当合格域的数量少于 minDomains 时,调度器不会向这些域调度超过 maxSkew 个 Pod。如果值为 nil,则约束的行为如同 MinDomains 等于 1。有效值为大于 0 的整数。当值不为 nil 时,WhenUnsatisfiable 必须为 DoNotSchedule。 例如,在 3 个区域的集群中,MaxSkew 设置为 2,MinDomains 设置为 5,具有相同 labelSelector 的 Pod 分布为 2/2/2:|区域 1|区域 2|区域 3| | P P | P P | P P | 域的数量小于 5 (MinDomains),因此“全局最小值”被视为 0。在这种情况下,无法调度具有相同 labelSelector 的新 Pod,因为如果将新 Pod 调度到三个区域中的任何一个,计算出的 skew 将为 3 (3 - 0),这将违反 MaxSkew。 |
|
|
NodeAffinityPolicy 指示在计算 Pod 拓扑分布 skew 时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项包括:- Honor:仅包含匹配 nodeAffinity/nodeSelector 的节点进行计算。- Ignore:忽略 nodeAffinity/nodeSelector。所有节点都包含在计算中。 如果此值为 nil,则行为等同于 Honor 策略。这是一个 Beta 级功能,默认情况下由 NodeInclusionPolicyInPodTopologySpread 功能标志启用。 |
|
|
NodeTaintsPolicy 指示在计算 Pod 拓扑分布 skew 时,我们将如何处理节点污点。选项包括:- Honor:包含没有污点的节点,以及传入 Pod 具有容忍度的污点节点。- Ignore:忽略节点污点。所有节点都包含在计算中。 如果此值为 nil,则行为等同于 Ignore 策略。这是一个 Beta 级功能,默认情况下由 NodeInclusionPolicyInPodTopologySpread 功能标志启用。 |
|
|
TopologyKey 是节点标签的键。具有此键和相同值的标签的节点被认为属于同一拓扑。我们将每个<键,值>对视为一个“桶”,并尝试将均衡数量的 Pod 放入每个桶中。我们将域定义为拓扑的特定实例。此外,我们将合格域定义为其节点满足 nodeAffinityPolicy 和 nodeTaintsPolicy 要求的域。例如,如果 TopologyKey 是“kubernetes.io/hostname”,则每个节点都是该拓扑的一个域。并且,如果 TopologyKey 是“topology.kubernetes.io/zone”,则每个区域都是该拓扑的一个域。这是一个必填字段。 |
|
|
WhenUnsatisfiable 指示如果 Pod 不满足分布约束,如何处理该 Pod。- DoNotSchedule(默认)告诉调度器不要调度它。- ScheduleAnyway 告诉调度器将 Pod 调度到任何位置,但优先考虑有助于减少 skew 的拓扑。当且仅当该 Pod 的所有可能的节点分配都会在某些拓扑上违反“MaxSkew”时,约束才被认为是“无法满足的”。例如,在 3 个区域的集群中,MaxSkew 设置为 1,并且具有相同 labelSelector 的 Pod 分布为 3/1/1:|区域 1|区域 2|区域 3| | P P P | P | P | 如果 WhenUnsatisfiable 设置为 DoNotSchedule,则传入的 Pod 只能调度到区域 2(区域 3)以成为 3/2/1(3/1/2),因为区域 2(区域 3)上的 ActualSkew(2-1)满足 MaxSkew(1)。换句话说,集群仍然可能不平衡,但调度器不会使其变得**更**不平衡。这是一个必填字段。 |
LabelSelector 用于查找匹配的 Pod。匹配此标签选择器的 Pod 将被计算,以确定其对应拓扑域中的 Pod 数量。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
VolumeMounts 允许配置输出 StatefulSet 定义中的附加 VolumeMounts。指定的 VolumeMounts 将附加到 alertmanager 容器中的其他 VolumeMounts,这些 VolumeMounts 是 StorageSpec 对象生成的。
数组
VolumeMount 描述在容器内挂载卷。
对象
mountPath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
容器中应挂载卷的路径。不得包含 ':'。 |
|
|
mountPropagation 决定如何将挂载从主机传播到容器,反之亦然。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中为 Beta 版本。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
此名称必须与卷的名称匹配。 |
|
|
如果为 true,则以只读方式挂载;否则以读写方式挂载(false 或未指定)。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应递归处理只读挂载。 如果 ReadOnly 为 false,则此字段无意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会递归地将挂载设为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则将挂载递归地设为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则将挂载递归地设为只读;否则,将不会启动 Pod,并且会生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为与 Disabled 等效。 |
|
|
卷中容器的卷应从中挂载的路径。默认为 ""(卷的根目录)。 |
|
|
卷中容器的卷应从中挂载的扩展路径。其行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 使用容器的环境进行扩展。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
Volume 代表 Pod 中一个命名的卷,Pod 中的任何容器都可以访问它。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
awsElasticBlockStore 代表附加到 kubelet 主机并随后暴露给 Pod 的 AWS 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore |
|
|
azureDisk 代表主机上的 Azure 数据磁盘挂载并绑定挂载到 Pod。 |
|
|
azureFile 代表主机上的 Azure 文件服务挂载并绑定挂载到 Pod。 |
|
|
cephFS 代表主机上与 Pod 生命周期共享的 Ceph FS 挂载。 |
|
|
cinder 代表附加到 kubelet 主机并挂载在其上的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md |
|
|
configMap 代表应该填充此卷的 configMap。 |
|
|
csi(容器存储接口)代表由某些外部 CSI 驱动程序处理的短暂存储(Beta 功能)。 |
|
|
downwardAPI 代表关于应该填充此卷的 Pod 的向下 API。 |
|
|
emptyDir 代表与 Pod 生命周期共享的临时目录。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
|
|
ephemeral 代表由集群存储驱动程序处理的卷。卷的生命周期与定义它的 Pod 绑定 - 它将在 Pod 启动之前创建,并在 Pod 删除时删除。 如果您需要:a) 只在 Pod 运行时才需要卷,b) 需要普通卷的功能,例如从快照恢复或容量跟踪,c) 通过存储类指定存储驱动程序,以及 d) 存储驱动程序通过 PersistentVolumeClaim 支持动态卷配置(有关此卷类型和 PersistentVolumeClaim 之间连接的更多信息,请参阅 EphemeralVolumeSource)。 对于比单个 Pod 生命周期持续时间更长的卷,请使用 PersistentVolumeClaim 或其中一个供应商特定的 API。 如果 CSI 驱动程序旨在以这种方式使用,请使用 CSI 来实现轻量级本地短暂卷 - 有关更多信息,请参阅驱动程序的文档。 Pod 可以同时使用两种类型的短暂卷和持久卷。 |
|
|
fc 代表附加到 kubelet 主机并随后暴露给 Pod 的光纤通道资源。 |
|
|
flexVolume 代表使用基于 exec 的插件进行配置/附加的通用卷资源。 |
|
|
flocker 代表附加到 kubelet 主机的 Flocker 卷。这取决于 Flocker 控制服务的运行情况。 |
|
|
gcePersistentDisk 代表附加到 kubelet 主机并随后暴露给 Pod 的 GCE 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk |
|
|
gitRepo 代表特定版本下的 Git 仓库。已弃用:GitRepo 已弃用。要使用 Git 仓库配置容器,请将 EmptyDir 挂载到 InitContainer 中,使用 git 克隆仓库,然后将 EmptyDir 挂载到 Pod 的容器中。 |
|
|
glusterfs 代表主机上的 Glusterfs 挂载,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md |
|
|
hostPath 代表主机上已存在的文件或目录,直接暴露给容器。这通常用于系统代理或其他允许查看主机机的特权程序。大多数容器不需要这个。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) 我们需要限制谁可以使用主机目录挂载,以及谁可以/不可以以读/写方式挂载主机目录。 |
|
|
iscsi 代表附加到 kubelet 主机机并暴露给 Pod 的 ISCSI 磁盘资源。更多信息:https://examples.k8s.io/volumes/iscsi/README.md |
|
|
卷的名称。必须是 DNS_LABEL,并且在 Pod 内唯一。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names |
|
|
nfs 代表主机上的 NFS 挂载,其生命周期与 Pod 共享。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs |
|
|
persistentVolumeClaimVolumeSource 代表对同一命名空间中 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
|
photonPersistentDisk 代表附加到并挂载在 kubelet 主机机上的 PhotonController 持久性磁盘。 |
|
|
portworxVolume 代表附加到并挂载在 kubelet 主机机上的 Portworx 卷。 |
|
|
所有一体化资源的投影项:密钥、配置图和向下 API。 |
|
|
quobyte 代表主机上的 Quobyte 挂载,其生命周期与 Pod 共享。 |
|
|
rbd 代表主机上的 Rados 块设备挂载,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/rbd/README.md |
|
|
scaleIO 代表附加到并挂载在 Kubernetes 节点上的 ScaleIO 持久卷。 |
|
|
secret 代表应该填充此卷的密钥。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret |
|
|
storageOS 代表附加到并挂载在 Kubernetes 节点上的 StorageOS 卷。 |
|
|
vsphereVolume 代表附加到并挂载在 kubelet 主机机上的 vSphere 卷。 |
awsElasticBlockStore 代表附加到 kubelet 主机并随后暴露给 Pod 的 AWS 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore
对象
volumeID
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的卷的文件系统类型。提示:确保文件系统类型受主机操作系统支持。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore TODO:我们如何防止文件系统中的错误影响机器? |
|
|
partition 是要挂载的卷中的分区。如果省略,则默认按卷名挂载。例如:对于卷 /dev/sda1,您将分区指定为“1”。类似地,/dev/sda 的卷分区为“0”(或者您可以保留属性为空)。 |
|
|
readOnly 值 true 将强制执行 VolumeMounts 中的 readOnly 设置。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore |
|
|
volumeID 是 AWS(Amazon EBS 卷)中持久性磁盘资源的唯一 ID。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore |
azureDisk 代表主机上的 Azure 数据磁盘挂载并绑定挂载到 Pod。
对象
diskName
diskURI
属性 | 类型 | 描述 |
---|---|---|
|
|
cachingMode 是主机缓存模式:无、只读、读写。 |
|
|
diskName 是 Blob 存储中数据磁盘的名称。 |
|
|
diskURI 是 Blob 存储中数据磁盘的 URI。 |
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
kind 预期值为 Shared:每个存储帐户多个 Blob 磁盘;Dedicated:每个存储帐户单个 Blob 磁盘;Managed:Azure 托管数据磁盘(仅在托管可用性集中)。默认为 shared。 |
|
|
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
azureFile 代表主机上的 Azure 文件服务挂载并绑定挂载到 Pod。
对象
secretName
shareName
属性 | 类型 | 描述 |
---|---|---|
|
|
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
|
|
secretName 是包含 Azure 存储帐户名称和密钥的密钥名称。 |
|
|
shareName 是 Azure 共享名称。 |
cephFS 代表主机上与 Pod 生命周期共享的 Ceph FS 挂载。
对象
monitors
属性 | 类型 | 描述 |
---|---|---|
|
|
monitors 是必需的:Monitors 是 Ceph 监控器的集合。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
|
path 是可选的:用作挂载的根目录,而不是完整的 Ceph 树,默认为 /。 |
|
|
readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
|
secretFile 是可选的:SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
|
secretRef 是可选的:SecretRef 是对用户身份验证密钥的引用,默认为空。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
|
user 是可选的:User 是 rados 用户名,默认为 admin。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
secretRef 是可选的:SecretRef 是对用户身份验证密钥的引用,默认为空。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
cinder 代表附加到 kubelet 主机并挂载在其上的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md
对象
volumeID
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md |
|
|
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md |
|
|
secretRef 是可选的:指向包含用于连接 OpenStack 的参数的密钥对象。 |
|
|
volumeID 用于在 cinder 中标识卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md |
secretRef 是可选的:指向包含用于连接 OpenStack 的参数的密钥对象。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
configMap 代表应该填充此卷的 configMap。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
defaultMode 为可选参数:用于设置默认情况下创建文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
如果未指定 items,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了一个在 ConfigMap 中不存在的键,则除非该键被标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
optional 指定 ConfigMap 或其键是否必须定义 |
如果未指定 items,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了一个在 ConfigMap 中不存在的键,则除非该键被标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
key
path
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 为可选参数:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。如果未指定,则将使用卷的 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
path 是将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..” 。不能以字符串“..”开头。 |
csi(容器存储接口)代表由某些外部 CSI 驱动程序处理的短暂存储(Beta 功能)。
对象
driver
属性 | 类型 | 描述 |
---|---|---|
|
|
driver 是处理此卷的 CSI 驱动程序的名称。请咨询您的管理员以获取在集群中注册的正确名称。 |
|
|
要挂载的 fsType。例如“ext4”、“xfs”、“ntfs”。如果未提供,则空值将传递给关联的 CSI 驱动程序,该驱动程序将确定要应用的默认文件系统。 |
|
|
nodePublishSecretRef 是对包含敏感信息的 secret 对象的引用,这些敏感信息将传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用。此字段是可选的,如果不需要 secret,则可以为空。如果 secret 对象包含多个 secret,则将传递所有 secret 引用。 |
|
|
readOnly 指定卷的只读配置。默认为 false(读/写)。 |
|
|
volumeAttributes 存储传递给 CSI 驱动程序的特定于驱动程序的属性。请参阅驱动程序的文档以了解受支持的值。 |
nodePublishSecretRef 是对包含敏感信息的 secret 对象的引用,这些敏感信息将传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用。此字段是可选的,如果不需要 secret,则可以为空。如果 secret 对象包含多个 secret,则将传递所有 secret 引用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
downwardAPI 代表关于应该填充此卷的 Pod 的向下 API。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:默认情况下用于创建文件的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
Items 是向下 API 卷文件的列表 |
|
|
DownwardAPIVolumeFile 表示创建包含 pod 字段的文件的信息 |
DownwardAPIVolumeFile 表示创建包含 pod 字段的文件的信息
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
必填:选择 pod 的字段:仅支持注释、标签、名称、命名空间和 uid。 |
|
|
可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。如果未指定,则将使用卷的 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
必填:Path 是要创建的文件的相对路径名。不能是绝对路径或包含“..”路径。必须是 utf-8 编码。相对路径的第一个项目不能以“..”开头。 |
|
|
选择容器的资源:目前仅支持资源限制和请求 (limits.cpu、limits.memory、requests.cpu 和 requests.memory)。 |
必填:选择 pod 的字段:仅支持注释、标签、名称、命名空间和 uid。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 以其编写的模式版本,默认为 "v1"。 |
|
|
在指定的 API 版本中选择的字段路径。 |
选择容器的资源:目前仅支持资源限制和请求 (limits.cpu、limits.memory、requests.cpu 和 requests.memory)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷必需,环境变量可选 |
|
|
指定公开资源的输出格式,默认为“1”。 |
|
|
必需:要选择的资源 |
emptyDir 代表与 Pod 生命周期共享的临时目录。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
medium 表示什么类型的存储介质应该支持此目录。默认值为 "",这意味着使用节点的默认介质。必须为空字符串(默认值)或 Memory。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
|
|
sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存介质 EmptyDir 的最大使用量将是此处指定的 SizeLimit 和 Pod 中所有容器的内存限制之和之间的最小值。默认值为 nil,这意味着限制未定义。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
ephemeral 代表由集群存储驱动程序处理的卷。卷的生命周期与定义它的 Pod 绑定 - 它将在 Pod 启动之前创建,并在 Pod 删除时删除。
如果您需要:a) 只在 Pod 运行时才需要卷,b) 需要普通卷的功能,例如从快照恢复或容量跟踪,c) 通过存储类指定存储驱动程序,以及 d) 存储驱动程序通过 PersistentVolumeClaim 支持动态卷配置(有关此卷类型和 PersistentVolumeClaim 之间连接的更多信息,请参阅 EphemeralVolumeSource)。
对于比单个 Pod 生命周期持续时间更长的卷,请使用 PersistentVolumeClaim 或其中一个供应商特定的 API。
如果 CSI 驱动程序旨在以这种方式使用,请使用 CSI 来实现轻量级本地短暂卷 - 有关更多信息,请参阅驱动程序的文档。
Pod 可以同时使用两种类型的短暂卷和持久卷。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
将用于创建独立的 PVC 来配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将为 Pod 将不会使用名称相同的现有 PVC(该 PVC 不属于该 Pod),以避免错误地使用不相关的卷。然后,Pod 的启动将被阻塞,直到不相关的 PVC 被删除。如果此类预先创建的 PVC 旨在由 Pod 使用,则一旦 Pod 存在,必须使用对 Pod 的所有者引用更新 PVC。通常不需要这样做,但在手动重建损坏的集群时可能很有用。 此字段是只读的,创建 PVC 后,Kubernetes 不会对其进行任何更改。 必需,不能为 nil。 |
将用于创建独立的 PVC 来配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将为 <pod name>-<volume name>
,其中 <volume name>
是 PodSpec.Volumes
数组条目中的名称。如果连接后的名称对于 PVC 无效(例如,太长),则 Pod 验证将拒绝该 Pod。
Pod 将不会使用名称相同的现有 PVC(该 PVC 不属于该 Pod),以避免错误地使用不相关的卷。然后,Pod 的启动将被阻塞,直到不相关的 PVC 被删除。如果此类预先创建的 PVC 旨在由 Pod 使用,则一旦 Pod 存在,必须使用对 Pod 的所有者引用更新 PVC。通常不需要这样做,但在手动重建损坏的集群时可能很有用。
此字段是只读的,创建 PVC 后,Kubernetes 不会对其进行任何更改。
必需,不能为 nil。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
可能包含在创建 PVC 时将复制到其中的标签和注释。不允许使用其他字段,并且将在验证期间被拒绝。 |
|
|
PersistentVolumeClaim 的规范。整个内容将原封不动地复制到由此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也适用。 |
可能包含在创建 PVC 时将复制到其中的标签和注释。不允许使用其他字段,并且将在验证期间被拒绝。
对象
PersistentVolumeClaim 的规范。整个内容将原封不动地复制到由此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也适用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
|
dataSource 字段可以用来指定:* 一个已存在的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 一个已存在的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器支持指定的數據源,它将基于指定的數據源内容创建一个新的卷。当启用 AnyVolumeDataSource 功能特性门控时,dataSource 内容将被复制到 dataSourceRef,并且当 dataSourceRef.namespace 未指定时,dataSourceRef 内容将被复制到 dataSource。如果指定了 namespace,则 dataSourceRef 将不会复制到 dataSource。 |
|
|
dataSourceRef 指定用于填充卷数据的对象,如果需要非空卷。这可以是任何来自非空 API 组(非核心对象)的对象或 PersistentVolumeClaim 对象。当指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态 provisioner 匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定 namespace 时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定 namespace 时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 忽略不允许的值(丢弃它们),而 dataSourceRef 保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能特性门控。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。 |
|
|
resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources |
|
|
selector 是对要考虑用于绑定的卷的标签查询。 |
|
|
storageClassName 是声明所需的 StorageClass 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#class-1 |
|
|
volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用相应 VolumeAttributesClass 中定义的属性创建或更新卷。这与 storageClassName 的用途不同,可以在创建声明后更改它。空字符串值表示不会将任何 VolumeAttributesClass 应用于声明,但是一旦设置,就不允许将此字段重置为空字符串。如果未指定且 PersistentVolumeClaim 未绑定,则如果存在,持久卷控制器将设置默认的 VolumeAttributesClass。如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态,这由 modifyVolumeStatus 字段反映,直到此类资源存在为止。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha)使用此字段需要启用 VolumeAttributesClass 功能特性门控。 |
|
|
volumeMode 定义声明所需的卷类型。如果未包含在声明规范中,则隐含 Filesystem 值。 |
|
|
volumeName 是对支持此声明的 PersistentVolume 的绑定引用。 |
dataSource 字段可以用来指定:* 一个已存在的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 一个已存在的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器支持指定的數據源,它将基于指定的數據源内容创建一个新的卷。当启用 AnyVolumeDataSource 功能特性门控时,dataSource 内容将被复制到 dataSourceRef,并且当 dataSourceRef.namespace 未指定时,dataSourceRef 内容将被复制到 dataSource。如果指定了 namespace,则 dataSourceRef 将不会复制到 dataSource。
对象
kind
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。 |
|
|
Kind 是被引用的资源类型。 |
|
|
Name 是被引用的资源名称。 |
dataSourceRef 指定用于填充卷数据的对象,如果需要非空卷。这可以是任何来自非空 API 组(非核心对象)的对象或 PersistentVolumeClaim 对象。当指定此字段时,只有当指定对象的类型与某些已安装的卷填充程序或动态 provisioner 匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因此,如果两个字段都非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定 namespace 时,如果其中一个字段为空而另一个字段非空,则这两个字段 (dataSource 和 dataSourceRef) 将自动设置为相同的值。当在 dataSourceRef 中指定 namespace 时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 只允许两种特定类型的对象,而 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 忽略不允许的值(丢弃它们),而 dataSourceRef 保留所有值,并在指定不允许的值时生成错误。* dataSource 只允许本地对象,而 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能特性门控。(Alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。
对象
kind
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,都需要 APIGroup。 |
|
|
Kind 是被引用的资源类型。 |
|
|
Name 是被引用的资源名称。 |
|
|
Namespace 是被引用的资源的命名空间。请注意,当指定命名空间时,需要在引用命名空间中使用 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受该引用。有关详细信息,请参阅 ReferenceGrant 文档。(Alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能特性门控。 |
resources 表示卷应具有的最小资源。如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Limits 描述了允许的计算资源最大量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的计算资源最小量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
selector 是对要考虑用于绑定的卷的标签查询。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
fc 代表附加到 kubelet 主机并随后暴露给 Pod 的光纤通道资源。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。待办事项:我们如何防止文件系统中的错误危及机器 |
|
|
lun 为可选参数:FC 目标 LUN 号码 |
|
|
readOnly 为可选参数:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
|
|
targetWWNs 为可选参数:FC 目标全球名称 (WWNs) |
|
|
wwids 可选:FC 卷全球标识符 (wwids) 必须设置 wwids 或 targetWWNs 和 lun 的组合,但不能同时设置两者。 |
flexVolume 代表使用基于 exec 的插件进行配置/附加的通用卷资源。
对象
driver
属性 | 类型 | 描述 |
---|---|---|
|
|
driver 是为此卷使用的驱动程序的名称。 |
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”、“ntfs”。默认文件系统取决于 FlexVolume 脚本。 |
|
|
options 为可选参数:此字段包含任何额外的命令选项。 |
|
|
readOnly 为可选参数:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
|
|
secretRef 为可选参数:secretRef 是对包含敏感信息的 secret 对象的引用,这些敏感信息将传递给插件脚本。如果未指定 secret 对象,则此字段可以为空。如果 secret 对象包含多个 secret,则所有 secret 都将传递给插件脚本。 |
secretRef 为可选参数:secretRef 是对包含敏感信息的 secret 对象的引用,这些敏感信息将传递给插件脚本。如果未指定 secret 对象,则此字段可以为空。如果 secret 对象包含多个 secret,则所有 secret 都将传递给插件脚本。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
flocker 代表附加到 kubelet 主机的 Flocker 卷。这取决于 Flocker 控制服务的运行情况。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
datasetName 是数据集的名称,存储为数据集上的元数据→名称,Flocker 应将其视为已弃用 |
|
|
datasetUUID 是数据集的 UUID。这是 Flocker 数据集的唯一标识符 |
gcePersistentDisk 代表附加到 kubelet 主机并随后暴露给 Pod 的 GCE 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk
对象
pdName
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是您要挂载的卷的文件系统类型。提示:确保主机操作系统支持该文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk TODO:我们如何防止文件系统中的错误影响机器 |
|
|
partition 是您要挂载的卷中的分区。如果省略,则默认为按卷名挂载。例如:对于卷 /dev/sda1,您将分区指定为“1”。类似地,/dev/sda 的卷分区为“0”(或者您可以保留属性为空)。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk |
|
|
pdName 是 GCE 中 PD 资源的唯一名称。用于标识 GCE 中的磁盘。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk |
|
|
readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk |
gitRepo 代表特定版本下的 Git 仓库。已弃用:GitRepo 已弃用。要使用 Git 仓库配置容器,请将 EmptyDir 挂载到 InitContainer 中,使用 git 克隆仓库,然后将 EmptyDir 挂载到 Pod 的容器中。
对象
repository
属性 | 类型 | 描述 |
---|---|---|
|
|
directory 是目标目录名。不能包含或以“..”开头。如果提供“.”,则卷目录将是 git 仓库。否则,如果指定,则卷将包含具有给定名称的子目录中的 git 仓库。 |
|
|
repository 是 URL |
|
|
revision 是指定修订版本的提交哈希。 |
glusterfs 代表主机上的 Glusterfs 挂载,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md
对象
endpoints
path
属性 | 类型 | 描述 |
---|---|---|
|
|
endpoints 是详细说明 Glusterfs 拓扑的端点名称。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
|
path 是 Glusterfs 卷路径。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
|
readOnly 将强制 Glusterfs 卷以只读权限挂载。默认为 false。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
hostPath 代表主机上已存在的文件或目录,直接暴露给容器。这通常用于系统代理或其他允许查看主机机的特权程序。大多数容器不需要这个。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) 我们需要限制谁可以使用主机目录挂载,以及谁可以/不可以以读/写方式挂载主机目录。
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
主机上目录的路径。如果路径是符号链接,它将跟踪链接到实际路径。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath |
|
|
HostPath 卷的类型,默认为""。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath |
iscsi 代表附加到 kubelet 主机机并暴露给 Pod 的 ISCSI 磁盘资源。更多信息:https://examples.k8s.io/volumes/iscsi/README.md
对象
iqn
lun
targetPortal
属性 | 类型 | 描述 |
---|---|---|
|
|
chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证 |
|
|
chapAuthSession 定义是否支持 iSCSI Session CHAP 身份验证 |
|
|
fsType 是您要挂载的卷的文件系统类型。提示:确保主机操作系统支持该文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#iscsi TODO:我们如何防止文件系统中的错误影响机器 |
|
|
initiatorName 是自定义 iSCSI 发起程序名称。如果同时指定 initiatorName 和 iscsiInterface,则将为连接创建新的 iSCSI 接口 <目标端口>:<卷名>。 |
|
|
iqn 是目标 iSCSI 限定名称。 |
|
|
iscsiInterface 是使用 iSCSI 传输的接口名称。默认为“default”(tcp)。 |
|
|
lun 表示 iSCSI 目标 LUN 编号。 |
|
|
portals 是 iSCSI 目标端口列表。端口是 IP 或 ip_addr:port(如果端口不是默认端口,通常为 TCP 端口 860 和 3260)。 |
|
|
readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。 |
|
|
secretRef 是用于 iSCSI 目标和发起程序身份验证的 CHAP 密钥。 |
|
|
targetPortal 是 iSCSI 目标端口。端口是 IP 或 ip_addr:port(如果端口不是默认端口,通常为 TCP 端口 860 和 3260)。 |
secretRef 是用于 iSCSI 目标和发起程序身份验证的 CHAP 密钥。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
nfs 代表主机上的 NFS 挂载,其生命周期与 Pod 共享。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs
对象
path
server
属性 | 类型 | 描述 |
---|---|---|
|
|
NFS 服务器导出的路径。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs |
|
|
readOnly 将强制 NFS 导出以只读权限挂载。默认为 false。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs |
|
|
server 是 NFS 服务器的主机名或 IP 地址。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs |
persistentVolumeClaimVolumeSource 代表对同一命名空间中 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
对象
claimName
属性 | 类型 | 描述 |
---|---|---|
|
|
claimName 是与使用此卷的 Pod 位于同一命名空间中的 PersistentVolumeClaim 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
|
readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。 |
photonPersistentDisk 代表附加到并挂载在 kubelet 主机机上的 PhotonController 持久性磁盘。
对象
pdID
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
pdID 是标识 Photon Controller 持久磁盘的 ID。 |
portworxVolume 代表附加到并挂载在 kubelet 主机机上的 Portworx 卷。
对象
volumeID
属性 | 类型 | 描述 |
---|---|---|
|
|
fSType 表示要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
|
|
volumeID 唯一标识 Portworx 卷。 |
所有一体化资源的投影项:密钥、配置图和向下 API。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
defaultMode 是用于默认设置创建文件的权限模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要十进制值表示模式位。路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。 |
|
|
sources 是卷投影的列表 |
|
|
可以与其他支持的卷类型一起投影的投影 |
可以与其他支持的卷类型一起投影的投影
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
ClusterTrustBundle 允许 Pod 访问 ClusterTrustBundle 对象的 Alpha 版本,受 ClusterTrustBundleProjection 功能网关控制。 ClusterTrustBundle 对象可以通过名称或签名者名称和标签选择器的组合来选择。 Kubelet 对写入 Pod 文件系统的 PEM 内容执行积极的规范化。诸如块间注释和块标题之类的深奥的 PEM 功能将被删除。证书将被去重。文件中的证书顺序是任意的,Kubelet 可能会随着时间的推移而更改顺序。 |
|
|
configMap 关于要投影的 configMap 数据的信息 |
|
|
downwardAPI 关于要投影的 downwardAPI 数据的信息 |
|
|
secret 关于要投影的 secret 数据的信息 |
|
|
serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息 |
ClusterTrustBundle 允许 Pod 访问 ClusterTrustBundle 对象的 .spec.trustBundle
字段中的自动更新文件。
Alpha 版本,受 ClusterTrustBundleProjection 功能网关控制。
ClusterTrustBundle 对象可以通过名称或签名者名称和标签选择器的组合来选择。
Kubelet 对写入 Pod 文件系统的 PEM 内容执行积极的规范化。诸如块间注释和块标题之类的深奥的 PEM 功能将被删除。证书将被去重。文件中的证书顺序是任意的,Kubelet 可能会随着时间的推移而更改顺序。
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
选择与该标签选择器匹配的所有 ClusterTrustBundles。只有在设置 signerName 时才有效。与 name 相互排斥。如果未设置,则解释为“不匹配任何内容”。如果设置为空,则解释为“匹配所有内容”。 |
|
|
按对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 互斥。 |
|
|
如果为 true,则在引用的 ClusterTrustBundle(s) 不可用时,不会阻止 Pod 启动。如果使用 name,则允许指定的 ClusterTrustBundle 不存在。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零个 ClusterTrustBundle。 |
|
|
相对于卷根目录的写入 bundle 的相对路径。 |
|
|
选择所有与该签名者名称匹配的 ClusterTrustBundle。与 name 互斥。所有选定 ClusterTrustBundle 的内容将被统一和去重。 |
选择与该标签选择器匹配的所有 ClusterTrustBundles。只有在设置 signerName 时才有效。与 name 相互排斥。如果未设置,则解释为“不匹配任何内容”。如果设置为空,则解释为“匹配所有内容”。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 运算的结果。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 运算的结果。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须是非空的。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并修补程序期间将被替换。 |
configMap 关于要投影的 configMap 数据的信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
如果未指定 items,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了一个在 ConfigMap 中不存在的键,则除非该键被标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
optional 指定 ConfigMap 或其键是否必须定义 |
如果未指定 items,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了一个在 ConfigMap 中不存在的键,则除非该键被标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
key
path
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 为可选参数:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。如果未指定,则将使用卷的 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
path 是将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..” 。不能以字符串“..”开头。 |
downwardAPI 关于要投影的 downwardAPI 数据的信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Items 是 DownwardAPIVolume 文件的列表 |
|
|
DownwardAPIVolumeFile 表示创建包含 pod 字段的文件的信息 |
DownwardAPIVolumeFile 表示创建包含 pod 字段的文件的信息
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
必填:选择 pod 的字段:仅支持注释、标签、名称、命名空间和 uid。 |
|
|
可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。如果未指定,则将使用卷的 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
必填:Path 是要创建的文件的相对路径名。不能是绝对路径或包含“..”路径。必须是 utf-8 编码。相对路径的第一个项目不能以“..”开头。 |
|
|
选择容器的资源:目前仅支持资源限制和请求 (limits.cpu、limits.memory、requests.cpu 和 requests.memory)。 |
必填:选择 pod 的字段:仅支持注释、标签、名称、命名空间和 uid。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 以其编写的模式版本,默认为 "v1"。 |
|
|
在指定的 API 版本中选择的字段路径。 |
选择容器的资源:目前仅支持资源限制和请求 (limits.cpu、limits.memory、requests.cpu 和 requests.memory)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷必需,环境变量可选 |
|
|
指定公开资源的输出格式,默认为“1”。 |
|
|
必需:要选择的资源 |
secret 关于要投影的 secret 数据的信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定了 items,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 Secret 中不存在的键,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
可选字段,指定 Secret 或其键是否必须定义。 |
如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定了 items,则列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 Secret 中不存在的键,则除非将其标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
key
path
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 为可选参数:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。如果未指定,则将使用卷的 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
path 是将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..” 。不能以字符串“..”开头。 |
serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
audience 是令牌的目标受众。令牌的接收者必须使用令牌的 audience 中指定的标识符来标识自身,否则应拒绝令牌。audience 默认值为 apiserver 的标识符。 |
|
|
expirationSeconds 是请求的服务帐户令牌的有效期。当令牌接近过期时,kubelet 卷插件将主动轮换服务帐户令牌。如果令牌的剩余时间少于其生命周期的 80%,或者令牌已超过 24 小时,kubelet 将开始尝试轮换令牌。默认为 1 小时,必须至少为 10 分钟。 |
|
|
path 是将令牌投影到的文件的挂载点相对路径。 |
quobyte 代表主机上的 Quobyte 挂载,其生命周期与 Pod 共享。
对象
registry
volume
属性 | 类型 | 描述 |
---|---|---|
|
|
将卷访问权限映射到的组。默认为无组。 |
|
|
此处将强制以只读权限挂载 Quobyte 卷。默认为 false。 |
|
|
registry 表示一个或多个 Quobyte Registry 服务,指定为字符串,格式为 host:port 对(多个条目用逗号分隔),它充当卷的中央注册表。 |
|
|
后端中拥有给定 Quobyte 卷的租户。用于动态配置的 Quobyte 卷,值由插件设置。 |
|
|
将卷访问权限映射到的用户。默认为 service account 用户。 |
|
|
volume 是一个字符串,它通过名称引用已创建的 Quobyte 卷。 |
rbd 代表主机上的 Rados 块设备挂载,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/rbd/README.md
对象
image
monitors
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的卷的文件系统类型。提示:确保主机操作系统支持文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#rbd 待办事项:我们如何防止文件系统中的错误影响机器 |
|
|
image 是 rados 镜像名称。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
monitors 是 Ceph monitor 的集合。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
pool 是 rados 池名称。默认为 rbd。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
secretRef 是 RBDUser 的身份验证密钥的名称。如果提供,则会覆盖 keyring。默认为 nil。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
user 是 rados 用户名。默认为 admin。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
secretRef 是 RBDUser 的身份验证密钥的名称。如果提供,则会覆盖 keyring。默认为 nil。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
scaleIO 代表附加到并挂载在 Kubernetes 节点上的 ScaleIO 持久卷。
对象
gateway
secretRef
system
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。默认为“xfs”。 |
|
|
gateway 是 ScaleIO API Gateway 的主机地址。 |
|
|
protectionDomain 是为配置的存储配置的 ScaleIO 保护域的名称。 |
|
|
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
|
|
secretRef 引用 ScaleIO 用户和其他敏感信息的密钥。如果没有提供此信息,登录操作将失败。 |
|
|
sslEnabled 标志启用/禁用与 Gateway 的 SSL 通信,默认为 false。 |
|
|
storageMode 指示卷的存储应该是 ThickProvisioned 还是 ThinProvisioned。默认为 ThinProvisioned。 |
|
|
storagePool 是与保护域关联的 ScaleIO 存储池。 |
|
|
system 是在 ScaleIO 中配置的存储系统的名称。 |
|
|
volumeName 是已在与该卷源关联的 ScaleIO 系统中创建的卷的名称。 |
secretRef 引用 ScaleIO 用户和其他敏感信息的密钥。如果没有提供此信息,登录操作将失败。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
secret 代表应该填充此卷的密钥。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
defaultMode 是可选的:用于默认设置创建文件的权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
items 如果未指定,则参考的 Secret 的 Data 字段中的每个键值对都将被投影到卷中,作为名称为键且内容为值的文件。如果指定,则列出的键将被投影到指定的路径,未列出的键将不存在。如果指定了一个在 Secret 中不存在的键,除非该键被标记为可选,否则卷设置将出错。路径必须是相对路径,不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
optional 字段 指定 Secret 或其键是否必须定义 |
|
|
secretName 是要使用的 pod 命名空间中 secret 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret |
items 如果未指定,则参考的 Secret 的 Data 字段中的每个键值对都将被投影到卷中,作为名称为键且内容为值的文件。如果指定,则列出的键将被投影到指定的路径,未列出的键将不存在。如果指定了一个在 Secret 中不存在的键,除非该键被标记为可选,否则卷设置将出错。路径必须是相对路径,不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
key
path
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 为可选参数:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的八进制值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位使用十进制值。如果未指定,则将使用卷的 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
path 是将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..” 。不能以字符串“..”开头。 |
storageOS 代表附加到并挂载在 Kubernetes 节点上的 StorageOS 卷。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
|
|
secretRef 指定用于获取 StorageOS API 凭据的 secret。如果未指定,将尝试使用默认值。 |
|
|
volumeName 是 StorageOS 卷的可读名称。卷名称仅在命名空间内唯一。 |
|
|
volumeNamespace 指定 StorageOS 中卷的范围。如果未指定命名空间,则将使用 Pod 的命名空间。这允许 Kubernetes 命名范围在 StorageOS 内镜像,以实现更紧密的集成。将 VolumeName 设置为任何名称以覆盖默认行为。如果您不在 StorageOS 中使用命名空间,则设置为“default”。StorageOS 中不存在的命名空间将被创建。 |
secretRef 指定用于获取 StorageOS API 凭据的 secret。如果未指定,将尝试使用默认值。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
vsphereVolume 代表附加到并挂载在 kubelet 主机机上的 vSphere 卷。
对象
volumePath
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
storagePolicyID 与 StoragePolicyName 关联的基于存储策略的管理 (SPBM) 配置文件 ID。 |
|
|
storagePolicyName 是基于存储策略的管理 (SPBM) 配置文件名称。 |
|
|
volumePath 是标识 vSphere 卷 vmdk 的路径 |
定义启动 Alertmanager 时 web 命令行标志。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
并发处理 GET 请求的最大数量。这对应于 Alertmanager 的 |
|
|
定义 Web 服务器的 HTTP 参数。 |
|
|
HTTP 请求的超时时间。这对应于 Alertmanager 的 |
|
|
定义 HTTPS 的 TLS 参数。 |
定义 Web 服务器的 HTTP 参数。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
可以添加到 HTTP 响应的标头列表。 |
|
|
启用 HTTP/2 支持。请注意,HTTP/2 仅支持 TLS。当未配置 TLSConfig 时,HTTP/2 将被禁用。无论字段的值如何变化,都会触发滚动更新。 |
可以添加到 HTTP 响应的标头列表。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
将 Content-Security-Policy 标头设置为 HTTP 响应。如果为空则取消设置。 |
|
|
将 Strict-Transport-Security 标头设置为 HTTP 响应。如果为空则取消设置。请确保谨慎使用此标头,因为此标头可能会强制浏览器通过 HTTPS 加载托管在同一域和子域上的 Prometheus 和其他应用程序。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security |
|
|
将 X-Content-Type-Options 标头设置为 HTTP 响应。如果为空则取消设置。接受的值为 nosniff。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options |
|
|
将 X-Frame-Options 标头设置为 HTTP 响应。如果为空则取消设置。接受的值为 deny 和 sameorigin。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-Frame-Options |
|
|
将 X-XSS-Protection 标头设置为所有响应。如果为空则取消设置。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-XSS-Protection |
定义 HTTPS 的 TLS 参数。
对象
cert
keySecret
属性 | 类型 | 描述 |
---|---|---|
|
|
包含服务器的 TLS 证书。 |
|
|
最高支持 TLS 1.2 版本的加密套件列表。如果为空,则使用 Go 默认加密套件。可用的加密套件在 Go 文档中有所说明:https://golang.ac.cn/pkg/crypto/tls/#pkg-constants |
|
|
客户端身份验证的服务器策略。映射到 ClientAuth 策略。有关 clientAuth 选项的更多详细信息:https://golang.ac.cn/pkg/crypto/tls/#ClientAuthType |
|
|
包含用于对服务器进行客户端证书身份验证的 CA 证书。 |
|
|
将在 ECDHE 握手过程中使用的椭圆曲线,按优先级排序。可用的曲线在 Go 文档中有所说明:https://golang.ac.cn/pkg/crypto/tls/#CurveID |
|
|
包含服务器 TLS 密钥的 Secret。 |
|
|
可接受的最大 TLS 版本。默认为 TLS13。 |
|
|
可接受的最小 TLS 版本。默认为 TLS12。 |
|
|
控制服务器是选择客户端最偏好的加密套件,还是服务器最偏好的加密套件。如果为 true,则使用服务器的偏好,如 cipherSuites 中元素的顺序所示。 |
包含服务器的 TLS 证书。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其密钥。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
包含用于对服务器进行客户端证书身份验证的 CA 证书。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其密钥。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
包含服务器 TLS 密钥的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥名称。必须是有效的密钥名称。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥。 |
Alertmanager 集群最新观察到的状态。只读。更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
对象
availableReplicas
paused
replicas
unavailableReplicas
updatedReplicas
属性 | 类型 | 描述 |
---|---|---|
|
|
此 Alertmanager 集群目标的可用 Pod 总数(至少准备了 minReadySeconds)。 |
|
|
Alertmanager 对象的当前状态。 |
|
|
Condition 代表与 Prometheus、Alertmanager 或 ThanosRuler 资源关联的资源状态。 |
|
|
表示是否正在对底层托管对象执行任何操作。只执行删除操作。 |
|
|
此 Alertmanager 对象目标的未终止 Pod 总数(它们的标签与选择器匹配)。 |
|
|
此 Alertmanager 对象目标的不可用 Pod 总数。 |
|
|
此 Alertmanager 对象目标的未终止 Pod 总数,这些 Pod 具有所需的版本规范。 |
Condition 代表与 Prometheus、Alertmanager 或 ThanosRuler 资源关联的资源状态。
对象
lastTransitionTime
status
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
lastTransitionTime 是上次更新当前状态属性的时间。 |
|
|
指示条件上次转换详细信息的人类可读消息。 |
|
|
ObservedGeneration 表示设置条件所基于的 .metadata.generation。例如,如果 |
|
|
条件最后一次转换的原因。 |
|
|
条件的状态。 |
|
|
所报告条件的类型。 |
提供以下 API 端点:
/apis/monitoring.coreos.com/v1/alertmanagers
GET
:列出 Alertmanager 对象
/apis/monitoring.coreos.com/v1/namespaces/{namespace}/alertmanagers
DELETE
:删除 Alertmanager 集合
GET
:列出 Alertmanager 对象
POST
:创建 Alertmanager
/apis/monitoring.coreos.com/v1/namespaces/{namespace}/alertmanagers/{name}
DELETE
:删除 Alertmanager
GET
:读取指定的 Alertmanager
PATCH
:部分更新指定的 Alertmanager
PUT
:替换指定的 Alertmanager
/apis/monitoring.coreos.com/v1/namespaces/{namespace}/alertmanagers/{name}/status
GET
:读取指定 Alertmanager 的状态
PATCH
:部分更新指定 Alertmanager 的状态
PUT
:替换指定 Alertmanager 的状态
GET
列出 Alertmanager 对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 Alertmanager 集合
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 Alertmanager 对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 Alertmanager
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段以及遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Alertmanager 的名称 |
DELETE
删除 Alertmanager
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 Alertmanager
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Alertmanager
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段以及遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 Alertmanager
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段以及遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Alertmanager 的名称 |
GET
读取指定 Alertmanager 的状态
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定 Alertmanager 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段以及遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定 Alertmanager 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段以及遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值 - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |