第 12 章 MachineOSConfig [machineconfiguration.openshift.io/v1]


描述
MachineOSConfig 描述了由 MCO 兼容性级别 1 管理的构建过程配置:在主发行版本中至少为 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • spec

12.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 描述了 machineosconfig 的配置

status

object

status 描述了 machineosconfig 的状态

12.1.1. .spec

描述
spec 描述了 machineosconfig 的配置
类型
object
必填
  • imageBuilder
  • machineConfigPool
  • renderedImagePushSecret
  • renderedImagePushSpec
Expand
属性类型描述

baseImagePullSecret

object

baseImagePullSecret 是用来拉取基础镜像的 secret。如果提供,则必须在 openshift-machine-config-operator 命名空间中。如果没有指定,则默认为使用集群范围的 pull secret。这会在集群安装过程中为集群提供,并作为 secret 在 openshift-config 命名空间中提供。

Containerfile

数组

Containerfile 描述了用户指定了要构建到镜像中的自定义数据。这通常也称为 Dockerfile,您可以将其视为这样。内容是 Dockerfile 的内容。有关 spec 参考,请参阅 https://github.com/containers/common/blob/main/docs/Containerfile.5.md。这是按架构名称(如 AMD64)索引的列表,允许为每个架构指定一个 containerFile,最多为 4。

containerFile[]

object

MachineOSContainerfile 包含用户要在镜像中构建的所有自定义内容

imageBuilder

object

ImageBuilder 描述了此 MachineOSConfig 触发的每个构建中将使用哪个镜像构建器。目前支持的类型:作业

machineConfigPool

object

MachineConfigPool 是构建所在的池。Machine Config Operator 将执行构建,并将构建的镜像推出到指定的池。

renderedImagePushSecret

object

renderedImagePushSecret 是用来连接到用户 registry 的 secret。最终的镜像推送和 pull secret 应该分开,并假定主体最小特权。只有托管 MachineConfigController Pod 的节点才会存在具有写入特权的 push secret。所有节点上都需要具有读取只读权限的 pull secret。通过分离两个 secret,写入凭证的风险会降低。

renderedImagePushSpec

string

renderedImagePushSpec 描述了最终镜像的位置。MachineOSConfig 对象将在集群镜像 registry 配置中使用。如果要使用特定于 registry.conf 的镜像或任何其他设置,请通过集群 image.config、ImageContentSourcePolicies、ImageDigestMirrorSet 或 ImageTagMirrorSet 对象在 cluster wide registry.conf 中指定它们。镜像推送 spec 的格式为:host[:port][/namespace]/name:<tag> 或 svc_name.namespace.svc[:port]/repository/name:<tag>。push spec 的长度必须在 1 到 447 个字符之间。

12.1.2. .spec.baseImagePullSecret

描述
baseImagePullSecret 是用来拉取基础镜像的 secret。如果提供,则必须在 openshift-machine-config-operator 命名空间中。如果没有指定,则默认为使用集群范围的 pull secret。这会在集群安装过程中为集群提供,并作为 secret 在 openshift-config 命名空间中提供。
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 是用于推送或拉取此 MachineOSConfig 对象的 secret 的名称。必须包含小写字母数字字符、'-' 或 '.',且必须以字母数字字符开头和结尾。此 secret 必须位于 openshift-machine-config-operator 命名空间中。

12.1.3. .spec.containerFile

描述
Containerfile 描述了用户指定了要构建到镜像中的自定义数据。这通常也称为 Dockerfile,您可以将其视为这样。内容是 Dockerfile 的内容。有关 spec 参考,请参阅 https://github.com/containers/common/blob/main/docs/Containerfile.5.md。这是按架构名称(如 AMD64)索引的列表,允许为每个架构指定一个 containerFile,最多为 4。
类型
数组

12.1.4. .spec.containerFile[]

描述
MachineOSContainerfile 包含用户要在镜像中构建的所有自定义内容
类型
object
必填
  • content
Expand
属性类型描述

containerfileArch

string

containerfileArch 描述了要为其构建此容器文件的架构。此 arch 是可选的。如果用户没有指定构架,则假定内容可应用于所有架构,或在单个架构集群中应用内容:唯一的架构。

content

string

内容是一个嵌入式 Containerfile/Dockerfile,用于定义要构建您的镜像中的内容。请参阅 https://github.com/containers/common/blob/main/docs/Containerfile.5.md 了解 spec 引用。例如,这会将 tree 软件包添加到主机中: FROM 配置 AS final RUN rpm-ostree install tree && \ ostree container commit this is a required 字段,并且最大长度为 4096 个字符。

12.1.5. .spec.imageBuilder

描述
ImageBuilder 描述了此 MachineOSConfig 触发的每个构建中将使用哪个镜像构建器。目前支持的类型:作业
类型
object
必填
  • imageBuilderType
Expand
属性类型描述

imageBuilderType

string

imageBuilderType 指定要用于构建镜像的后端。有效选项包括:作业

12.1.6. .spec.machineConfigPool

描述
MachineConfigPool 是构建所在的池。Machine Config Operator 将执行构建,并将构建的镜像推出到指定的池。
类型
object
必填
  • name
Expand
属性类型描述

name

string

MachineConfigPool 对象的名称。这个值最多 253 个字符,且必须包含小写字母数字字符、连字符和句点,并且应以字母数字字符开头和结尾。

12.1.7. .spec.renderedImagePushSecret

描述
renderedImagePushSecret 是用来连接到用户 registry 的 secret。最终的镜像推送和 pull secret 应该分开,并假定主体最小特权。只有托管 MachineConfigController Pod 的节点才会存在具有写入特权的 push secret。所有节点上都需要具有读取只读权限的 pull secret。通过分离两个 secret,写入凭证的风险会降低。
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 是用于推送或拉取此 MachineOSConfig 对象的 secret 的名称。必须包含小写字母数字字符、'-' 或 '.',且必须以字母数字字符开头和结尾。此 secret 必须位于 openshift-machine-config-operator 命名空间中。

12.1.8. .status

描述
status 描述了 machineosconfig 的状态
类型
object
Expand
属性类型描述

conditions

数组

条件是与对象相关的条件。

conditions[]

object

condition 包含此 API 资源当前状态的一个方面的详细信息。

currentImagePullSpec

string

currentImagePullSpec 是 MCO 用来拉取新 OSImage 的完全限定镜像拉取 spec。这包括 sha256 镜像摘要。当 Machine Config Operator 的构建控制器成功完成构建时,会生成它,并从对应的 MachineOSBuild 对象的 FinalImagePushSpec 填充。这可能会在对 spec 更改完成后更改,这会导致新镜像构建,但不会删除。镜像拉取 spec 的格式是:host[:port][/namespace]/name@sha256:<digest>,其中摘要长度必须为 64 个字符,且仅包含小写十六进制字符、a-f 和 0-9。整个 spec 的长度必须在 1 到 447 个字符之间。

machineOSBuild

object

machineOSBuild 是对此 MachineOSConfig 的 MachineOSBuild 对象的引用,其中包含镜像构建的状态。

observedGeneration

整数

observedGeneration 代表 Machine Config Operator 的构建控制器观察到的 MachineOSConfig 对象的生成。

12.1.9. .status.conditions

描述
条件是与对象相关的条件。
类型
array

12.1.10. .status.conditions[]

描述
condition 包含此 API 资源当前状态的一个方面的详细信息。
类型
object
必填
  • lastTransitionTime
  • message
  • reason
  • status
  • type
Expand
属性类型描述

lastTransitionTime

字符串

lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。

message

字符串

Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。

observedGeneration

整数

observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。

reason

字符串

reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。

status

字符串

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

type

字符串

CamelCase 或 foo.example.com/CamelCase 中的条件类型。

12.1.11. .status.machineOSBuild

描述
machineOSBuild 是对此 MachineOSConfig 的 MachineOSBuild 对象的引用,其中包含镜像构建的状态。
类型
object
必填
  • group
  • name
  • resource
Expand
属性类型描述

group

字符串

引用的组。名称只能包含小写字母数字字符 '-' 或 '.',并使用字母数字字符开头/结束。示例: ""、"apps"、"build.openshift.io"等。

name

字符串

引用的名称。名称只能包含小写字母数字字符 '-' 或 '.',并使用字母数字字符开头/结束。

namespace

字符串

引用的命名空间。这个值应该最多包含 63 个字符,且只能包含小写字母数字字符和连字符,并且应以字母数字字符开头和结尾。

resource

字符串

引用的资源。这个值应该最多包含 63 个字符,且只能包含小写字母数字字符和连字符,并以字母字符开头,并以字母数字字符结尾。示例:"deployments", "deploymentconfigs", "pods" 等。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat