×
描述

Config 是由注册表操作员管理的注册表实例的配置对象。兼容性级别 1:在主要版本中至少稳定 12 个月或 3 个次要版本(以较长者为准)。

类型

对象

必需
  • 元数据

  • 规范

规范

属性 类型 描述

apiVersion

字符串

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

kind

字符串

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

元数据

ObjectMeta

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

规范

对象

ImageRegistrySpec 定义了正在运行的注册表的规范。

状态

对象

ImageRegistryStatus 报告镜像注册表的运行状态。

.spec

描述

ImageRegistrySpec 定义了正在运行的注册表的规范。

类型

对象

必需
  • 副本数 (replicas)

属性 类型 描述

亲和性 (affinity)

对象

affinity 是一组针对镜像注册表 pod 的节点亲和性调度规则。

默认路由 (defaultRoute)

布尔值

defaultRoute 指示是否应使用默认生成的 hostname 创建注册表的外部路由。

禁用重定向 (disableRedirect)

布尔值

disableRedirect 控制是否将所有数据通过注册表路由,而不是重定向到后端。

HTTP 密钥 (httpSecret)

字符串

httpSecret 是注册表保护上传所需的值,默认情况下生成。

日志级别 (logLevel)

字符串

logLevel 是基于意图的整体组件日志记录。它没有提供细粒度的控制,但它是一种简单的方法,可以管理操作员必须为其操作数解释的粗粒度日志记录选择。有效值为:“Normal”、“Debug”、“Trace”、“TraceAll”。默认为“Normal”。

日志记录 (logging)

整数

logging 已弃用,请改用 logLevel。

管理状态 (managementState)

字符串

managementState 指示操作员是否以及如何管理组件。

节点选择器 (nodeSelector)

对象(字符串)

nodeSelector 定义了注册表 pod 的节点选择约束。

观察到的配置 (observedConfig)

``

observedConfig 包含控制器从集群状态观察到的稀疏配置。它存在于规范中,因为它是对操作员级别的输入。

操作员日志级别 (operatorLogLevel)

字符串

operatorLogLevel 是操作员本身的基于意图的日志记录。它没有提供细粒度的控制,但它是一种简单的方法,可以管理操作员必须为自身解释的粗粒度日志记录选择。有效值为:“Normal”、“Debug”、“Trace”、“TraceAll”。默认为“Normal”。

代理 (proxy)

对象

proxy 定义了调用主 API、上游注册表等时要使用的代理。

只读 (readOnly)

布尔值

readOnly 指示注册表实例是否应拒绝推送新镜像或删除现有镜像的尝试。

副本数 (replicas)

整数

replicas 确定要运行的注册表实例数量。

请求 (requests)

对象

requests 控制给定注册表实例在将额外请求排队之前将处理多少个并行请求。

资源 (resources)

对象

resources 定义了注册表 pod 的资源请求+限制。

发布策略 (rolloutStrategy)

字符串

rolloutStrategy 定义了镜像注册表部署的发布策略。

路由 (routes)

数组

routes 定义了应为注册表创建的其他面向外部的路由。

routes[]

对象

ImageRegistryConfigRoute 包含有关对镜像注册表的外部路由访问的信息。

存储 (storage)

对象

用于配置注册表存储的存储详细信息,例如 S3 存储桶坐标。

容忍度 (tolerations)

数组

tolerations 定义了注册表 pod 的容忍度。

tolerations[]

对象

此容忍度附加到的 pod 容忍任何与三元组 匹配的污点,使用匹配运算符

拓扑传播约束 (topologySpreadConstraints)

数组

topologySpreadConstraints 指定如何在给定的拓扑中传播匹配的 pod。

topologySpreadConstraints[]

对象

TopologySpreadConstraint 指定如何在给定的拓扑中传播匹配的 pod。

不受支持的配置覆盖 (unsupportedConfigOverrides)

``

unsupportedConfigOverrides 覆盖了操作员计算的最终配置。Red Hat 不支持使用此字段。误用此字段可能会导致意外行为或与其他配置选项冲突。在使用此字段之前,请寻求 Red Hat 支持的指导。使用此属性会阻止集群升级,必须在升级集群之前将其删除。

.spec.affinity

描述

affinity 是一组针对镜像注册表 pod 的节点亲和性调度规则。

类型

对象

属性 类型 描述

节点亲和性 (nodeAffinity)

对象

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

Pod 亲和性 (podAffinity)

对象

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

Pod 反亲和性 (podAntiAffinity)

对象

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

.spec.affinity.nodeAffinity

描述

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

类型

对象

属性 类型 描述

调度期间首选,执行期间忽略 (preferredDuringSchedulingIgnoredDuringExecution)

数组

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

preferredDuringSchedulingIgnoredDuringExecution[]

对象

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

调度期间必需,执行期间忽略 (requiredDuringSchedulingIgnoredDuringExecution)

对象

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

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述

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

类型

数组

.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述

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

类型

对象

必需
  • 偏好 (preference)

  • 权重 (weight)

属性 类型 描述

偏好 (preference)

对象

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

权重 (weight)

整数

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

根据节点标签的一组节点选择器要求。

matchExpressions[]

对象

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

matchFields

数组

根据节点字段的一组节点选择器要求。

matchFields[]

对象

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

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

描述

根据节点标签的一组节点选择器要求。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

选择器应用到的标签键。

operator

字符串

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

values

数组 (字符串)

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

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

描述

根据节点字段的一组节点选择器要求。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

选择器应用到的标签键。

operator

字符串

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

values

数组 (字符串)

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

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述

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

类型

对象

必需
  • nodeSelectorTerms

属性 类型 描述

nodeSelectorTerms

数组

必需。一组节点选择器术语。这些术语使用 OR 运算连接。

nodeSelectorTerms[]

对象

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

.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms

描述

必需。一组节点选择器术语。这些术语使用 OR 运算连接。

类型

数组

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

根据节点标签的一组节点选择器要求。

matchExpressions[]

对象

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

matchFields

数组

根据节点字段的一组节点选择器要求。

matchFields[]

对象

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

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

描述

根据节点标签的一组节点选择器要求。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

选择器应用到的标签键。

operator

字符串

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

values

数组 (字符串)

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

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

描述

根据节点字段的一组节点选择器要求。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

选择器应用到的标签键。

operator

字符串

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

values

数组 (字符串)

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

.spec.affinity.podAffinity

描述

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

类型

对象

属性 类型 描述

调度期间首选,执行期间忽略 (preferredDuringSchedulingIgnoredDuringExecution)

数组

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

preferredDuringSchedulingIgnoredDuringExecution[]

对象

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

调度期间必需,执行期间忽略 (requiredDuringSchedulingIgnoredDuringExecution)

数组

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

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 Pod(即与给定命名空间(s)相关的 labelSelector 匹配的那些 Pod),此 Pod 应该与这些 Pod 共同定位(亲和力)或不共同定位(反亲和力),其中共同定位定义为运行在标签键 <topologyKey> 的值与任何运行该组 Pod 的节点的标签值匹配的节点上。

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述

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

类型

数组

.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述

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

类型

对象

必需
  • podAffinityTerm

  • 权重 (weight)

属性 类型 描述

podAffinityTerm

对象

必需。与相应的权重关联的 Pod 亲和力术语。

权重 (weight)

整数

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

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

描述

必需。与相应的权重关联的 Pod 亲和力术语。

类型

对象

必需
  • topologyKey

属性 类型 描述

labelSelector

对象

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

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod(反)亲和力。传入 Pod 标签中不存在的键将被忽略。默认值为 empty。同一个键不允许同时存在于 matchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

mismatchLabelKeys

数组 (字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key notin (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod(反)亲和力。传入 Pod 标签中不存在的键将被忽略。默认值为 empty。同一个键不允许同时存在于 mismatchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

namespaceSelector

对象

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

namespaces

数组 (字符串)

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

topologyKey

字符串

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

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

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

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

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述

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

类型

数组

.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

描述

定义一组 Pod(即与给定命名空间(s)相关的 labelSelector 匹配的那些 Pod),此 Pod 应该与这些 Pod 共同定位(亲和力)或不共同定位(反亲和力),其中共同定位定义为运行在标签键 <topologyKey> 的值与任何运行该组 Pod 的节点的标签值匹配的节点上。

类型

对象

必需
  • topologyKey

属性 类型 描述

labelSelector

对象

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

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod(反)亲和力。传入 Pod 标签中不存在的键将被忽略。默认值为 empty。同一个键不允许同时存在于 matchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

mismatchLabelKeys

数组 (字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key notin (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod(反)亲和力。传入 Pod 标签中不存在的键将被忽略。默认值为 empty。同一个键不允许同时存在于 mismatchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

namespaceSelector

对象

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

namespaces

数组 (字符串)

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

topologyKey

字符串

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

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

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

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

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

.spec.affinity.podAntiAffinity

描述

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

类型

对象

属性 类型 描述

调度期间首选,执行期间忽略 (preferredDuringSchedulingIgnoredDuringExecution)

数组

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

preferredDuringSchedulingIgnoredDuringExecution[]

对象

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

调度期间必需,执行期间忽略 (requiredDuringSchedulingIgnoredDuringExecution)

数组

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

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 Pod(即与给定命名空间(s)相关的 labelSelector 匹配的那些 Pod),此 Pod 应该与这些 Pod 共同定位(亲和力)或不共同定位(反亲和力),其中共同定位定义为运行在标签键 <topologyKey> 的值与任何运行该组 Pod 的节点的标签值匹配的节点上。

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述

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

类型

数组

.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述

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

类型

对象

必需
  • podAffinityTerm

  • 权重 (weight)

属性 类型 描述

podAffinityTerm

对象

必需。与相应的权重关联的 Pod 亲和力术语。

权重 (weight)

整数

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

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

描述

必需。与相应的权重关联的 Pod 亲和力术语。

类型

对象

必需
  • topologyKey

属性 类型 描述

labelSelector

对象

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

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod(反)亲和力。传入 Pod 标签中不存在的键将被忽略。默认值为 empty。同一个键不允许同时存在于 matchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

mismatchLabelKeys

数组 (字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key notin (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod(反)亲和力。传入 Pod 标签中不存在的键将被忽略。默认值为 empty。同一个键不允许同时存在于 mismatchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

namespaceSelector

对象

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

namespaces

数组 (字符串)

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

topologyKey

字符串

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

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

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

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

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述

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

类型

数组

.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

描述

定义一组 Pod(即与给定命名空间(s)相关的 labelSelector 匹配的那些 Pod),此 Pod 应该与这些 Pod 共同定位(亲和力)或不共同定位(反亲和力),其中共同定位定义为运行在标签键 <topologyKey> 的值与任何运行该组 Pod 的节点的标签值匹配的节点上。

类型

对象

必需
  • topologyKey

属性 类型 描述

labelSelector

对象

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

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod(反)亲和力。传入 Pod 标签中不存在的键将被忽略。默认值为 empty。同一个键不允许同时存在于 matchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

mismatchLabelKeys

数组 (字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择哪些 Pod 将被考虑在内。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key notin (value),以选择现有 Pod 的组,这些 Pod 将被考虑用于传入 Pod 的 Pod(反)亲和力。传入 Pod 标签中不存在的键将被忽略。默认值为 empty。同一个键不允许同时存在于 mismatchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

namespaceSelector

对象

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

namespaces

数组 (字符串)

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

topologyKey

字符串

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

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

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

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

描述

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

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

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

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

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

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

.spec.proxy

描述

proxy 定义了调用主 API、上游注册表等时要使用的代理。

类型

对象

属性 类型 描述

http

字符串

http 定义镜像仓库在访问 HTTP 端点时使用的代理。

https

字符串

https 定义镜像仓库在访问 HTTPS 端点时使用的代理。

noProxy

字符串

noProxy 定义不应该通过任何代理的逗号分隔的主机名列表。

.spec.requests

描述

requests 控制给定注册表实例在将额外请求排队之前将处理多少个并行请求。

类型

对象

属性 类型 描述

read

对象

read 定义镜像仓库读取的限制。

write

对象

write 定义镜像仓库写入的限制。

.spec.requests.read

描述

read 定义镜像仓库读取的限制。

类型

对象

属性 类型 描述

maxInQueue

整数

maxInQueue 设置镜像仓库的最大排队 API 请求数。

maxRunning

整数

maxRunning 设置镜像仓库的最大并发 API 请求数。

maxWaitInQueue

字符串

maxWaitInQueue 设置请求在被拒绝之前可以在队列中等待的最长时间。

.spec.requests.write

描述

write 定义镜像仓库写入的限制。

类型

对象

属性 类型 描述

maxInQueue

整数

maxInQueue 设置镜像仓库的最大排队 API 请求数。

maxRunning

整数

maxRunning 设置镜像仓库的最大并发 API 请求数。

maxWaitInQueue

字符串

maxWaitInQueue 设置请求在被拒绝之前可以在队列中等待的最长时间。

.spec.resources

描述

resources 定义了注册表 pod 的资源请求+限制。

类型

对象

属性 类型 描述

claims

数组

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。此字段是不可变的。它只能为容器设置。

claims[]

对象

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

limits

整数或字符串

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

请求 (requests)

整数或字符串

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

.spec.resources.claims

描述

Claims 列出了此容器使用的资源名称,这些资源在 spec.resourceClaims 中定义。这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能网关。此字段是不可变的。它只能为容器设置。

类型

数组

.spec.resources.claims[]

描述

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

类型

对象

必需
  • name

属性 类型 描述

name

字符串

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

.spec.routes

描述

routes 定义了应为注册表创建的其他面向外部的路由。

类型

数组

.spec.routes[]

描述

ImageRegistryConfigRoute 包含有关对镜像注册表的外部路由访问的信息。

类型

对象

必需
  • name

属性 类型 描述

hostname

字符串

路由的主机名。

name

字符串

要创建的路由的名称。

secretName

字符串

secretName 指向包含路由将使用的证书的密钥。

.spec.storage

描述

用于配置注册表存储的存储详细信息,例如 S3 存储桶坐标。

类型

对象

属性 类型 描述

azure

对象

azure 表示使用 Azure Blob 存储的配置。

emptyDir

对象

emptyDir 表示 pod 的主机节点上的临时存储。警告:此存储不能与超过 1 个副本一起使用,不适合生产环境。当 pod 因任何原因从节点中移除时,emptyDir 中的数据将永久删除。

gcs

对象

gcs 表示使用 Google Cloud Storage 的配置。

ibmcos

对象

ibmcos 表示使用 IBM Cloud Object Storage 的配置。

管理状态 (managementState)

字符串

managementState 指示操作员是否管理底层存储单元。如果设置为 Managed,则当此操作员被移除时,操作员将移除存储。

oss

对象

Oss 表示使用阿里云对象存储服务的配置。

pvc

对象

pvc 表示使用 PersistentVolumeClaim 的配置。

s3

对象

s3 表示使用 Amazon Simple Storage Service 的配置。

swift

对象

swift 表示使用 OpenStack 对象存储的配置。

.spec.storage.azure

描述

azure 表示使用 Azure Blob 存储的配置。

类型

对象

属性 类型 描述

accountName

字符串

accountName 定义注册表将使用的帐户。

cloudName

字符串

cloudName 是注册表将使用的 Azure 云环境的名称。如果为空,操作员将根据基础架构对象设置它。

container

字符串

container 定义注册表将使用的 Azure 容器。

networkAccess

对象

networkAccess 定义存储帐户的网络访问属性。默认为类型:External。

.spec.storage.azure.networkAccess

描述

networkAccess 定义存储帐户的网络访问属性。默认为类型:External。

类型

对象

属性 类型 描述

internal

对象

internal 定义 vnet 和子网名称,以配置专用端点并将其连接到存储帐户以使其私有。当 type: Internal 且 internal 未设置时,镜像注册表操作员将发现 vnet 和子网名称,并生成一个专用端点名称。

type

字符串

type 是将用于存储帐户的网络访问级别。type: Internal 表示存储帐户将是私有的,type: External 表示存储帐户将是公开可访问的。内部存储帐户仅在集群的 vnet 内公开。外部存储帐户在互联网上公开暴露。当使用 type: Internal 时,可以可选地指定 vnetName、subNetName 和 privateEndpointName。如果未指定,镜像注册表操作员将发现 vnet 和子网名称,并生成 privateEndpointName。默认为“External”。

.spec.storage.azure.networkAccess.internal

描述

internal 定义 vnet 和子网名称,以配置专用端点并将其连接到存储帐户以使其私有。当 type: Internal 且 internal 未设置时,镜像注册表操作员将发现 vnet 和子网名称,并生成一个专用端点名称。

类型

对象

属性 类型 描述

networkResourceGroupName

字符串

networkResourceGroupName 是集群的 vnet 和子网所在的资源组名称。省略时,注册表操作员将使用集群资源组(来自基础架构状态)。如果在 install-config.yaml 中设置 networkResourceGroupName,则该值将自动使用(对于使用 publish:Internal 配置的集群)。请注意,vnet 和子网都必须位于同一个资源组中。它必须介于 1 到 90 个字符之间,并且只能由字母数字字符、连字符 (-)、句点 (.) 和下划线 (_) 组成,并且不能以句点结尾。

privateEndpointName

字符串

privateEndpointName 是注册表的专用端点名称。提供时,注册表将将其用作其将为存储帐户创建的专用端点的名称。省略时,注册表将生成一个。它必须介于 2 到 64 个字符之间,并且只能由字母数字字符、连字符 (-)、句点 (.) 和下划线 (_) 组成。它必须以字母数字字符开头,并以字母数字字符或下划线结尾。

subnetName

字符串

subnetName 是注册表在其上运行的子网的名称。省略时,注册表操作员将通过使用 vnet 资源中的kubernetes.io_cluster.<cluster-id>标签,然后使用列出的子网之一来发现并设置它。使用网络安全组保护子网的高级集群网络配置应确保提供的 subnetName 能够访问 Azure 存储服务。它必须介于 1 到 80 个字符之间,并且只能由字母数字字符、连字符 (-)、句点 (.) 和下划线 (_) 组成。

vnetName

字符串

vnetName 是注册表在其上运行的 vnet 的名称。省略时,注册表操作员将通过使用 vnet 资源中的kubernetes.io_cluster.<cluster-id>标签来发现并设置它。此标签由安装程序自动设置。通常,这将与集群相同的 vnet。高级集群网络配置应确保提供的 vnetName 是镜像注册表 pod 运行的节点的 vnet。它必须介于 2 到 64 个字符之间,并且只能由字母数字字符、连字符 (-)、句点 (.) 和下划线 (_) 组成。它必须以字母数字字符开头,并以字母数字字符或下划线结尾。

.spec.storage.emptyDir

描述

emptyDir 表示 pod 的主机节点上的临时存储。警告:此存储不能与超过 1 个副本一起使用,不适合生产环境。当 pod 因任何原因从节点中移除时,emptyDir 中的数据将永久删除。

类型

对象

.spec.storage.gcs

描述

gcs 表示使用 Google Cloud Storage 的配置。

类型

对象

属性 类型 描述

bucket

字符串

bucket 是您想要存储注册表数据的存储桶名称。可选,如果未提供,将生成。

keyID

字符串

keyID 是要用于加密的 KMS 密钥 ID。可选,存储桶在 GCP 上默认加密。这允许使用自定义加密密钥。

projectID

字符串

projectID 是此存储桶应关联到的 GCP 项目的项目 ID。

region

字符串

region 是存储桶所在的 GCS 位置。可选,将根据已安装的 GCS 区域进行设置。

.spec.storage.ibmcos

描述

ibmcos 表示使用 IBM Cloud Object Storage 的配置。

类型

对象

属性 类型 描述

bucket

字符串

bucket 是您想要存储注册表数据的存储桶名称。可选,如果未提供,将生成。

location

字符串

location 是存储桶所在的 IBM Cloud 位置。可选,将根据已安装的 IBM Cloud 位置进行设置。

resourceGroupName

字符串

resourceGroupName 是此存储桶及其服务实例关联到的 IBM Cloud 资源组的名称。可选,将根据已安装的 IBM Cloud 资源组进行设置。

resourceKeyCRN

字符串

resourceKeyCRN 是为服务实例创建的 IBM Cloud 资源密钥的 CRN。通常称为服务凭据,并且必须包含 HMAC 类型凭据。可选,如果未提供,将进行计算。

serviceInstanceCRN

字符串

serviceInstanceCRN 是此存储桶关联到的 IBM Cloud 对象存储服务实例的 CRN。可选,如果未提供,将进行计算。

.spec.storage.oss

描述

Oss 表示使用阿里云对象存储服务的配置。

类型

对象

属性 类型 描述

bucket

字符串

Bucket 是您想要存储注册表数据的存储桶名称。关于 Bucket 命名,更多详细信息请查看[官方文档](https://www.alibabacloud.com/help/doc-detail/257087.htm)。空值表示无意见,平台将选择默认值,该默认值可能会随时间推移而更改。目前,默认值将以 `<集群ID>-image-registry-<区域>-<27个随机字符>` 的形式自动生成。

加密

对象

Encryption 指定您是否希望在服务器端加密您的数据。更多详细信息,请查看[官方文档](https://www.alibabacloud.com/help/doc-detail/117914.htm)。

端点访问权限

字符串

EndpointAccessibility 指定注册表是否使用 OSS VPC 内部端点。空值表示无意见,平台将选择默认值,该默认值可能会随时间推移而更改。目前,默认值为 `Internal`。

region

字符串

Region 是您的存储桶所在的阿里云区域。区域列表,请查看[官方文档](https://www.alibabacloud.com/help/doc-detail/31837.html)。空值表示无意见,平台将选择默认值,该默认值可能会随时间推移而更改。目前,默认值将基于已安装的阿里云区域。

.spec.storage.oss.encryption

描述

Encryption 指定您是否希望在服务器端加密您的数据。更多详细信息,请查看[官方文档](https://www.alibabacloud.com/help/doc-detail/117914.htm)。

类型

对象

属性 类型 描述

kms

对象

KMS(密钥管理服务)是一种加密类型,它包含 KMS KeyID 的结构。

方法

字符串

Method 定义了可用的不同加密模式。空值表示无意见,平台将选择默认值,该默认值可能会随时间推移而更改。目前,默认值为 `AES256`。

.spec.storage.oss.encryption.kms

描述

KMS(密钥管理服务)是一种加密类型,它包含 KMS KeyID 的结构。

类型

对象

必需
  • keyID

属性 类型 描述

keyID

字符串

KeyID 包含 KMS 加密密钥 ID。

.spec.storage.pvc

描述

pvc 表示使用 PersistentVolumeClaim 的配置。

类型

对象

属性 类型 描述

claim

字符串

claim 定义要使用的持久卷声明的名称。

.spec.storage.s3

描述

s3 表示使用 Amazon Simple Storage Service 的配置。

类型

对象

属性 类型 描述

bucket

字符串

bucket 是您想要存储注册表数据的存储桶名称。可选,如果未提供,将生成。

chunkSizeMiB

整数

chunkSizeMiB 定义 S3 API 的分块上传块的大小。S3 API 要求分块上传块至少为 5MiB。省略此值表示无意见,平台将选择合理的默认值,该默认值可能会随时间推移而更改。当前默认值为 10 MiB。该值是以 MiB 为单位的整数。最小值为 5,最大值为 5120 (5 GiB)。

CloudFront

对象

cloudFront 将 Amazon Cloudfront 配置为注册表中的存储中间件。

加密

布尔值

encrypt 指定注册表是否以加密格式存储镜像。可选,默认为 false。

keyID

字符串

keyID 是用于加密的 KMS 密钥 ID。可选,Encrypt 必须为 true,否则此参数将被忽略。

region

字符串

region 是您的存储桶所在的 AWS 区域。可选,将根据已安装的 AWS 区域设置。

区域端点

字符串

regionEndpoint 是与 S3 兼容的存储服务的端点。它应该是一个包含方案的有效 URL,例如 https://s3.example.com。可选,根据提供的 Region 默认设置。

受信任的CA

对象

trustedCA 是对包含 CA 证书包的 ConfigMap 的引用。镜像注册表及其操作员使用此证书包中的证书来验证 S3 服务器证书。trustedCA 引用的 ConfigMap 的命名空间为 "openshift-config"。ConfigMap 中证书包的键为 "ca-bundle.crt"。

虚拟主机样式

布尔值

virtualHostedStyle 启用使用具有自定义 RegionEndpoint 的 S3 虚拟主机样式存储桶路径。可选,默认为 false。

.spec.storage.s3.cloudFront

描述

cloudFront 将 Amazon Cloudfront 配置为注册表中的存储中间件。

类型

对象

必需
  • baseURL

  • 密钥对ID

  • 私钥

属性 类型 描述

baseURL

字符串

baseURL 包含 Cloudfront 提供服务的 SCHEME://HOST[/PATH]。

持续时间

字符串

duration 是 Cloudfront 会话的持续时间。

密钥对ID

字符串

keypairID 是 AWS 提供的密钥对 ID。

私钥

对象

privateKey 指向包含 AWS 提供的私钥的 Secret。

.spec.storage.s3.cloudFront.privateKey

描述

privateKey 指向包含 AWS 提供的私钥的 Secret。

类型

对象

必需
  • key

属性 类型 描述

key

字符串

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

name

字符串

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

可选

布尔值

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

.spec.storage.s3.trustedCA

描述

trustedCA 是对包含 CA 证书包的 ConfigMap 的引用。镜像注册表及其操作员使用此证书包中的证书来验证 S3 服务器证书。trustedCA 引用的 ConfigMap 的命名空间为 "openshift-config"。ConfigMap 中证书包的键为 "ca-bundle.crt"。

类型

对象

属性 类型 描述

name

字符串

name 是引用的 ConfigMap 的 metadata.name。此字段必须符合标准的 ConfigMap 命名限制。名称必须仅由字母数字字符、连字符 (-) 和句点 (.) 组成。其最大长度为 253 个字符。如果此字段未指定或为空字符串,则将使用默认信任捆绑包。

.spec.storage.swift

描述

swift 表示使用 OpenStack 对象存储的配置。

类型

对象

属性 类型 描述

authURL

字符串

authURL 定义用于获取身份验证令牌的 URL。

authVersion

字符串

authVersion 指定 OpenStack Auth 的版本。

container

字符串

container 定义用于存储注册表数据的 Swift 容器的名称。

domain

字符串

domain 指定 Identity v3 API 的 Openstack 域名。

domainID

字符串

domainID 指定 Identity v3 API 的 Openstack 域名 ID。

regionName

字符串

regionName 定义容器所在的 Openstack 区域。

tenant

字符串

tenant 定义注册表要使用的 Openstack 租户名称。

tenantID

字符串

tenant 定义注册表要使用的 Openstack 租户 ID。

.spec.tolerations

描述

tolerations 定义了注册表 pod 的容忍度。

类型

数组

.spec.tolerations[]

描述

此容忍度附加到的 pod 容忍任何与三元组 匹配的污点,使用匹配运算符

类型

对象

属性 类型 描述

effect

字符串

Effect 指示要匹配的污点效果。空表示匹配所有污点效果。指定时,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。

key

字符串

Key 是容忍度适用的污点键。空表示匹配所有污点键。如果键为空,则运算符必须为 Exists;此组合表示匹配所有值和所有键。

operator

字符串

Operator 表示键与值的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 Pod 可以容忍特定类别的所有污点。

tolerationSeconds

整数

TolerationSeconds 表示容忍度(必须为 NoExecute 效果,否则此字段将被忽略)容忍污点的持续时间。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。系统将把零和负值视为 0(立即驱逐)。

value

字符串

Value 是容忍度匹配的污点值。如果运算符是 Exists,则值应为空,否则只是一个常规字符串。

.spec.topologySpreadConstraints

描述

topologySpreadConstraints 指定如何在给定的拓扑中传播匹配的 pod。

类型

数组

.spec.topologySpreadConstraints[]

描述

TopologySpreadConstraint 指定如何在给定的拓扑中传播匹配的 pod。

类型

对象

必需
  • maxSkew

  • topologyKey

  • whenUnsatisfiable

属性 类型 描述

labelSelector

对象

LabelSelector 用于查找匹配的 Pod。匹配此 LabelSelector 的 Pod 将被计算以确定其对应拓扑域中的 Pod 数量。

matchLabelKeys

数组 (字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择将对其进行传播计算的 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 进行 AND 运算,以选择将为传入的 Pod 计算传播的现有 Pod 组。同一个键禁止同时存在于 MatchLabelKeys 和 LabelSelector 中。当未设置 LabelSelector 时,不能设置 MatchLabelKeys。传入的 Pod 标签中不存在的键将被忽略。空列表或空列表表示仅与 labelSelector 匹配。这是一个 Beta 字段,需要启用 MatchLabelKeysInPodTopologySpread 功能网关(默认情况下启用)。

maxSkew

整数

MaxSkew 描述了 Pod 分布不均匀的程度。当 whenUnsatisfiable=DoNotSchedule 时,它是目标拓扑中匹配 Pod 数量与全局最小值之间允许的最大差异。全局最小值是在合格域中匹配 Pod 的最小数量,如果合格域的数量小于 MinDomains,则为零。例如,在 3 个区域的集群中,MaxSkew 设置为 1,具有相同 labelSelector 的 Pod 分布为 2/2/1:在这种情况下,全局最小值为 1。| zone1 | zone2 | zone3 | | P P | P P | P | - 如果 MaxSkew 为 1,则传入的 Pod 只能调度到 zone3 以变为 2/2/2;将其调度到 zone1(zone2)将使 zone1(zone2)上的 ActualSkew(3-1)违反 MaxSkew(1)。- 如果 MaxSkew 为 2,则传入的 Pod 可以调度到任何区域。当 whenUnsatisfiable=ScheduleAnyway 时,它用于优先考虑满足它的拓扑结构。这是一个必填字段。默认值为 1,不允许为 0。

minDomains

整数

MinDomains 指示合格域的最小数量。当具有匹配拓扑键的合格域数量小于 minDomains 时,Pod 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:| zone1 | zone2 | zone3 | | P P | P P | P P | 域的数量小于 5(MinDomains),因此“全局最小值”被视为 0。在这种情况下,具有相同 labelSelector 的新 Pod 无法调度,因为如果将新 Pod 调度到三个区域中的任何一个,计算出的 skew 将为 3(3 - 0),这将违反 MaxSkew。

nodeAffinityPolicy

字符串

NodeAffinityPolicy 指示在计算 Pod 拓扑分布 skew 时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项包括:- Honor:仅包含计算中与 nodeAffinity/nodeSelector 匹配的节点。- Ignore:忽略 nodeAffinity/nodeSelector。所有节点都包含在计算中。如果此值为 nil,则行为等效于 Honor 策略。这是一个 Beta 级功能,默认情况下由 NodeInclusionPolicyInPodTopologySpread 功能标志启用。

nodeTaintsPolicy

字符串

NodeTaintsPolicy 指示在计算 Pod 拓扑分布 skew 时,我们将如何处理节点污点。选项包括:- Honor:包含没有污点的节点,以及传入 Pod 具有容忍度的受污点节点。- Ignore:忽略节点污点。所有节点都包含在内。如果此值为 nil,则行为等效于 Ignore 策略。这是一个 Beta 级功能,默认情况下由 NodeInclusionPolicyInPodTopologySpread 功能标志启用。

topologyKey

字符串

TopologyKey 是节点标签的键。具有此键和相同值的标签的节点被认为位于相同的拓扑中。我们将每个 视为一个“桶”,并尝试将均衡数量的 Pod 放入每个桶中。我们将域定义为拓扑的特定实例。此外,我们将合格域定义为其节点满足 nodeAffinityPolicy 和 nodeTaintsPolicy 要求的域。例如,如果 TopologyKey 为“kubernetes.io/hostname”,则每个节点都是该拓扑的域。并且,如果 TopologyKey 为“topology.kubernetes.io/zone”,则每个区域都是该拓扑的域。这是一个必填字段。

whenUnsatisfiable

字符串

WhenUnsatisfiable 指示如果 Pod 不满足分布约束,该如何处理。- DoNotSchedule(默认)告诉调度器不要调度它。- ScheduleAnyway 告诉调度器在任何位置调度 Pod,但优先考虑有助于减少 skew 的拓扑结构。当且仅当该 Pod 的每个可能的节点分配都会在某些拓扑上违反“MaxSkew”时,约束才被认为对于传入的 Pod 是“不可满足的”。例如,在 3 个区域的集群中,MaxSkew 设置为 1,并且具有相同 labelSelector 的 Pod 分布为 3/1/1:| zone1 | zone2 | zone3 | | P P P | P | P | 如果 WhenUnsatisfiable 设置为 DoNotSchedule,则传入的 Pod 只能调度到 zone2(zone3)以变为 3/2/1(3/1/2),因为 zone2(zone3)上的 ActualSkew(2-1)满足 MaxSkew(1)。换句话说,集群仍然可能不平衡,但调度器不会使其更加不平衡。这是一个必填字段。

.spec.topologySpreadConstraints[].labelSelector

描述

LabelSelector 用于查找匹配的 Pod。匹配此 LabelSelector 的 Pod 将被计算以确定其对应拓扑域中的 Pod 数量。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

.spec.topologySpreadConstraints[].labelSelector.matchExpressions

描述

matchExpressions 是标签选择器要求的列表。这些要求使用 AND 运算连接。

类型

数组

.spec.topologySpreadConstraints[].labelSelector.matchExpressions[]

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组 (字符串)

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

.status

描述

ImageRegistryStatus 报告镜像注册表的运行状态。

类型

对象

必需
  • 存储 (storage)

  • storageManaged

属性 类型 描述

conditions

数组

conditions 是条件及其状态的列表

conditions[]

对象

OperatorCondition 只是标准的条件字段。

generations

数组

generations 用于确定何时需要协调项目或项目以需要React的方式发生了更改。

generations[]

对象

GenerationStatus 跟踪给定资源的生成,以便可以做出有关强制更新的决定。

observedGeneration

整数

observedGeneration 是您已处理的最后一代更改

readyReplicas

整数

readyReplicas 指示有多少个副本已准备好并处于所需状态

存储 (storage)

对象

storage 指示注册表的当前应用存储配置。

storageManaged

布尔值

storageManaged 已弃用,请参考 Storage.managementState

version

字符串

version 是此可用性适用的级别

.status.conditions

描述

conditions 是条件及其状态的列表

类型

数组

.status.conditions[]

描述

OperatorCondition 只是标准的条件字段。

类型

对象

必需
  • type

属性 类型 描述

lastTransitionTime

字符串

message

字符串

reason

字符串

状态

字符串

type

字符串

.status.generations

描述

generations 用于确定何时需要协调项目或项目以需要React的方式发生了更改。

类型

数组

.status.generations[]

描述

GenerationStatus 跟踪给定资源的生成,以便可以做出有关强制更新的决定。

类型

对象

属性 类型 描述

group

字符串

group 是您正在跟踪的事物的组

hash

字符串

hash 是为没有生成但对内容敏感的资源(如密钥和配置映射)设置的可选字段

lastGeneration

整数

lastGeneration 是所涉及的工作负载控制器的最后一代

name

字符串

name 是您正在跟踪的事物的名称

namespace

字符串

namespace 是您正在跟踪的事物所在的位置

resource

字符串

resource 是您正在跟踪的事物的资源类型

.status.storage

描述

storage 指示注册表的当前应用存储配置。

类型

对象

属性 类型 描述

azure

对象

azure 表示使用 Azure Blob 存储的配置。

emptyDir

对象

emptyDir 表示 pod 的主机节点上的临时存储。警告:此存储不能与超过 1 个副本一起使用,不适合生产环境。当 pod 因任何原因从节点中移除时,emptyDir 中的数据将永久删除。

gcs

对象

gcs 表示使用 Google Cloud Storage 的配置。

ibmcos

对象

ibmcos 表示使用 IBM Cloud Object Storage 的配置。

管理状态 (managementState)

字符串

managementState 指示操作员是否管理底层存储单元。如果设置为 Managed,则当此操作员被移除时,操作员将移除存储。

oss

对象

Oss 表示使用阿里云对象存储服务的配置。

pvc

对象

pvc 表示使用 PersistentVolumeClaim 的配置。

s3

对象

s3 表示使用 Amazon Simple Storage Service 的配置。

swift

对象

swift 表示使用 OpenStack 对象存储的配置。

.status.storage.azure

描述

azure 表示使用 Azure Blob 存储的配置。

类型

对象

属性 类型 描述

accountName

字符串

accountName 定义注册表将使用的帐户。

cloudName

字符串

cloudName 是注册表将使用的 Azure 云环境的名称。如果为空,操作员将根据基础架构对象设置它。

container

字符串

container 定义注册表将使用的 Azure 容器。

networkAccess

对象

networkAccess 定义存储帐户的网络访问属性。默认为类型:External。

.status.storage.azure.networkAccess

描述

networkAccess 定义存储帐户的网络访问属性。默认为类型:External。

类型

对象

属性 类型 描述

internal

对象

internal 定义 vnet 和子网名称,以配置专用端点并将其连接到存储帐户以使其私有。当 type: Internal 且 internal 未设置时,镜像注册表操作员将发现 vnet 和子网名称,并生成一个专用端点名称。

type

字符串

type 是将用于存储帐户的网络访问级别。type: Internal 表示存储帐户将是私有的,type: External 表示存储帐户将是公开可访问的。内部存储帐户仅在集群的 vnet 内公开。外部存储帐户在互联网上公开暴露。当使用 type: Internal 时,可以可选地指定 vnetName、subNetName 和 privateEndpointName。如果未指定,镜像注册表操作员将发现 vnet 和子网名称,并生成 privateEndpointName。默认为“External”。

.status.storage.azure.networkAccess.internal

描述

internal 定义 vnet 和子网名称,以配置专用端点并将其连接到存储帐户以使其私有。当 type: Internal 且 internal 未设置时,镜像注册表操作员将发现 vnet 和子网名称,并生成一个专用端点名称。

类型

对象

属性 类型 描述

networkResourceGroupName

字符串

networkResourceGroupName 是集群的 vnet 和子网所在的资源组名称。省略时,注册表操作员将使用集群资源组(来自基础架构状态)。如果在 install-config.yaml 中设置 networkResourceGroupName,则该值将自动使用(对于使用 publish:Internal 配置的集群)。请注意,vnet 和子网都必须位于同一个资源组中。它必须介于 1 到 90 个字符之间,并且只能由字母数字字符、连字符 (-)、句点 (.) 和下划线 (_) 组成,并且不能以句点结尾。

privateEndpointName

字符串

privateEndpointName 是注册表的专用端点名称。提供时,注册表将将其用作其将为存储帐户创建的专用端点的名称。省略时,注册表将生成一个。它必须介于 2 到 64 个字符之间,并且只能由字母数字字符、连字符 (-)、句点 (.) 和下划线 (_) 组成。它必须以字母数字字符开头,并以字母数字字符或下划线结尾。

subnetName

字符串

subnetName 是注册表在其上运行的子网的名称。省略时,注册表操作员将通过使用 vnet 资源中的kubernetes.io_cluster.<cluster-id>标签,然后使用列出的子网之一来发现并设置它。使用网络安全组保护子网的高级集群网络配置应确保提供的 subnetName 能够访问 Azure 存储服务。它必须介于 1 到 80 个字符之间,并且只能由字母数字字符、连字符 (-)、句点 (.) 和下划线 (_) 组成。

vnetName

字符串

vnetName 是注册表在其上运行的 vnet 的名称。省略时,注册表操作员将通过使用 vnet 资源中的kubernetes.io_cluster.<cluster-id>标签来发现并设置它。此标签由安装程序自动设置。通常,这将与集群相同的 vnet。高级集群网络配置应确保提供的 vnetName 是镜像注册表 pod 运行的节点的 vnet。它必须介于 2 到 64 个字符之间,并且只能由字母数字字符、连字符 (-)、句点 (.) 和下划线 (_) 组成。它必须以字母数字字符开头,并以字母数字字符或下划线结尾。

.status.storage.emptyDir

描述

emptyDir 表示 pod 的主机节点上的临时存储。警告:此存储不能与超过 1 个副本一起使用,不适合生产环境。当 pod 因任何原因从节点中移除时,emptyDir 中的数据将永久删除。

类型

对象

.status.storage.gcs

描述

gcs 表示使用 Google Cloud Storage 的配置。

类型

对象

属性 类型 描述

bucket

字符串

bucket 是您想要存储注册表数据的存储桶名称。可选,如果未提供,将生成。

keyID

字符串

keyID 是要用于加密的 KMS 密钥 ID。可选,存储桶在 GCP 上默认加密。这允许使用自定义加密密钥。

projectID

字符串

projectID 是此存储桶应关联到的 GCP 项目的项目 ID。

region

字符串

region 是存储桶所在的 GCS 位置。可选,将根据已安装的 GCS 区域进行设置。

.status.storage.ibmcos

描述

ibmcos 表示使用 IBM Cloud Object Storage 的配置。

类型

对象

属性 类型 描述

bucket

字符串

bucket 是您想要存储注册表数据的存储桶名称。可选,如果未提供,将生成。

location

字符串

location 是存储桶所在的 IBM Cloud 位置。可选,将根据已安装的 IBM Cloud 位置进行设置。

resourceGroupName

字符串

resourceGroupName 是此存储桶及其服务实例关联到的 IBM Cloud 资源组的名称。可选,将根据已安装的 IBM Cloud 资源组进行设置。

resourceKeyCRN

字符串

resourceKeyCRN 是为服务实例创建的 IBM Cloud 资源密钥的 CRN。通常称为服务凭据,并且必须包含 HMAC 类型凭据。可选,如果未提供,将进行计算。

serviceInstanceCRN

字符串

serviceInstanceCRN 是此存储桶关联到的 IBM Cloud 对象存储服务实例的 CRN。可选,如果未提供,将进行计算。

.status.storage.oss

描述

Oss 表示使用阿里云对象存储服务的配置。

类型

对象

属性 类型 描述

bucket

字符串

Bucket 是您想要存储注册表数据的存储桶名称。关于 Bucket 命名,更多详细信息请查看[官方文档](https://www.alibabacloud.com/help/doc-detail/257087.htm)。空值表示无意见,平台将选择默认值,该默认值可能会随时间推移而更改。目前,默认值将以 `<集群ID>-image-registry-<区域>-<27个随机字符>` 的形式自动生成。

加密

对象

Encryption 指定您是否希望在服务器端加密您的数据。更多详细信息,请查看[官方文档](https://www.alibabacloud.com/help/doc-detail/117914.htm)。

端点访问权限

字符串

EndpointAccessibility 指定注册表是否使用 OSS VPC 内部端点。空值表示无意见,平台将选择默认值,该默认值可能会随时间推移而更改。目前,默认值为 `Internal`。

region

字符串

Region 是您的存储桶所在的阿里云区域。区域列表,请查看[官方文档](https://www.alibabacloud.com/help/doc-detail/31837.html)。空值表示无意见,平台将选择默认值,该默认值可能会随时间推移而更改。目前,默认值将基于已安装的阿里云区域。

.status.storage.oss.encryption

描述

Encryption 指定您是否希望在服务器端加密您的数据。更多详细信息,请查看[官方文档](https://www.alibabacloud.com/help/doc-detail/117914.htm)。

类型

对象

属性 类型 描述

kms

对象

KMS(密钥管理服务)是一种加密类型,它包含 KMS KeyID 的结构。

方法

字符串

Method 定义了可用的不同加密模式。空值表示无意见,平台将选择默认值,该默认值可能会随时间推移而更改。目前,默认值为 `AES256`。

.status.storage.oss.encryption.kms

描述

KMS(密钥管理服务)是一种加密类型,它包含 KMS KeyID 的结构。

类型

对象

必需
  • keyID

属性 类型 描述

keyID

字符串

KeyID 包含 KMS 加密密钥 ID。

.status.storage.pvc

描述

pvc 表示使用 PersistentVolumeClaim 的配置。

类型

对象

属性 类型 描述

claim

字符串

claim 定义要使用的持久卷声明的名称。

.status.storage.s3

描述

s3 表示使用 Amazon Simple Storage Service 的配置。

类型

对象

属性 类型 描述

bucket

字符串

bucket 是您想要存储注册表数据的存储桶名称。可选,如果未提供,将生成。

chunkSizeMiB

整数

chunkSizeMiB 定义 S3 API 的分块上传块的大小。S3 API 要求分块上传块至少为 5MiB。省略此值表示无意见,平台将选择合理的默认值,该默认值可能会随时间推移而更改。当前默认值为 10 MiB。该值是以 MiB 为单位的整数。最小值为 5,最大值为 5120 (5 GiB)。

CloudFront

对象

cloudFront 将 Amazon Cloudfront 配置为注册表中的存储中间件。

加密

布尔值

encrypt 指定注册表是否以加密格式存储镜像。可选,默认为 false。

keyID

字符串

keyID 是用于加密的 KMS 密钥 ID。可选,Encrypt 必须为 true,否则此参数将被忽略。

region

字符串

region 是您的存储桶所在的 AWS 区域。可选,将根据已安装的 AWS 区域设置。

区域端点

字符串

regionEndpoint 是与 S3 兼容的存储服务的端点。它应该是一个包含方案的有效 URL,例如 https://s3.example.com。可选,根据提供的 Region 默认设置。

受信任的CA

对象

trustedCA 是对包含 CA 证书包的 ConfigMap 的引用。镜像注册表及其操作员使用此证书包中的证书来验证 S3 服务器证书。trustedCA 引用的 ConfigMap 的命名空间为 "openshift-config"。ConfigMap 中证书包的键为 "ca-bundle.crt"。

虚拟主机样式

布尔值

virtualHostedStyle 启用使用具有自定义 RegionEndpoint 的 S3 虚拟主机样式存储桶路径。可选,默认为 false。

.status.storage.s3.cloudFront

描述

cloudFront 将 Amazon Cloudfront 配置为注册表中的存储中间件。

类型

对象

必需
  • baseURL

  • 密钥对ID

  • 私钥

属性 类型 描述

baseURL

字符串

baseURL 包含 Cloudfront 提供服务的 SCHEME://HOST[/PATH]。

持续时间

字符串

duration 是 Cloudfront 会话的持续时间。

密钥对ID

字符串

keypairID 是 AWS 提供的密钥对 ID。

私钥

对象

privateKey 指向包含 AWS 提供的私钥的 Secret。

.status.storage.s3.cloudFront.privateKey

描述

privateKey 指向包含 AWS 提供的私钥的 Secret。

类型

对象

必需
  • key

属性 类型 描述

key

字符串

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

name

字符串

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

可选

布尔值

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

.status.storage.s3.trustedCA

描述

trustedCA 是对包含 CA 证书包的 ConfigMap 的引用。镜像注册表及其操作员使用此证书包中的证书来验证 S3 服务器证书。trustedCA 引用的 ConfigMap 的命名空间为 "openshift-config"。ConfigMap 中证书包的键为 "ca-bundle.crt"。

类型

对象

属性 类型 描述

name

字符串

name 是引用的 ConfigMap 的 metadata.name。此字段必须符合标准的 ConfigMap 命名限制。名称必须仅由字母数字字符、连字符 (-) 和句点 (.) 组成。其最大长度为 253 个字符。如果此字段未指定或为空字符串,则将使用默认信任捆绑包。

.status.storage.swift

描述

swift 表示使用 OpenStack 对象存储的配置。

类型

对象

属性 类型 描述

authURL

字符串

authURL 定义用于获取身份验证令牌的 URL。

authVersion

字符串

authVersion 指定 OpenStack Auth 的版本。

container

字符串

container 定义用于存储注册表数据的 Swift 容器的名称。

domain

字符串

domain 指定 Identity v3 API 的 Openstack 域名。

domainID

字符串

domainID 指定 Identity v3 API 的 Openstack 域名 ID。

regionName

字符串

regionName 定义容器所在的 Openstack 区域。

tenant

字符串

tenant 定义注册表要使用的 Openstack 租户名称。

tenantID

字符串

tenant 定义注册表要使用的 Openstack 租户 ID。

API 端点

以下API端点可用:

  • /apis/imageregistry.operator.openshift.io/v1/configs

    • DELETE: 删除Config集合

    • GET: 列出Config类型的对象

    • POST: 创建一个Config

  • /apis/imageregistry.operator.openshift.io/v1/configs/{name}

    • DELETE: 删除一个Config

    • GET: 读取指定的Config

    • PATCH: 部分更新指定的Config

    • PUT: 替换指定的Config

  • /apis/imageregistry.operator.openshift.io/v1/configs/{name}/status

    • GET: 读取指定的Config的状态

    • PATCH: 部分更新指定的Config的状态

    • PUT: 替换指定的Config的状态

/apis/imageregistry.operator.openshift.io/v1/configs

HTTP 方法

DELETE

描述

删除Config集合

表1. HTTP响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出Config类型的对象

表2. HTTP响应
HTTP 代码 响应体

200 - OK

ConfigList 模式

401 - 未授权

HTTP 方法

POST

描述

创建一个Config

表3. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示修改不应该持久化。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:所有dry run阶段都将被处理

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的最后一个重复字段之前的任何重复字段。这是v1.23之前默认的行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是v1.23+的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使请求失败并返回BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表4. 请求体参数
参数 类型 描述

body

Config 模式

表5. HTTP响应
HTTP 代码 响应体

200 - OK

Config 模式

201 - 已创建

Config 模式

202 - 已接受

Config 模式

401 - 未授权

/apis/imageregistry.operator.openshift.io/v1/configs/{name}

表6. 全局路径参数
参数 类型 描述

name

字符串

Config的名称

HTTP 方法

DELETE

描述

删除一个Config

表7. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示修改不应该持久化。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:所有dry run阶段都将被处理

表8. HTTP响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的Config

表9. HTTP响应
HTTP 代码 响应体

200 - OK

Config 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的Config

表10. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示修改不应该持久化。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:所有dry run阶段都将被处理

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的最后一个重复字段之前的任何重复字段。这是v1.23之前默认的行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是v1.23+的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使请求失败并返回BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表11. HTTP响应
HTTP 代码 响应体

200 - OK

Config 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的Config

表12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示修改不应该持久化。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:所有dry run阶段都将被处理

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的最后一个重复字段之前的任何重复字段。这是v1.23之前默认的行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是v1.23+的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使请求失败并返回BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表13. 请求体参数
参数 类型 描述

body

Config 模式

表14. HTTP响应
HTTP 代码 响应体

200 - OK

Config 模式

201 - 已创建

Config 模式

401 - 未授权

/apis/imageregistry.operator.openshift.io/v1/configs/{name}/status

表15. 全局路径参数
参数 类型 描述

name

字符串

Config的名称

HTTP 方法

GET

描述

读取指定的Config的状态

表16. HTTP响应
HTTP 代码 响应体

200 - OK

Config 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的Config的状态

表17. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示修改不应该持久化。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:所有dry run阶段都将被处理

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的最后一个重复字段之前的任何重复字段。这是v1.23之前默认的行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是v1.23+的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使请求失败并返回BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表18. HTTP响应
HTTP 代码 响应体

200 - OK

Config 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的Config的状态

表19. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示修改不应该持久化。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:所有dry run阶段都将被处理

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的最后一个重复字段之前的任何重复字段。这是v1.23之前默认的行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是v1.23+的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使请求失败并返回BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表20. 请求体参数
参数 类型 描述

body

Config 模式

表21. HTTP响应
HTTP 代码 响应体

200 - OK

Config 模式

201 - 已创建

Config 模式

401 - 未授权