第 7 章 MachineConfigPool [machineconfiguration.openshift.io/v1]


描述

MachineConfigPool 描述了 MachineConfig 池。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • spec

7.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

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

spec

object

spec 包含所需的机器配置池配置。

status

object

status 包含有关机器配置池的信息。

7.1.1. .spec

描述
spec 包含所需的机器配置池配置。
类型
object
Expand
属性类型描述

配置

对象

机器配置池的目标 MachineConfig 对象。

machineConfigSelector

对象

machineConfigSelector 为 MachineConfig 指定标签选择器。有关标签和选择器的工作方式,请参阅 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

maxUnavailable

integer-or-string

maxUnavailable 定义池中可在更新期间不可用的整数或节点百分比。这包括节点因任何原因不可用,包括用户启动的 cordons、故障节点等。默认值为 1。

值大于 1 表示更新期间多个节点不可用,这可能会影响您剩余节点上的工作负载压力。您不能将此值设置为 0 以停止更新(它将默认为 1); 要停止更新,请使用 'paused' 属性。排空将尊重 Pod Disruption Budgets (PDB),如 etcd 仲裁保护,即使 maxUnavailable 大于 1。

nodeSelector

对象

nodeSelector 为机器指定标签选择器

paused

布尔值

paused 指定是否应该停止对此机器配置池的更改。这包括生成新的 desiredMachineConfig 和机器更新。

pinnedImageSets

数组

pinnedImageSets 为池指定 PinnedImageSetRef 对象序列。此池中的节点将预加载并固定 PinnedImageSet 中定义的镜像。在拉取镜像前,MachineDaemon 可确保所有镜像的总未压缩大小不超过可用资源。如果镜像的总大小超过可用资源,控制器会向 MachineConfigPool 报告 Degraded 状态,且不会尝试拉取任何镜像。另外,为了帮助确保 kubelet 可以降低存储风险,只有在为每个集合拉取所有镜像后,fix_image 配置和后续的服务重新加载才会发生。来自多个 PinnedImageSets 的镜像会被加载,并按顺序固定列出。将跳过重复和现有的镜像。

任何 prefetch 或 pin 镜像失败都会导致 Degraded 池。解决这些故障是用户负责的。管理员应积极主动确保事先存在适当的存储和正确的镜像身份验证。

pinnedImageSets[]

object

 

7.1.2. .spec.configuration

描述
机器配置池的目标 MachineConfig 对象。
类型
object
Expand
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

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

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

source

array

source 是用于生成 内容 中指定的单个 MachineConfig 对象的 MachineConfig 对象列表。

source[]

对象

ObjectReference 包含足够信息供您检查或修改引用的对象。

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

7.1.3. .spec.configuration.source

描述
source 是用于生成 内容 中指定的单个 MachineConfig 对象的 MachineConfig 对象列表。
类型
array

7.1.4. .spec.configuration.source[]

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。
类型
object
Expand
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

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

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

7.1.5. .spec.machineConfigSelector

描述
machineConfigSelector 为 MachineConfig 指定标签选择器。有关标签和选择器的工作方式,请参阅 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
类型
object
Expand
属性类型描述

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

7.1.6. .spec.machineConfigSelector.matchExpressions

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

7.1.7. .spec.machineConfigSelector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

7.1.8. .spec.nodeSelector

描述
nodeSelector 为机器指定标签选择器
类型
object
Expand
属性类型描述

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

7.1.9. .spec.nodeSelector.matchExpressions

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

7.1.10. .spec.nodeSelector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

7.1.11. .spec.pinnedImageSets

描述

pinnedImageSets 为池指定 PinnedImageSetRef 对象序列。此池中的节点将预加载并固定 PinnedImageSet 中定义的镜像。在拉取镜像前,MachineDaemon 可确保所有镜像的总未压缩大小不超过可用资源。如果镜像的总大小超过可用资源,控制器会向 MachineConfigPool 报告 Degraded 状态,且不会尝试拉取任何镜像。另外,为了帮助确保 kubelet 可以降低存储风险,只有在为每个集合拉取所有镜像后,fix_image 配置和后续的服务重新加载才会发生。来自多个 PinnedImageSets 的镜像会被加载,并按顺序固定列出。将跳过重复和现有的镜像。

任何 prefetch 或 pin 镜像失败都会导致 Degraded 池。解决这些故障是用户负责的。管理员应积极主动确保事先存在适当的存储和正确的镜像身份验证。

类型
数组

7.1.12. .spec.pinnedImageSets[]

描述
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 是对 PinnedImageSet 的名称的引用。必须遵循 RFC-1123 (https://tools.ietf.org/html/rfc1123)。由多个句点分开(.)片段组成,每个片段由字母数字字符和连字符(-)组成,必须以字母数字字符开头和结尾,长度最多 63 个字符。名称的总长度不能超过 253 个字符。

7.1.13. .status

描述
status 包含有关机器配置池的信息。
类型
object
Expand
属性类型描述

certExpirys

数组

certExpirys 追踪重要证书过期数据

certExpirys[]

object

ceryExpiry 包含捆绑包名称和到期日期

conditions

array

条件代表当前状态的最新可用影响。

conditions[]

对象

MachineConfigPoolCondition 包含 MachineConfigPool 的条件信息。

配置

对象

configuration 代表机器配置池的当前 MachineConfig 对象。

degradedMachineCount

整数

DEGRADEDMACHINECOUNT 代表标记为 degraded (或不协调)的机器总数。如果应用配置失败,则节点标记为 degraded。

machineCount

整数

MACHINECOUNT 代表机器配置池中的机器总数。

observedGeneration

整数

observedGeneration 代表控制器观察到的生成。

poolSynchronizersStatus

数组

poolSynchronizersStatus 是池 synchronizers 管理的机器的状态。

poolSynchronizersStatus[]

object

 

readyMachineCount

整数

READYMACHINECOUNT 代表池目标的就绪机器总数。

unavailableMachineCount

整数

unavailableMachineCount 代表池目标不可用(非就绪)机器的总数量。如果节点处于 update 状态或 NodeReady 条件为 false,则节点标记为不可用。

updatedMachineCount

整数

UPDATEDMACHINECOUNT 代表池目标的机器总数,其配置是 CurrentMachineConfig。

7.1.14. .status.certExpirys

描述
certExpirys 追踪重要证书过期数据
类型
数组

7.1.15. .status.certExpirys[]

描述
ceryExpiry 包含捆绑包名称和到期日期
类型
object
必填
  • bundle
  • subject
Expand
属性类型描述

bundle

string

bundle 是主题证书所在的捆绑包的名称

expiry

string

expiry 是证书不再有效的日期

subject

string

主题是证书的主题

7.1.16. .status.conditions

描述
条件代表当前状态的最新可用影响。
类型
array

7.1.17. .status.conditions[]

描述
MachineConfigPoolCondition 包含 MachineConfigPool 的条件信息。
类型
object
Expand
属性类型描述

lastTransitionTime

``

lastTransitionTime 与此条件的最后状态更改对应的时间戳。

message

字符串

Message 是最后一次转换的详细信息的人类可读描述,补充原因。

reason

字符串

原因是对条件最后一次转换的简短机器可读说明。

status

字符串

条件的状态,之一('True', 'False', 'Unknown')。

type

字符串

条件类型,当前('Done', 'Updating', 'Failed')。

7.1.18. .status.configuration

描述
configuration 代表机器配置池的当前 MachineConfig 对象。
类型
object
Expand
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

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

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

source

array

source 是用于生成 内容 中指定的单个 MachineConfig 对象的 MachineConfig 对象列表。

source[]

对象

ObjectReference 包含足够信息供您检查或修改引用的对象。

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

7.1.19. .status.configuration.source

描述
source 是用于生成 内容 中指定的单个 MachineConfig 对象的 MachineConfig 对象列表。
类型
array

7.1.20. .status.configuration.source[]

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。
类型
object
Expand
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。

kind

字符串

引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

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

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

7.1.21. .status.poolSynchronizersStatus

描述
poolSynchronizersStatus 是池 synchronizers 管理的机器的状态。
类型
数组

7.1.22. .status.poolSynchronizersStatus[]

描述
类型
object
必填
  • availableMachineCount
  • machineCount
  • poolSynchronizerType
  • readyMachineCount
  • unavailableMachineCount
  • updatedMachineCount
Expand
属性类型描述

availableMachineCount

整数

availableMachineCount 是节点同步程序管理的机器数量。

machineCount

整数

MACHINECOUNT 是节点同步器管理的机器数量。

observedGeneration

整数

observedGeneration 是应用的最后生成更改。

poolSynchronizerType

string

poolSynchronizerType 描述了池 synchronizer 的类型。

readyMachineCount

整数

READYMACHINECOUNT 是节点同步器处于就绪状态的机器数量。

unavailableMachineCount

整数

unavailableMachineCount 是节点同步管理的机器数量,但不可用。

updatedMachineCount

整数

UPDATEDMACHINECOUNT 是节点同步程序更新的机器数量。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat