机器 API


OpenShift Container Platform 4.15

机器 API 的参考指南

Red Hat OpenShift Documentation Team

摘要

本文档描述了 OpenShift Container Platform 机器 API 对象及其详细规格。

第 1 章 机器 API

1.1. ContainerRuntimeConfig [machineconfiguration.openshift.io/v1]

描述
ContainerRuntimeConfig 描述了自定义容器运行时配置。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
对象

1.2. ControllerConfig [machineconfiguration.openshift.io/v1]

描述
ControllerConfig 描述了 MachineConfigController 的配置。目前仅用于驱动 TemplateController 生成的 MachineConfig 对象。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object

1.3. ControlPlaneMachineSet [machine.openshift.io/v1]

描述
ControlPlaneMachineSet 可确保在任何给定时间运行指定数量的 control plane 机器副本。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
对象

1.4. KubeletConfig [machineconfiguration.openshift.io/v1]

描述
KubeletConfig 描述自定义 Kubelet 配置。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
对象

1.5. MachineConfig [machineconfiguration.openshift.io/v1]

描述
MachineConfig 定义机器兼容性级别 1 的配置:在主发行版本中至少为 12 个月或 3 个次版本(以更长的时间为准)。
类型
object

1.6. MachineConfigNode [machineconfiguration.openshift.io/v1alpha1]

描述
MachineConfigNode 描述了系统兼容性级别 4 中的机器健康状况:不提供兼容性,API 可能会因为任何原因而改变。这些功能不应由需要长期支持的应用程序使用。
类型
对象

1.7. MachineConfigPool [machineconfiguration.openshift.io/v1]

描述
MachineConfigPool 描述了 MachineConfig 池。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
对象

1.8. MachineHealthCheck [machine.openshift.io/v1beta1]

描述
MachineHealthCheck 是机器健康检查 API 兼容性级别 2 的 Schema:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
类型
对象

1.9. Machine [machine.openshift.io/v1beta1]

描述
机器是机器 API 兼容性级别 2 的 Schema:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
类型
对象

1.10. MachineSet [machine.openshift.io/v1beta1]

描述
MachineSet 确保在任意给定时间运行指定数量的机器副本。兼容性级别 2:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
类型
对象

第 2 章 ContainerRuntimeConfig [machineconfiguration.openshift.io/v1]

描述
ContainerRuntimeConfig 描述了自定义容器运行时配置。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • spec

2.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

对象

ContainerRuntimeConfigSpec 定义 ContainerRuntimeConfig 的所需状态

status

对象

ContainerRuntimeConfigStatus 定义 ContainerRuntimeConfig 的观察状态

2.1.1. .spec

描述
ContainerRuntimeConfigSpec 定义 ContainerRuntimeConfig 的所需状态
类型
object
必填
  • containerRuntimeConfig
属性类型描述

containerRuntimeConfig

object

ContainerRuntimeConfiguration 定义容器运行时的调优

machineConfigPoolSelector

object

MachineConfigPoolSelector 选择 ContainerRuntimeConfig shoud 应用到的池。nil 选择器将导致没有选择池。

2.1.2. .spec.containerRuntimeConfig

描述
ContainerRuntimeConfiguration 定义容器运行时的调优
类型
object
属性类型描述

defaultRuntime

string

defaultRuntime 是要用作默认值的 OCI 运行时的名称。

logLevel

字符串

Loglevel 根据日志设置为的级别指定日志的详细程度。选项为 fatal、panic、error、warn、info 和 debug。

logSizeMax

integer-or-string

logSizeMax 指定容器日志文件允许的最大值。负数表示没有强制实施大小限制。如果是正数,它必须是 >= 8192 才能匹配/exceed conmon 的读缓冲。

overlaySize

integer-or-string

overlaySize 指定容器镜像的最大大小。此标志可用于对容器镜像的大小设置配额。(默认值:10GB)

pidsLimit

整数

pidsLimit 指定容器中允许的最大进程数

2.1.3. .spec.machineConfigPoolSelector

描述
MachineConfigPoolSelector 选择 ContainerRuntimeConfig shoud 应用到的池。nil 选择器将导致没有选择池。
类型
object
属性类型描述

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

2.1.4. .spec.machineConfigPoolSelector.matchExpressions

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

2.1.5. .spec.machineConfigPoolSelector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

2.1.6. .status

描述
ContainerRuntimeConfigStatus 定义 ContainerRuntimeConfig 的观察状态
类型
object
属性类型描述

conditions

array

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

conditions[]

对象

ContainerRuntimeConfigCondition 定义 ContainerRuntimeConfig 的状态

observedGeneration

整数

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

2.1.7. .status.conditions

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

2.1.8. .status.conditions[]

描述
ContainerRuntimeConfigCondition 定义 ContainerRuntimeConfig 的状态
类型
object
属性类型描述

lastTransitionTime

``

lastTransitionTime 是当前状态对象最后一次更新的时间。

message

字符串

Message 提供有关当前条件的附加信息。这只能被人类使用。

reason

字符串

reason 是条件最后一次转换的原因。原因为 PascalCase

status

字符串

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

type

字符串

type 指定 Operator 协调功能的状态。

2.2. API 端点

可用的 API 端点如下:

  • /apis/machineconfiguration.openshift.io/v1/containerruntimeconfigs

    • DELETE :删除 ContainerRuntimeConfig 集合
    • GET: 列出 ContainerRuntimeConfig 类型的对象
    • POST :创建 ContainerRuntimeConfig
  • /apis/machineconfiguration.openshift.io/v1/containerruntimeconfigs/{name}

    • DELETE :删除 ContainerRuntimeConfig
    • GET :读取指定的 ContainerRuntimeConfig
    • PATCH: 部分更新指定的 ContainerRuntimeConfig
    • PUT :替换指定的 ContainerRuntimeConfig
  • /apis/machineconfiguration.openshift.io/v1/containerruntimeconfigs/{name}/status

    • GET :指定 ContainerRuntimeConfig 的读取状态
    • PATCH: 部分更新指定 ContainerRuntimeConfig 状态
    • PUT :替换指定 ContainerRuntimeConfig 的状态

2.2.1. /apis/machineconfiguration.openshift.io/v1/containerruntimeconfigs

HTTP 方法
DELETE
描述
删除 ContainerRuntimeConfig 集合
表 2.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 ContainerRuntimeConfig 类型的对象
表 2.2. HTTP 响应
HTTP 代码响应正文

200 - OK

ContainerRuntimeConfigList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 ContainerRuntimeConfig
表 2.3. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 2.4. 主体参数
参数类型描述

正文(body)

ContainerRuntimeConfig 模式

 
表 2.5. HTTP 响应
HTTP 代码响应正文

200 - OK

ContainerRuntimeConfig 模式

201 - Created

ContainerRuntimeConfig 模式

202 - Accepted

ContainerRuntimeConfig 模式

401 - Unauthorized

2.2.2. /apis/machineconfiguration.openshift.io/v1/containerruntimeconfigs/{name}

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

name

字符串

ContainerRuntimeConfig 的名称

HTTP 方法
DELETE
描述
delete a ContainerRuntimeConfig
表 2.7. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 2.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 ContainerRuntimeConfig
表 2.9. HTTP 响应
HTTP 代码响应正文

200 - OK

ContainerRuntimeConfig 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 ContainerRuntimeConfig
表 2.10. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 2.11. HTTP 响应
HTTP 代码响应正文

200 - OK

ContainerRuntimeConfig 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 ContainerRuntimeConfig
表 2.12. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 2.13. 主体参数
参数类型描述

正文(body)

ContainerRuntimeConfig 模式

 
表 2.14. HTTP 响应
HTTP 代码响应正文

200 - OK

ContainerRuntimeConfig 模式

201 - Created

ContainerRuntimeConfig 模式

401 - Unauthorized

2.2.3. /apis/machineconfiguration.openshift.io/v1/containerruntimeconfigs/{name}/status

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

name

字符串

ContainerRuntimeConfig 的名称

HTTP 方法
GET
描述
指定 ContainerRuntimeConfig 的读取状态
表 2.16. HTTP 响应
HTTP 代码响应正文

200 - OK

ContainerRuntimeConfig 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 ContainerRuntimeConfig 状态
表 2.17. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 2.18. HTTP 响应
HTTP 代码响应正文

200 - OK

ContainerRuntimeConfig 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 ContainerRuntimeConfig 的状态
表 2.19. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 2.20. 主体参数
参数类型描述

正文(body)

ContainerRuntimeConfig 模式

 
表 2.21. HTTP 响应
HTTP 代码响应正文

200 - OK

ContainerRuntimeConfig 模式

201 - Created

ContainerRuntimeConfig 模式

401 - Unauthorized

第 3 章 ControllerConfig [machineconfiguration.openshift.io/v1]

描述
ControllerConfig 描述了 MachineConfigController 的配置。目前仅用于驱动 TemplateController 生成的 MachineConfig 对象。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • spec

3.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

对象

ControllerConfigSpec 是 ControllerConfig 资源的 spec。

status

对象

ControllerConfigStatus 是 ControllerConfig 的状态

3.1.1. .spec

描述
ControllerConfigSpec 是 ControllerConfig 资源的 spec。
类型
object
必填
  • baseOSContainerImage
  • cloudProviderConfig
  • clusterDNSIP
  • images
  • ipFamilies
  • kubeAPIServerServingCAData
  • releaseImage
  • rootCAData
属性类型描述

additionalTrustBundle

``

additionalTrustBundle 是一个证书捆绑包,将添加到节点可信证书存储中。

baseOSContainerImage

string

BaseOSContainerImage 是用于操作系统更新的 new-format 容器镜像。

baseOSExtensionsContainerImage

string

BaseOSExtensionsContainerImage 是 new-format 容器匹配的 extensions 容器

cloudProviderCAData

``

cloudprovider 指定云供应商 CA 数据

cloudProviderConfig

字符串

cloudProviderConfig 是给定云供应商的配置

clusterDNSIP

字符串

clusterDNSIP 是集群 DNS IP 地址

dns

object

DNS 包含集群 dns 详情

etcdDiscoveryDomain

字符串

etcdDiscoveryDomain 已被弃用,使用 Infra.Status.EtcdDiscoveryDomain

imageRegistryBundleData

数组

imageRegistryBundleData 是 ImageRegistryData

imageRegistryBundleData[]

object

ImageRegistryBundle 包含编写镜像 registry 证书的信息

imageRegistryBundleUserData

数组

imageRegistryBundleUserData 是用户提供的 Image Registry 数据

imageRegistryBundleUserData[]

object

ImageRegistryBundle 包含编写镜像 registry 证书的信息

images

对象(字符串)

镜像是控制器用来在 ./templates/ 下呈现模板的镜像映射

Infra

object

infra 包含基础架构详情

internalRegistryPullSecret

``

internalRegistryPullSecret 是内部 registry 的 pull secret,供 rpm-ostree 用于从内部 registry 拉取镜像(如果存在)

ipFamilies

字符串

ipFamilies 表示集群网络使用的 IP 系列

kubeAPIServerServingCAData

字符串

kubeAPIServerServingCAData managed Kubelet to API Server Cert…​ Rotated

network

``

网络包含额外网络相关信息

networkType

字符串

NetworkType 包含集群的网络类型使用 XXX:这是临时的,并尽快丢弃,而是更好地支持以正确方式启动网络相关服务。nobody 也在集群首次启动并第一次运行时更改此设置,因此如果此更改,则不会重新生成。

osImageURL

string

osImageURL 是包含操作系统更新有效负载的旧格式容器镜像。

platform

字符串

平台已弃用,改为使用 Infra.Status.PlatformStatus.Type

proxy

``

代理包含节点的当前代理配置

pullSecret

对象

pullSecret 是所有机器上需要安装的默认 pull secret。

releaseImage

字符串

releaseImage 是安装集群时使用的镜像

rootCAData

字符串

rootCAData 指定 root CA 数据

3.1.2. .spec.dns

描述
DNS 包含集群 dns 详情
类型
object
必填
  • spec
  • kind
  • apiVersion
属性类型描述

apiVersion

string

apiVersion 定义对象的这个表示法的版本化模式。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind 是一个字符串值,代表此对象的类型。采用驼峰拼写法 (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

3.1.3. .spec.imageRegistryBundleData

描述
imageRegistryBundleData 是 ImageRegistryData
类型
数组

3.1.4. .spec.imageRegistryBundleData[]

描述
ImageRegistryBundle 包含编写镜像 registry 证书的信息
类型
object
必填
  • data
  • file
属性类型描述

data

string

data 包含要写入文件位置的捆绑包的内容

file

string

file 包含将捆绑包写入磁盘的文件的名称

3.1.5. .spec.imageRegistryBundleUserData

描述
imageRegistryBundleUserData 是用户提供的 Image Registry 数据
类型
数组

3.1.6. .spec.imageRegistryBundleUserData[]

描述
ImageRegistryBundle 包含编写镜像 registry 证书的信息
类型
object
必填
  • data
  • file
属性类型描述

data

string

data 包含要写入文件位置的捆绑包的内容

file

string

file 包含将捆绑包写入磁盘的文件的名称

3.1.7. .spec.infra

描述
infra 包含基础架构详情
类型
object
必填
  • spec
  • kind
  • apiVersion
属性类型描述

apiVersion

string

apiVersion 定义对象的这个表示法的版本化模式。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind 是一个字符串值,代表此对象的类型。采用驼峰拼写法 (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

3.1.8. .spec.pullSecret

描述
pullSecret 是所有机器上需要安装的默认 pull secret。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

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

3.1.9. .status

描述
ControllerConfigStatus 是 ControllerConfig 的状态
类型
object
属性类型描述

conditions

array

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

conditions[]

对象

ControllerConfigStatusCondition 包含 ControllerConfigStatus 的条件信息

controllerCertificates

数组

controllerCertificates 代表 MCO 中自动轮转证书的最新可用影响。

controllerCertificates[]

object

ControllerCertificate 包含有关特定证书的信息。

observedGeneration

整数

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

3.1.10. .status.conditions

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

3.1.11. .status.conditions[]

描述
ControllerConfigStatusCondition 包含 ControllerConfigStatus 的条件信息
类型
object
必填
  • status
  • type
属性类型描述

lastTransitionTime

``

lastTransitionTime 是当前状态对象最后一次更新的时间。

message

字符串

Message 提供有关当前条件的附加信息。这只能被人类使用。

reason

字符串

reason 是条件最后一次转换的原因。原因为 PascalCase

status

字符串

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

type

字符串

type 指定 Operator 协调功能的状态。

3.1.12. .status.controllerCertificates

描述
controllerCertificates 代表 MCO 中自动轮转证书的最新可用影响。
类型
数组

3.1.13. .status.controllerCertificates[]

描述
ControllerCertificate 包含有关特定证书的信息。
类型
object
必填
  • bundleFile
  • signer
  • subject
属性类型描述

bundleFile

string

bundleFile 是证书来自更大的捆绑包

notAfter

string

notAfter 是有效期的上限

notBefore

string

NotBefore 是有效性的低边界

signer

string

签名者是证书发行者

subject

string

主题是证书主题

3.2. API 端点

可用的 API 端点如下:

  • /apis/machineconfiguration.openshift.io/v1/controllerconfigs

    • DELETE :删除 ControllerConfig 集合
    • GET: 列出类型为 ControllerConfig 的对象
    • POST :创建 ControllerConfig
  • /apis/machineconfiguration.openshift.io/v1/controllerconfigs/{name}

    • DELETE :删除 ControllerConfig
    • GET :读取指定的 ControllerConfig
    • PATCH: 部分更新指定的 ControllerConfig
    • PUT :替换指定的 ControllerConfig
  • /apis/machineconfiguration.openshift.io/v1/controllerconfigs/{name}/status

    • GET :指定 ControllerConfig 的读取状态
    • PATCH: 部分更新指定 ControllerConfig 的状态
    • PUT :替换指定 ControllerConfig 的状态

3.2.1. /apis/machineconfiguration.openshift.io/v1/controllerconfigs

HTTP 方法
DELETE
描述
删除 ControllerConfig 集合
表 3.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出类型为 ControllerConfig 的对象
表 3.2. HTTP 响应
HTTP 代码响应正文

200 - OK

ControllerConfigList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 ControllerConfig
表 3.3. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 3.4. 主体参数
参数类型描述

正文(body)

ControllerConfig 模式

 
表 3.5. HTTP 响应
HTTP 代码响应正文

200 - OK

ControllerConfig 模式

201 - Created

ControllerConfig 模式

202 - Accepted

ControllerConfig 模式

401 - Unauthorized

3.2.2. /apis/machineconfiguration.openshift.io/v1/controllerconfigs/{name}

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

name

字符串

ControllerConfig 的名称

HTTP 方法
DELETE
描述
删除 ControllerConfig
表 3.7. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 3.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 ControllerConfig
表 3.9. HTTP 响应
HTTP 代码响应正文

200 - OK

ControllerConfig 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 ControllerConfig
表 3.10. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 3.11. HTTP 响应
HTTP 代码响应正文

200 - OK

ControllerConfig 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 ControllerConfig
表 3.12. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 3.13. 主体参数
参数类型描述

正文(body)

ControllerConfig 模式

 
表 3.14. HTTP 响应
HTTP 代码响应正文

200 - OK

ControllerConfig 模式

201 - Created

ControllerConfig 模式

401 - Unauthorized

3.2.3. /apis/machineconfiguration.openshift.io/v1/controllerconfigs/{name}/status

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

name

字符串

ControllerConfig 的名称

HTTP 方法
GET
描述
指定 ControllerConfig 的读取状态
表 3.16. HTTP 响应
HTTP 代码响应正文

200 - OK

ControllerConfig 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 ControllerConfig 的状态
表 3.17. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 3.18. HTTP 响应
HTTP 代码响应正文

200 - OK

ControllerConfig 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 ControllerConfig 的状态
表 3.19. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 3.20. 主体参数
参数类型描述

正文(body)

ControllerConfig 模式

 
表 3.21. HTTP 响应
HTTP 代码响应正文

200 - OK

ControllerConfig 模式

201 - Created

ControllerConfig 模式

401 - Unauthorized

第 4 章 ControlPlaneMachineSet [machine.openshift.io/v1]

描述
ControlPlaneMachineSet 可确保在任何给定时间运行指定数量的 control plane 机器副本。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
对象

4.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

ControlPlaneMachineSet 代表 ControlPlaneMachineSet 的配置。

status

object

ControlPlaneMachineSetStatus 代表 ControlPlaneMachineSet CRD 的状态。

4.1.1. .spec

描述
ControlPlaneMachineSet 代表 ControlPlaneMachineSet 的配置。
类型
object
必填
  • replicas
  • selector
  • 模板
属性类型描述

replicas

整数

replicas 定义此 ControlPlaneMachineSet 应该创建多少个 Control Plane Machines。此字段不可变,集群安装后无法更改。ControlPlaneMachineSet 只适用于 3 或 5 个节点 control plane,3 和 5 是此字段的唯一有效值。

selector

object

机器的标签选择器。此选择器选择的现有机器将是由此 ControlPlaneMachineSet 影响。它必须与模板的标签匹配。创建资源后,此字段被视为不可变。

state

string

State 定义 ControlPlaneMachineSet 是否为 Active 或 Inactive。当 Inactive 时,ControlPlaneMachineSet 不会对集群中的机器状态执行任何操作。当 Active 时,ControlPlaneMachineSet 将协调 Machine,并根据需要更新机器。Active 后,无法使 ControlPlaneMachineSet 变为不活动状态。要防止进一步操作,请删除 ControlPlaneMachineSet。

策略

object

strategy 定义 ControlPlaneMachineSet 在检测到 ProviderSpec 更改时如何更新 Machine。

模板

object

模板描述了此 ControlPlaneMachineSet 创建的 Control Plane Machines。

4.1.2. .spec.selector

描述
机器的标签选择器。此选择器选择的现有机器将是由此 ControlPlaneMachineSet 影响。它必须与模板的标签匹配。创建资源后,此字段被视为不可变。
类型
object
属性类型描述

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

4.1.3. .spec.selector.matchExpressions

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

4.1.4. .spec.selector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

4.1.5. .spec.strategy

描述
strategy 定义 ControlPlaneMachineSet 在检测到 ProviderSpec 更改时如何更新 Machine。
类型
object
属性类型描述

type

string

type 定义在更新 ControlPlaneMachineSet 拥有的 Machine 时应使用的更新策略类型。有效值为 "RollingUpdate" 和 "OnDelete"。当前的默认值为 "RollingUpdate"。

4.1.6. .spec.template

描述
模板描述了此 ControlPlaneMachineSet 创建的 Control Plane Machines。
类型
object
必填
  • machineType
属性类型描述

machineType

string

machineType 决定应由 ControlPlaneMachineSet 管理的机器类型。目前,唯一有效的值为 machines_v1beta1_machine_openshift_io。

machines_v1beta1_machine_openshift_io

object

OpenShiftMachineV1Beta1Machine 定义从 v1beta1.machine.openshift.io API 组创建 Machine 的模板。

4.1.7. .spec.template.machines_v1beta1_machine_openshift_io

描述
OpenShiftMachineV1Beta1Machine 定义从 v1beta1.machine.openshift.io API 组创建 Machine 的模板。
类型
object
必填
  • metadata
  • spec
属性类型描述

failureDomains

object

failureDomains 是 ControlPlaneMachineSet 应该平衡 Control Plane Machines 的故障域列表(有时称为可用区)。这将合并到模板中提供的 ProviderSpec。在不需要放置信息的平台上,此字段是可选的。

metadata

object

ObjectMeta 是标准对象元数据更多信息 :https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 标签需要与 ControlPlaneMachineSet 选择器匹配。

spec

object

spec 包含 Control Plane Machine 所需的配置。中的 ProviderSpec 包含创建 Control Plane Machines 的特定平台详情。除了平台特定的故障域字段外,ProviderSe 应该完成。当基于 FailureDomains 字段创建 Machine 时,这将被覆盖。

4.1.8. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains

描述
failureDomains 是 ControlPlaneMachineSet 应该平衡 Control Plane Machines 的故障域列表(有时称为可用区)。这将合并到模板中提供的 ProviderSpec。在不需要放置信息的平台上,此字段是可选的。
类型
object
必填
  • platform
属性类型描述

aws

数组

AWS 为 AWS 平台配置故障域信息。

aws[]

object

AWSFailureDomain 为 AWS 平台配置故障域信息。

azure

数组

Azure 为 Azure 平台配置故障域信息。

azure[]

object

AzureFailureDomain 为 Azure 平台配置故障域信息。

gcp

数组

GCP 为 GCP 平台配置故障域信息。

gcp[]

object

GCPFailureDomain 为 GCP 平台配置故障域信息

nutanix

数组

Nutanix 为 Nutanix 平台配置故障域信息。

nutanix[]

object

NutanixFailureDomainReference 是指 Nutanix 平台的故障域。

openstack

数组

OpenStack 为 OpenStack 平台配置故障域信息。

openstack[]

object

OpenStackFailureDomain 为 OpenStack 平台配置故障域信息。

platform

string

平台标识 FailureDomain 所代表的平台。目前支持的值有 AWS、Azure、GCP、OpenStack、VSphere 和 Nutanix。

4.1.9. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws

描述
AWS 为 AWS 平台配置故障域信息。
类型
数组

4.1.10. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[]

描述
AWSFailureDomain 为 AWS 平台配置故障域信息。
类型
object
属性类型描述

placement

object

放置配置此实例的放置信息。

子网

object

子网是对此实例要使用的子网的引用。

4.1.11. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[].placement

描述
放置配置此实例的放置信息。
类型
object
必填
  • availabilityZone
属性类型描述

availabilityZone

string

AvailabilityZone 是实例的可用区。

4.1.12. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[].subnet

描述
子网是对此实例要使用的子网的引用。
类型
object
必填
  • type
属性类型描述

arn

string

资源的 ARN。

过滤器

数组

过滤器是一组用于识别资源的过滤器。

filters[]

object

AWSResourceFilter 是一个用于标识 AWS 资源的过滤器

id

string

资源的 ID。

type

string

Type 决定引用如何获取 AWS 资源。

4.1.13. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[].subnet.filters

描述
过滤器是一组用于识别资源的过滤器。
类型
数组

4.1.14. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[].subnet.filters[]

描述
AWSResourceFilter 是一个用于标识 AWS 资源的过滤器
类型
object
必填
  • name
属性类型描述

name

string

过滤器的名称。过滤名称区分大小写。

values

数组(字符串)

值包括一个或多个过滤器值。过滤器值区分大小写。

4.1.15. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.azure

描述
Azure 为 Azure 平台配置故障域信息。
类型
数组

4.1.16. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.azure[]

描述
AzureFailureDomain 为 Azure 平台配置故障域信息。
类型
object
必填
  • zone
属性类型描述

子网

string

subnet 是创建虚拟机的网络子网的名称。如果省略时,将使用机器 providerSpec 模板中的 subnet 值。

zone

string

虚拟机的可用区。如果为 nil,则虚拟机应部署到没有区。

4.1.17. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.gcp

描述
GCP 为 GCP 平台配置故障域信息。
类型
数组

4.1.18. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.gcp[]

描述
GCPFailureDomain 为 GCP 平台配置故障域信息
类型
object
必填
  • zone
属性类型描述

zone

string

zone 是 GCP 机器供应商创建虚拟机的区域。

4.1.19. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.nutanix

描述
Nutanix 为 Nutanix 平台配置故障域信息。
类型
数组

4.1.20. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.nutanix[]

描述
NutanixFailureDomainReference 是指 Nutanix 平台的故障域。
类型
object
必填
  • name
属性类型描述

name

string

nutanix 机器供应商创建虚拟机的故障域的名称。故障域在集群的 config.openshift.io/Infrastructure 资源中定义。

4.1.21. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.openstack

描述
OpenStack 为 OpenStack 平台配置故障域信息。
类型
数组

4.1.22. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.openstack[]

描述
OpenStackFailureDomain 为 OpenStack 平台配置故障域信息。
类型
object
属性类型描述

availabilityZone

string

availabilityZone 是 OpenStack 计算机提供程序将创建虚拟机的 nova 可用性区域。如果没有指定,虚拟机将在 nova 配置中指定的默认可用区中创建。可用性区域名称不得包含 : 由于管理员用户使用它来指定在服务器创建中启动实例的主机。另外,它不得包含空格,否则它将导致属于此可用区注册失败的节点,请参阅 kubernetes/cloud-provider-openstack foundation79。根据标签限制,可用区名称的最大长度为 63。

rootVolume

object

rootVolume 包含将供 OpenStack 计算机提供程序用于创建附加到虚拟机的 root 卷的设置。如果没有指定,则不会创建根卷。

4.1.23. .spec.template.machines_v1beta1_machine_openshift_io.failureDomains.openstack[].rootVolume

描述
rootVolume 包含将供 OpenStack 计算机提供程序用于创建附加到虚拟机的 root 卷的设置。如果没有指定,则不会创建根卷。
类型
object
必填
  • volumeType
属性类型描述

availabilityZone

string

availabilityZone 指定创建根卷的 Cinder 可用性区域。如果没有指定,则根卷将在 cinder 配置中的卷类型指定的可用区中创建。如果卷类型(在 OpenStack 集群中配置)没有指定可用区,则 root 卷将在 cinder 配置中指定的默认可用区中创建。详情请查看 https://docs.openstack.org/cinder/latest/admin/availability-zone-type.html。如果 OpenStack 集群部署,则 cross_az_attach 配置选项设为 false,则根卷必须与虚拟机位于同一个可用区(由 OpenStackFailureDomain.AvailabilityZone 定义)。可用区域名称不得包含空格,否则它将导致属于此可用区注册失败的卷,请参阅 kubernetes/cloud-provider-openstack foundation79。根据标签限制,可用区名称的最大长度为 63。

volumeType

string

volumeType 指定要置备的根卷的类型。根据 OpenStack 限制,卷类型名称的最大长度为 255 个字符。

4.1.24. .spec.template.machines_v1beta1_machine_openshift_io.metadata

描述
ObjectMeta 是标准对象元数据更多信息 :https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 标签需要与 ControlPlaneMachineSet 选择器匹配。
类型
object
必填
  • labels
属性类型描述

annotations

对象(字符串)

annotations 是一个无结构的键值映射,它存储有资源,可通过外部工具存储和检索任意元数据。它们不可查询,应在修改对象时保留。更多信息: http://kubernetes.io/docs/user-guide/annotations

labels

对象(字符串)

可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务选择器匹配。更多信息: http://kubernetes.io/docs/user-guide/labels。此字段必须包含 'machine.openshift.io/cluster-api-machine-role' 和 'machine.openshift.io/cluster-api-machine-type' 标签,值为 'master'。它还必须包含带有键为 'machine.openshift.io/cluster-api-cluster' 的标签。

4.1.25. .spec.template.machines_v1beta1_machine_openshift_io.spec

描述
spec 包含 Control Plane Machine 所需的配置。中的 ProviderSpec 包含创建 Control Plane Machines 的特定平台详情。除了平台特定的故障域字段外,ProviderSe 应该完成。当基于 FailureDomains 字段创建 Machine 时,这将被覆盖。
类型
object
属性类型描述

lifecycleHooks

object

lifecycleHooks 允许用户在机器生命周期的特定预定义点暂停机器上的操作。

metadata

对象

ObjectMeta 将自动填充所创建的节点。使用此选项来指示创建节点时应使用哪些标签、注解、名称前缀等。

providerID

字符串

providerID 是供应商提供的机器的标识 ID。此字段必须与与此机器对应的节点对象中看到的供应商 ID 匹配。cluster-api 的高级别消费者需要此字段。示例用例是 cluster-api,将 cluster-api 用作供应商。自动缩放器中的清理逻辑将机器与节点进行比较,以查找供应商无法注册为 Kubernetes 节点的机器。使用 cluster-api 作为自动扩展的通用树提供商时,自动扩展需要此字段才能具有机器列表的供应商视图。另一个节点列表是从 k8s apiserver 查询的另一个节点列表,然后做比较以查找未注册的机器并标记为 delete。此字段由行动者设置,并由更高级别的实体(如自动扩展器)使用,该自动扩展将与 cluster-api 作为通用提供程序交互。

providerSpec

对象

providerSpec 详情特定于供应商的配置,以便在节点创建过程中使用。

污点

array

要以增加方式应用到对应节点的污点列表。此列表不会根据其他实体持续覆盖添加到节点的任何其他污点。这些污点应该被主动协调,例如,如果您要求机器控制器应用污点,然后手动删除机器控制器将重新放置的污点,但机器控制器没有删除任何污点

taints[]

对象

此 Taint 附加到任何不容许 Taint 的 pod 上的"effect"的节点。

4.1.26. .spec.template.machines_v1beta1_machine_openshift_io.spec.lifecycleHooks

描述
lifecycleHooks 允许用户在机器生命周期的特定预定义点暂停机器上的操作。
类型
object
属性类型描述

preDrain

数组

preDrain hook 会阻止机器排空。这也会阻止进一步的生命周期事件,如终止。

preDrain[]

object

LifecycleHook 代表生命周期 hook 的单一实例

preTerminate

数组

preTerminate hook 会阻止机器被终止。在机器排空后,会执行 preTerminate hook。

preTerminate[]

object

LifecycleHook 代表生命周期 hook 的单一实例

4.1.27. .spec.template.machines_v1beta1_machine_openshift_io.spec.lifecycleHooks.preDrain

描述
preDrain hook 会阻止机器排空。这也会阻止进一步的生命周期事件,如终止。
类型
数组

4.1.28. .spec.template.machines_v1beta1_machine_openshift_io.spec.lifecycleHooks.preDrain[]

描述
LifecycleHook 代表生命周期 hook 的单一实例
类型
object
必填
  • 名称
  • owner
属性类型描述

name

string

name 为 lifcycle hook 定义唯一名称。名称应是唯一的,最好是 1-3 个单词,在 CamelCase 中,或者可以是命名空间,如 foo.example.com/CamelCase。名称必须是唯一的,并且只能由单个实体管理。

owner

string

Owner 定义生命周期 hook 的所有者。这应该完全描述性,以便用户可以识别谁/负责阻塞生命周期。这可以是控制器的名称(如 clusteroperator/etcd)或管理员管理 hook。

4.1.29. .spec.template.machines_v1beta1_machine_openshift_io.spec.lifecycleHooks.preTerminate

描述
preTerminate hook 会阻止机器被终止。在机器排空后,会执行 preTerminate hook。
类型
数组

4.1.30. .spec.template.machines_v1beta1_machine_openshift_io.spec.lifecycleHooks.preTerminate[]

描述
LifecycleHook 代表生命周期 hook 的单一实例
类型
object
必填
  • 名称
  • owner
属性类型描述

name

string

name 为 lifcycle hook 定义唯一名称。名称应是唯一的,最好是 1-3 个单词,在 CamelCase 中,或者可以是命名空间,如 foo.example.com/CamelCase。名称必须是唯一的,并且只能由单个实体管理。

owner

string

Owner 定义生命周期 hook 的所有者。这应该完全描述性,以便用户可以识别谁/负责阻塞生命周期。这可以是控制器的名称(如 clusteroperator/etcd)或管理员管理 hook。

4.1.31. .spec.template.machines_v1beta1_machine_openshift_io.spec.metadata

描述
ObjectMeta 将自动填充所创建的节点。使用此选项来指示创建节点时应使用哪些标签、注解、名称前缀等。
类型
object
属性类型描述

annotations

对象(字符串)

annotations 是一个无结构的键值映射,它存储有资源,可通过外部工具存储和检索任意元数据。它们不可查询,应在修改对象时保留。更多信息: http://kubernetes.io/docs/user-guide/annotations

generateName

字符串

generateName 是一个可选前缀,服务器使用它来生成唯一的名称 IF,即未提供 Name 字段。如果使用此字段,返回到客户端的名称将与传递的名称不同。这个值也会与唯一的后缀合并。provided 值的验证规则与 Name 字段相同,并可能由使值在服务器上唯一要求的后缀长度截断。如果指定了此字段并且存在生成的名称,服务器将不会返回 409 -,它会返回 201 Created 或 500 with Reason ServerTimeout,表示无法在分配时找到唯一名称,并且客户端应重试(可选在 Retry-After 标头中指定的时间之后)。仅在未指定 Name 时应用。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

对象(字符串)

可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务选择器匹配。更多信息: http://kubernetes.io/docs/user-guide/labels

name

字符串

名称在命名空间中必须是唯一的。创建资源时需要一些资源,但有些资源可能会允许客户端自动请求生成适当名称。name 主要用于创建 idempotence 和配置定义。无法更新。更多信息: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

字符串

namespace 定义每个名称中的空间必须是唯一的。空命名空间等同于 "default" 命名空间,但 "default" 是规范表示。不是所有对象都必须限定到命名空间 - 这些对象的这个字段的值为空。必须是 DNS_LABEL。无法更新。更多信息: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

array

此对象依赖的对象列表。如果列表中删除列表中的 all 对象,则会收集此对象。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,controller 字段设为 true。不能有多个管理控制器。

ownerReferences[]

对象

OwnerReference 包含足够信息,供您标识拥有的对象。所属对象必须与依赖的命名空间相同,或是集群范围的,因此没有命名空间字段。

4.1.32. .spec.template.machines_v1beta1_machine_openshift_io.spec.metadata.ownerReferences

描述
此对象依赖的对象列表。如果列表中删除列表中的 all 对象,则会收集此对象。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,controller 字段设为 true。不能有多个管理控制器。
类型
数组

4.1.33. .spec.template.machines_v1beta1_machine_openshift_io.spec.metadata.ownerReferences[]

描述
OwnerReference 包含足够信息,供您标识拥有的对象。所属对象必须与依赖的命名空间相同,或是集群范围的,因此没有命名空间字段。
类型
object
必填
  • apiVersion
  • kind
  • name
  • uid
属性类型描述

apiVersion

字符串

引用的 API 版本。

blockOwnerDeletion

布尔值

如果为 true,并且所有者是否有"foregroundDeletion"终结器,则无法从键值存储中删除所有者,直到此引用被删除为止。有关垃圾收集器如何与此字段交互并强制实施前台删除方式,请参阅 https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion。默认为false。要设置此字段,用户需要所有者的"删除"权限,否则将返回 422 (不可处理实体)。

controller

布尔值

如果为 true,则此引用指向管理控制器。

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

uid

字符串

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

4.1.34. .spec.template.machines_v1beta1_machine_openshift_io.spec.providerSpec

描述
providerSpec 详情特定于供应商的配置,以便在节点创建过程中使用。
类型
object
属性类型描述

value

``

值是资源配置的内联序列化表示。建议供应商维护自己的版本化 API 类型,这些类型应该从此字段序列化/反序列化到组件配置。

4.1.35. .spec.template.machines_v1beta1_machine_openshift_io.spec.taints

描述
要以增加方式应用到对应节点的污点列表。此列表不会根据其他实体持续覆盖添加到节点的任何其他污点。这些污点应该被主动协调,例如,如果您要求机器控制器应用污点,然后手动删除机器控制器将重新放置的污点,但机器控制器没有删除任何污点
类型
数组

4.1.36. .spec.template.machines_v1beta1_machine_openshift_io.spec.taints[]

描述
此 Taint 附加到任何不容许 Taint 的 pod 上的"effect"的节点。
类型
object
必填
  • effect
  • key
属性类型描述

effect

字符串

必需。污点对不容许该污点的 pod 的影响。有效效果为 NoSchedule、PreferNoSchedule 和 NoExecute。

key

字符串

必需。要应用到节点的污点键。

timeAdded

字符串

TimeAdded 代表添加污点的时间。它仅针对 NoExecute 污点编写。

value

字符串

与污点键对应的污点值。

4.1.37. .status

描述
ControlPlaneMachineSetStatus 代表 ControlPlaneMachineSet CRD 的状态。
类型
object
属性类型描述

conditions

数组

条件代表 ControlPlaneMachineSet 当前状态的观察。已知的 .status.conditions.type 是: Available、Degraded 和 Progressing。

conditions[]

对象

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }

observedGeneration

整数

observedGeneration 是此 ControlPlaneMachineSet 观察到的最新生成。它对应于 ControlPlaneMachineSets 的生成,该生成在 API 服务器时更新。

readyReplicas

整数

readyReplicas 是 ControlPlaneMachineSet 控制器创建的 Control Plane Machines 数量。请注意,在滚动更新正在进行时,这个值可能大于所需的副本数。

replicas

整数

replicas 是 ControlPlaneMachineSet 控制器创建的 Control Plane Machine 数量。请注意,在更新操作时,这个值可能与所需的副本数不同。

unavailableReplicas

整数

UnavailableReplicas 是 ControlPlaneMachineSet 达到所需的可用容量前仍需要的 Control Plane Machine 数量。当这个值为零时,ReadyReplicas 的数量会小于所需的 Replicas。

updatedReplicas

整数

UpdatedReplicas 是 ControlPlaneMachineSet 控制器创建的、具有所需供应商 spec 和就绪状态创建的非终止 Control Plane 机器数量。当检测到到所需的 spec 更改时,这个值被设置为 0。当更新策略是 RollingUpdate 时,这也与开始更新机器的过程一致。当更新策略时,这个值将保持在 0,直到用户删除现有副本并且其替换就绪为止。

4.1.38. .status.conditions

描述
条件代表 ControlPlaneMachineSet 当前状态的观察。已知的 .status.conditions.type 是: Available、Degraded 和 Progressing。
类型
array

4.1.39. .status.conditions[]

描述
条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }
类型
object
必填
  • lastTransitionTime
  • message
  • reason
  • status
  • type
属性类型描述

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 中的条件类型。-- Many .condition.type 值在资源间是一致的,但因为任意条件可能很有用(请参阅 .node.status.conditions),deconflict 的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)? (qualifiedNameFmt)

4.2. API 端点

可用的 API 端点如下:

  • /apis/machine.openshift.io/v1/controlplanemachinesets

    • GET: 列出类型为 ControlPlaneMachineSet 的对象
  • /apis/machine.openshift.io/v1/namespaces/{namespace}/controlplanemachinesets

    • DELETE: delete collection of ControlPlaneMachineSet
    • GET: 列出类型为 ControlPlaneMachineSet 的对象
    • POST :创建一个 ControlPlaneMachineSet
  • /apis/machine.openshift.io/v1/namespaces/{namespace}/controlplanemachinesets/{name}

    • DELETE: delete a ControlPlaneMachineSet
    • GET :读取指定的 ControlPlaneMachineSet
    • PATCH: 部分更新指定的 ControlPlaneMachineSet
    • PUT :替换指定的 ControlPlaneMachineSet
  • /apis/machine.openshift.io/v1/namespaces/{namespace}/controlplanemachinesets/{name}/scale

    • GET :指定 ControlPlaneMachineSet 的读取规模
    • PATCH: 部分更新指定 ControlPlaneMachineSet 的规模
    • PUT :替换指定 ControlPlaneMachineSet 的规模
  • /apis/machine.openshift.io/v1/namespaces/{namespace}/controlplanemachinesets/{name}/status

    • GET :指定 ControlPlaneMachineSet 的读取状态
    • PATCH: 部分更新指定 ControlPlaneMachineSet 的状态
    • PUT :替换指定 ControlPlaneMachineSet 的状态

4.2.1. /apis/machine.openshift.io/v1/controlplanemachinesets

HTTP 方法
GET
描述
列出 ControlPlaneMachineSet 类型的对象
表 4.1. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSetList schema

401 - Unauthorized

4.2.2. /apis/machine.openshift.io/v1/namespaces/{namespace}/controlplanemachinesets

HTTP 方法
DELETE
描述
删除 ControlPlaneMachineSet 集合
表 4.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 ControlPlaneMachineSet 类型的对象
表 4.3. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSetList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 ControlPlaneMachineSet
表 4.4. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 4.5. 主体参数
参数类型描述

正文(body)

ControlPlaneMachineSet schema

 
表 4.6. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSet schema

201 - Created

ControlPlaneMachineSet schema

202 - Accepted

ControlPlaneMachineSet schema

401 - Unauthorized

4.2.3. /apis/machine.openshift.io/v1/namespaces/{namespace}/controlplanemachinesets/{name}

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

name

string

ControlPlaneMachineSet 的名称

HTTP 方法
DELETE
描述
delete a ControlPlaneMachineSet
表 4.8. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 4.9. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 ControlPlaneMachineSet
表 4.10. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSet schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 ControlPlaneMachineSet
表 4.11. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 4.12. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSet schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 ControlPlaneMachineSet
表 4.13. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 4.14. 主体参数
参数类型描述

正文(body)

ControlPlaneMachineSet schema

 
表 4.15. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSet schema

201 - Created

ControlPlaneMachineSet schema

401 - Unauthorized

4.2.4. /apis/machine.openshift.io/v1/namespaces/{namespace}/controlplanemachinesets/{name}/scale

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

name

string

ControlPlaneMachineSet 的名称

HTTP 方法
GET
描述
指定 ControlPlaneMachineSet 的读取规模
表 4.17. HTTP 响应
HTTP 代码响应正文

200 - OK

scale 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 ControlPlaneMachineSet 的规模
表 4.18. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 4.19. HTTP 响应
HTTP 代码响应正文

200 - OK

scale 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 ControlPlaneMachineSet 的 scale
表 4.20. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 4.21. 主体参数
参数类型描述

正文(body)

scale 模式

 
表 4.22. HTTP 响应
HTTP 代码响应正文

200 - OK

scale 模式

201 - Created

scale 模式

401 - Unauthorized

4.2.5. /apis/machine.openshift.io/v1/namespaces/{namespace}/controlplanemachinesets/{name}/status

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

name

string

ControlPlaneMachineSet 的名称

HTTP 方法
GET
描述
指定 ControlPlaneMachineSet 的读取状态
表 4.24. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSet schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 ControlPlaneMachineSet 的状态
表 4.25. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 4.26. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSet schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 ControlPlaneMachineSet 的状态
表 4.27. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 4.28. 主体参数
参数类型描述

正文(body)

ControlPlaneMachineSet schema

 
表 4.29. HTTP 响应
HTTP 代码响应正文

200 - OK

ControlPlaneMachineSet schema

201 - Created

ControlPlaneMachineSet schema

401 - Unauthorized

第 5 章 KubeletConfig [machineconfiguration.openshift.io/v1]

描述
KubeletConfig 描述自定义 Kubelet 配置。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • spec

5.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

对象

KubeletConfigSpec 定义 KubeletConfig 的所需状态

status

对象

KubeletConfigStatus 定义 KubeletConfig 的观察状态

5.1.1. .spec

描述
KubeletConfigSpec 定义 KubeletConfig 的所需状态
类型
object
属性类型描述

autoSizingReserved

布尔值

 

kubeletConfig

``

KubeletConfig 字段在 kubernetes 上游中定义。请参阅 OpenShift 上游 kubernetes 使用的 version/commit 中定义的类型。务必要注意,因为 kubelet 配置的字段直接从上游获取这些值的验证。有关这些字段的有效值,请参阅相关 kubernetes 的上游版本。kubelet 配置字段的无效值可能会导致集群节点不可用。

logLevel

整数

 

machineConfigPoolSelector

object

MachineConfigPoolSelector 选择 KubeletConfig shoud 应用到的池。nil 选择器将导致没有选择池。

tlsSecurityProfile

object

如果未设置,则默认值基于 apiservers.config.openshift.io/cluster 资源。请注意,目前只支持 Old 和 Intermediate 配置集,最大可用 minTLSVersion 为 VersionTLS12。

5.1.2. .spec.machineConfigPoolSelector

描述
MachineConfigPoolSelector 选择 KubeletConfig shoud 应用到的池。nil 选择器将导致没有选择池。
类型
object
属性类型描述

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

5.1.3. .spec.machineConfigPoolSelector.matchExpressions

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

5.1.4. .spec.machineConfigPoolSelector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

5.1.5. .spec.tlsSecurityProfile

描述
如果未设置,则默认值基于 apiservers.config.openshift.io/cluster 资源。请注意,目前只支持 Old 和 Intermediate 配置集,最大可用 minTLSVersion 为 VersionTLS12。
类型
object
属性类型描述

custom

``

Custom 是一个用户定义的 TLS 安全配置集。使用自定义配置集时要非常小心,因为无效的配置可能是灾难性的。一个自定义配置集示例: password: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11

intermediate

``

intermediate 是一个基于以下内容的 TLS 安全配置集: https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 and looks like this (yaml): - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12

modern

``

modern 是一个基于 https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility 的 TLS 安全配置集,如下所示:密码: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 备注:Current unsupported.

old

``

旧是一个基于以下的 TLS 安全配置集: https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility and looks like this (yaml): - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-AES128-SHA - ECDHE-RSA-AES128-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10

type

字符串

type 是 Old、Intermediate、Modern 或 Custom 之一。自定义提供指定各个 TLS 安全配置集参数的功能。旧,Intermediate 和 Modern 是基于 TLS 安全配置集 :https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations。 配置集基于意图,因此当开发新密码时可能会随时间变化,并且发现现有密码不安全。根据具体哪些密码可用于进程,可以减少列表。请注意,Modern 配置集目前还不被支持,因为它还没有被常见软件库正确采用。

5.1.6. .status

描述
KubeletConfigStatus 定义 KubeletConfig 的观察状态
类型
object
属性类型描述

conditions

array

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

conditions[]

对象

KubeletConfigCondition 定义 KubeletConfig 的状态

observedGeneration

整数

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

5.1.7. .status.conditions

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

5.1.8. .status.conditions[]

描述
KubeletConfigCondition 定义 KubeletConfig 的状态
类型
object
属性类型描述

lastTransitionTime

``

lastTransitionTime 是当前状态对象最后一次更新的时间。

message

字符串

Message 提供有关当前条件的附加信息。这只能被人类使用。

reason

字符串

reason 是条件最后一次转换的原因。原因为 PascalCase

status

字符串

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

type

字符串

type 指定 Operator 协调功能的状态。

5.2. API 端点

可用的 API 端点如下:

  • /apis/machineconfiguration.openshift.io/v1/kubeletconfigs

    • DELETE: delete collection of KubeletConfig
    • GET: 列出 KubeletConfig 类型的对象
    • POST :创建 KubeletConfig
  • /apis/machineconfiguration.openshift.io/v1/kubeletconfigs/{name}

    • DELETE: delete a KubeletConfig
    • GET :读取指定的 KubeletConfig
    • PATCH: 部分更新指定的 KubeletConfig
    • PUT :替换指定的 KubeletConfig
  • /apis/machineconfiguration.openshift.io/v1/kubeletconfigs/{name}/status

    • GET :指定 KubeletConfig 的读取状态
    • PATCH: 部分更新指定 KubeletConfig 的状态
    • PUT :替换指定 KubeletConfig 的状态

5.2.1. /apis/machineconfiguration.openshift.io/v1/kubeletconfigs

HTTP 方法
DELETE
描述
删除 KubeletConfig 集合
表 5.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 KubeletConfig 类型的对象
表 5.2. HTTP 响应
HTTP 代码响应正文

200 - OK

KubeletConfigList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 KubeletConfig
表 5.3. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 5.4. 主体参数
参数类型描述

正文(body)

KubeletConfig schema

 
表 5.5. HTTP 响应
HTTP 代码响应正文

200 - OK

KubeletConfig schema

201 - Created

KubeletConfig schema

202 - Accepted

KubeletConfig schema

401 - Unauthorized

5.2.2. /apis/machineconfiguration.openshift.io/v1/kubeletconfigs/{name}

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

name

字符串

KubeletConfig 的名称

HTTP 方法
DELETE
描述
delete a KubeletConfig
表 5.7. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 5.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 KubeletConfig
表 5.9. HTTP 响应
HTTP 代码响应正文

200 - OK

KubeletConfig schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 KubeletConfig
表 5.10. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 5.11. HTTP 响应
HTTP 代码响应正文

200 - OK

KubeletConfig schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 KubeletConfig
表 5.12. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 5.13. 主体参数
参数类型描述

正文(body)

KubeletConfig schema

 
表 5.14. HTTP 响应
HTTP 代码响应正文

200 - OK

KubeletConfig schema

201 - Created

KubeletConfig schema

401 - Unauthorized

5.2.3. /apis/machineconfiguration.openshift.io/v1/kubeletconfigs/{name}/status

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

name

字符串

KubeletConfig 的名称

HTTP 方法
GET
描述
指定 KubeletConfig 的读取状态
表 5.16. HTTP 响应
HTTP 代码响应正文

200 - OK

KubeletConfig schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 KubeletConfig 的状态
表 5.17. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 5.18. HTTP 响应
HTTP 代码响应正文

200 - OK

KubeletConfig schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 KubeletConfig 的状态
表 5.19. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 5.20. 主体参数
参数类型描述

正文(body)

KubeletConfig schema

 
表 5.21. HTTP 响应
HTTP 代码响应正文

200 - OK

KubeletConfig schema

201 - Created

KubeletConfig schema

401 - Unauthorized

第 6 章 MachineConfig [machineconfiguration.openshift.io/v1]

描述
MachineConfig 定义机器兼容性级别 1 的配置:在主发行版本中至少为 12 个月或 3 个次版本(以更长的时间为准)。
类型
对象

6.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

对象

MachineConfigSpec 是 MachineConfig 的 spec

6.1.1. .spec

描述
MachineConfigSpec 是 MachineConfig 的 spec
类型
object
属性类型描述

baseOSExtensionsContainerImage

string

BaseOSExtensionsContainerImage 指定远程位置,用于获取与新格式操作系统镜像匹配的 extensions 容器

config

``

config 是 Ignition 配置对象。

extensions

数组(字符串)

扩展包含可在主机上启用的额外功能列表

fips

布尔值

FIPS 控制 FIPS 模式

kernelArguments

``

kernelArguments 包含要添加的内核参数列表

kernelType

string

kernelType 包括要像默认内核一样运行哪个内核(传统、realtime、64k-pages)(仅限 arch64)。

osImageURL

string

osImageURL 指定用于获取操作系统的远程位置。

6.2. API 端点

可用的 API 端点如下:

  • /apis/machineconfiguration.openshift.io/v1/machineconfigs

    • DELETE :删除 MachineConfig 集合
    • GET :列出 MachineConfig 类型的对象
    • POST :创建 MachineConfig
  • /apis/machineconfiguration.openshift.io/v1/machineconfigs/{name}

    • DELETE :删除 MachineConfig
    • GET :读取指定的 MachineConfig
    • PATCH: 部分更新指定的 MachineConfig
    • PUT :替换指定的 MachineConfig

6.2.1. /apis/machineconfiguration.openshift.io/v1/machineconfigs

HTTP 方法
DELETE
描述
删除 MachineConfig 集合
表 6.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 MachineConfig 类型的对象
表 6.2. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 MachineConfig
表 6.3. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 6.4. 主体参数
参数类型描述

正文(body)

MachineConfig 模式

 
表 6.5. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfig 模式

201 - Created

MachineConfig 模式

202 - Accepted

MachineConfig 模式

401 - Unauthorized

6.2.2. /apis/machineconfiguration.openshift.io/v1/machineconfigs/{name}

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

name

字符串

MachineConfig 的名称

HTTP 方法
DELETE
描述
delete a MachineConfig
表 6.7. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 6.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 MachineConfig
表 6.9. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfig 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 MachineConfig
表 6.10. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 6.11. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfig 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 MachineConfig
表 6.12. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 6.13. 主体参数
参数类型描述

正文(body)

MachineConfig 模式

 
表 6.14. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfig 模式

201 - Created

MachineConfig 模式

401 - Unauthorized

第 7 章 MachineConfigNode [machineconfiguration.openshift.io/v1alpha1]

描述
MachineConfigNode 描述了系统兼容性级别 4 中的机器健康状况:不提供兼容性,API 可能会因为任何原因而改变。这些功能不应由需要长期支持的应用程序使用。
类型
object
必填
  • spec

7.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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
必填
  • configVersion
  • node
  • pool
属性类型描述

configVersion

object

configVersion 包含此机器配置节点资源的目标节点所需的配置版本。所需的版本代表节点要升级到的机器配置。这会在机器配置 Operator 根据当前机器配置验证新机器配置前设置。

node

object

节点包含对此机器配置节点的引用。

pool

object

池包含此机器配置节点所属机器配置池的引用。

7.1.2. .spec.configVersion

描述
configVersion 包含此机器配置节点资源的目标节点所需的配置版本。所需的版本代表节点要升级到的机器配置。这会在机器配置 Operator 根据当前机器配置验证新机器配置前设置。
类型
object
必填
  • 所需
属性类型描述

所需

string

所需是节点应升级到的机器配置名称。当机器配置池生成其渲染配置的新版本时,会设置这个值。当此值改变时,机器配置守护进程会启动节点升级过程。当机器配置被升级时,并在验证前,这个值会在机器配置规格中设置。必须是小写的 RFC-1123 主机名(https://tools.ietf.org/html/rfc1123),它只能包含字母数字字符、连字符(-)和句点(.),且长度最多 253 个字符。

7.1.3. .spec.node

描述
节点包含对此机器配置节点的引用。
类型
object
必填
  • name
属性类型描述

name

string

name 是对象名称。必须是小写的 RFC-1123 主机名(https://tools.ietf.org/html/rfc1123),它只能包含字母数字字符、连字符(-)和句点(.),且长度最多 253 个字符。

7.1.4. .spec.pool

描述
池包含此机器配置节点所属机器配置池的引用。
类型
object
必填
  • name
属性类型描述

name

string

name 是对象名称。必须是小写的 RFC-1123 主机名(https://tools.ietf.org/html/rfc1123),它只能包含字母数字字符、连字符(-)和句点(.),且长度最多 253 个字符。

7.1.5. .status

描述
status 描述了此机器配置节点的最后观察到的状态。
类型
object
必填
  • configVersion
属性类型描述

conditions

数组

条件代表机器配置节点当前状态的观察。

conditions[]

对象

条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }

configVersion

object

configVersion 描述了此节点的当前和所需的机器配置。当前版本代表节点的当前机器配置,并在成功更新后更新。所需的版本代表节点要升级到的机器配置。此所需的机器配置已与当前的机器配置进行比较,并由机器配置 Operator 验证为有效且存在的。

observedGeneration

整数

observedGeneration 代表控制器观察到的生成。当控制器观察机器配置节点 spec 中的 configVersion 中的所需Config 更改时,会更新此字段。

7.1.6. .status.conditions

描述
条件代表机器配置节点当前状态的观察。
类型
array

7.1.7. .status.conditions[]

描述
条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }
类型
object
必填
  • lastTransitionTime
  • message
  • reason
  • status
  • type
属性类型描述

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 中的条件类型。-- Many .condition.type 值在资源间是一致的,但因为任意条件可能很有用(请参阅 .node.status.conditions),deconflict 的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)? (qualifiedNameFmt)

7.1.8. .status.configVersion

描述
configVersion 描述了此节点的当前和所需的机器配置。当前版本代表节点的当前机器配置,并在成功更新后更新。所需的版本代表节点要升级到的机器配置。此所需的机器配置已与当前的机器配置进行比较,并由机器配置 Operator 验证为有效且存在的。
类型
object
必填
  • 所需
属性类型描述

current

string

current 是节点上当前正在使用的机器配置的名称。机器配置守护进程完成节点的配置更新后,会更新这个值。这个值应该与所需的版本匹配,除非升级正在进行。必须是小写的 RFC-1123 主机名(https://tools.ietf.org/html/rfc1123),它只能包含字母数字字符、连字符(-)和句点(.),且长度最多 253 个字符。

所需

string

所需是节点要升级到的 MachineConfig。当机器配置针对当前机器配置验证后,这个值会在机器配置中设置。必须是小写的 RFC-1123 主机名(https://tools.ietf.org/html/rfc1123),它只能包含字母数字字符、连字符(-)和句点(.),且长度最多 253 个字符。

7.2. API 端点

可用的 API 端点如下:

  • /apis/machineconfiguration.openshift.io/v1alpha1/machineconfignodes

    • DELETE: 删除 MachineConfigNode 集合
    • GET: 列出类型为 MachineConfigNode 的对象
    • POST :创建 MachineConfigNode
  • /apis/machineconfiguration.openshift.io/v1alpha1/machineconfignodes/{name}

    • DELETE :删除 MachineConfigNode
    • GET :读取指定的 MachineConfigNode
    • PATCH: 部分更新指定的 MachineConfigNode
    • PUT :替换指定的 MachineConfigNode
  • /apis/machineconfiguration.openshift.io/v1alpha1/machineconfignodes/{name}/status

    • GET :指定 MachineConfigNode 的读取状态
    • PATCH: 部分更新指定 MachineConfigNode 的状态
    • PUT :替换指定 MachineConfigNode 的状态

7.2.1. /apis/machineconfiguration.openshift.io/v1alpha1/machineconfignodes

HTTP 方法
DELETE
描述
删除 MachineConfigNode 集合
表 7.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 MachineConfigNode 类型的对象
表 7.2. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigNodeList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 MachineConfigNode
表 7.3. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 7.4. 主体参数
参数类型描述

正文(body)

MachineConfigNode schema

 
表 7.5. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigNode schema

201 - Created

MachineConfigNode schema

202 - Accepted

MachineConfigNode schema

401 - Unauthorized

7.2.2. /apis/machineconfiguration.openshift.io/v1alpha1/machineconfignodes/{name}

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

name

string

MachineConfigNode 的名称

HTTP 方法
DELETE
描述
delete a MachineConfigNode
表 7.7. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 7.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 MachineConfigNode
表 7.9. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigNode schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 MachineConfigNode
表 7.10. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 7.11. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigNode schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 MachineConfigNode
表 7.12. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 7.13. 主体参数
参数类型描述

正文(body)

MachineConfigNode schema

 
表 7.14. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigNode schema

201 - Created

MachineConfigNode schema

401 - Unauthorized

7.2.3. /apis/machineconfiguration.openshift.io/v1alpha1/machineconfignodes/{name}/status

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

name

string

MachineConfigNode 的名称

HTTP 方法
GET
描述
指定 MachineConfigNode 的读取状态
表 7.16. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigNode schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 MachineConfigNode 的状态
表 7.17. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 7.18. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigNode schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 MachineConfigNode 的状态
表 7.19. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 7.20. 主体参数
参数类型描述

正文(body)

MachineConfigNode schema

 
表 7.21. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigNode schema

201 - Created

MachineConfigNode schema

401 - Unauthorized

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

描述
MachineConfigPool 描述了 MachineConfig 池。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • spec

8.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

对象

MachineConfigPoolSpec 是 MachineConfigPool 资源的 spec。

status

对象

MachineConfigPoolStatus 是 MachineConfigPool 资源的状态。

8.1.1. .spec

描述
MachineConfigPoolSpec 是 MachineConfigPool 资源的 spec。
类型
object
属性类型描述

配置

对象

机器配置池的目标 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 和机器更新。

8.1.2. .spec.configuration

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

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

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[]

object

ObjectReference 包含足够信息供您检查或修改引用的对象。--- 不建议使用这个类型,因为在 API 中嵌入时描述其使用情况比较困难。1.忽略的字段。它包括许多通常不符合的字段。例如,ResourceVersion 和 FieldPath 在实际使用量中都非常有效。2.无效的用法帮助。对于单个用途,无法添加特定的帮助。在大多数嵌入式用法中,有特定的限制,"必须只引用类型 A 和 B" 或 "UID not honored" 或 "name be restricted"。嵌入时无法充分描述它们。3.验证不一致。由于使用量不同,因此验证规则因使用情况而异,因此用户很难预测到什么发生情况。4.这些字段既是不精确的,而且是更精确的。kind 不是一个 URL 的确切映射。这可能会在解释过程中产生不确定性,且需要 REST 映射。在大多数情况下,依赖项依赖于组,资源元组,实际 struct 的版本不相关。5.我们不能轻松更改。由于此类型嵌入在多个位置,因此对此类型的更新将影响大量模式。不要使新 API 嵌入在指定的 API 类型下,它们无法控制。不要使用这个类型,而是创建一个本地提供的、使用的类型,它以您的参考为导向。例如:用于准入注册的 ServiceReferences :https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533。

uid

字符串

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

8.1.3. .spec.configuration.source

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

8.1.4. .spec.configuration.source[]

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。--- 不建议使用这个类型,因为在 API 中嵌入时描述其使用情况比较困难。1.忽略的字段。它包括许多通常不符合的字段。例如,ResourceVersion 和 FieldPath 在实际使用量中都非常有效。2.无效的用法帮助。对于单个用途,无法添加特定的帮助。在大多数嵌入式用法中,有特定的限制,"必须只引用类型 A 和 B" 或 "UID not honored" 或 "name be restricted"。嵌入时无法充分描述它们。3.验证不一致。由于使用量不同,因此验证规则因使用情况而异,因此用户很难预测到什么发生情况。4.这些字段既是不精确的,而且是更精确的。kind 不是一个 URL 的确切映射。这可能会在解释过程中产生不确定性,且需要 REST 映射。在大多数情况下,依赖项依赖于组,资源元组,实际 struct 的版本不相关。5.我们不能轻松更改。由于此类型嵌入在多个位置,因此对此类型的更新将影响大量模式。不要使新 API 嵌入在指定的 API 类型下,它们无法控制。不要使用这个类型,而是创建一个本地提供的、使用的类型,它以您的参考为导向。例如:用于准入注册的 ServiceReferences :https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

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

8.1.5. .spec.machineConfigSelector

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

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

8.1.6. .spec.machineConfigSelector.matchExpressions

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

8.1.7. .spec.machineConfigSelector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

8.1.8. .spec.nodeSelector

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

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

8.1.9. .spec.nodeSelector.matchExpressions

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

8.1.10. .spec.nodeSelector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

8.1.11. .status

描述
MachineConfigPoolStatus 是 MachineConfigPool 资源的状态。
类型
object
属性类型描述

certExpirys

数组

certExpirys keeps track of important certificate expiration data

certExpirys[]

object

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

conditions

array

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

conditions[]

对象

MachineConfigPoolCondition 包含 MachineConfigPool 的条件信息。

配置

对象

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

degradedMachineCount

整数

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

machineCount

整数

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

observedGeneration

整数

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

readyMachineCount

整数

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

unavailableMachineCount

整数

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

updatedMachineCount

整数

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

8.1.12. .status.certExpirys

描述
certExpirys keeps track of important certificate expiration data
类型
数组

8.1.13. .status.certExpirys[]

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

bundle

string

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

过期

string

expiry 是证书不再有效的日期

subject

string

主题是证书的主题

8.1.14. .status.conditions

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

8.1.15. .status.conditions[]

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

lastTransitionTime

``

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

message

字符串

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

reason

字符串

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

status

字符串

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

type

字符串

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

8.1.16. .status.configuration

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

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

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[]

object

ObjectReference 包含足够信息供您检查或修改引用的对象。--- 不建议使用这个类型,因为在 API 中嵌入时描述其使用情况比较困难。1.忽略的字段。它包括许多通常不符合的字段。例如,ResourceVersion 和 FieldPath 在实际使用量中都非常有效。2.无效的用法帮助。对于单个用途,无法添加特定的帮助。在大多数嵌入式用法中,有特定的限制,"必须只引用类型 A 和 B" 或 "UID not honored" 或 "name be restricted"。嵌入时无法充分描述它们。3.验证不一致。由于使用量不同,因此验证规则因使用情况而异,因此用户很难预测到什么发生情况。4.这些字段既是不精确的,而且是更精确的。kind 不是一个 URL 的确切映射。这可能会在解释过程中产生不确定性,且需要 REST 映射。在大多数情况下,依赖项依赖于组,资源元组,实际 struct 的版本不相关。5.我们不能轻松更改。由于此类型嵌入在多个位置,因此对此类型的更新将影响大量模式。不要使新 API 嵌入在指定的 API 类型下,它们无法控制。不要使用这个类型,而是创建一个本地提供的、使用的类型,它以您的参考为导向。例如:用于准入注册的 ServiceReferences :https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533。

uid

字符串

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

8.1.17. .status.configuration.source

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

8.1.18. .status.configuration.source[]

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。--- 不建议使用这个类型,因为在 API 中嵌入时描述其使用情况比较困难。1.忽略的字段。它包括许多通常不符合的字段。例如,ResourceVersion 和 FieldPath 在实际使用量中都非常有效。2.无效的用法帮助。对于单个用途,无法添加特定的帮助。在大多数嵌入式用法中,有特定的限制,"必须只引用类型 A 和 B" 或 "UID not honored" 或 "name be restricted"。嵌入时无法充分描述它们。3.验证不一致。由于使用量不同,因此验证规则因使用情况而异,因此用户很难预测到什么发生情况。4.这些字段既是不精确的,而且是更精确的。kind 不是一个 URL 的确切映射。这可能会在解释过程中产生不确定性,且需要 REST 映射。在大多数情况下,依赖项依赖于组,资源元组,实际 struct 的版本不相关。5.我们不能轻松更改。由于此类型嵌入在多个位置,因此对此类型的更新将影响大量模式。不要使新 API 嵌入在指定的 API 类型下,它们无法控制。不要使用这个类型,而是创建一个本地提供的、使用的类型,它以您的参考为导向。例如:用于准入注册的 ServiceReferences :https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

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

8.2. API 端点

可用的 API 端点如下:

  • /apis/machineconfiguration.openshift.io/v1/machineconfigpools

    • DELETE :删除 MachineConfigPool 的集合
    • GET: 列出 MachineConfigPool 类型的对象
    • POST :创建 MachineConfigPool
  • /apis/machineconfiguration.openshift.io/v1/machineconfigpools/{name}

    • DELETE :删除 MachineConfigPool
    • GET :读取指定的 MachineConfigPool
    • PATCH: 部分更新指定的 MachineConfigPool
    • PUT :替换指定的 MachineConfigPool
  • /apis/machineconfiguration.openshift.io/v1/machineconfigpools/{name}/status

    • GET :指定 MachineConfigPool 的读取状态
    • PATCH: 部分更新指定 MachineConfigPool 的状态
    • PUT :替换指定 MachineConfigPool 的状态

8.2.1. /apis/machineconfiguration.openshift.io/v1/machineconfigpools

HTTP 方法
DELETE
描述
删除 MachineConfigPool 集合
表 8.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 MachineConfigPool 类型的对象
表 8.2. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigPoolList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 MachineConfigPool
表 8.3. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 8.4. 主体参数
参数类型描述

正文(body)

MachineConfigPool 模式

 
表 8.5. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigPool 模式

201 - Created

MachineConfigPool schema

202 - Accepted

MachineConfigPool schema

401 - Unauthorized

8.2.2. /apis/machineconfiguration.openshift.io/v1/machineconfigpools/{name}

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

name

字符串

MachineConfigPool 的名称

HTTP 方法
DELETE
描述
delete a MachineConfigPool
表 8.7. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 8.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 MachineConfigPool
表 8.9. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigPool schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 MachineConfigPool
表 8.10. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 8.11. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigPool schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 MachineConfigPool
表 8.12. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 8.13. 主体参数
参数类型描述

正文(body)

MachineConfigPool schema

 
表 8.14. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigPool schema

201 - Created

MachineConfigPool schema

401 - Unauthorized

8.2.3. /apis/machineconfiguration.openshift.io/v1/machineconfigpools/{name}/status

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

name

字符串

MachineConfigPool 的名称

HTTP 方法
GET
描述
指定 MachineConfigPool 的读取状态
表 8.16. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigPool schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 MachineConfigPool 的状态
表 8.17. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 8.18. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigPool schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 MachineConfigPool 的状态
表 8.19. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 8.20. 主体参数
参数类型描述

正文(body)

MachineConfigPool schema

 
表 8.21. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineConfigPool schema

201 - Created

MachineConfigPool schema

401 - Unauthorized

第 9 章 MachineHealthCheck [machine.openshift.io/v1beta1]

描述
MachineHealthCheck 是机器健康检查 API 兼容性级别 2 的 Schema:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
类型
对象

9.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

对象

机器健康检查策略的规格

status

对象

最近观察到的 MachineHealthCheck 资源状态

9.1.1. .spec

描述
机器健康检查策略的规格
类型
object
属性类型描述

maxUnhealthy

integer-or-string

只有 "selector" 选择最多的 "MaxUnhealthy" 机器都不健康时,才能允许进行补救。需要一个 postive 整数值或百分比值。百分比值必须是正数,并且上限为 100%。0 和 0% 均有效,将阻止所有补救。

nodeStartupTimeout

字符串

在没有节点的情况下超过这个持续时间的机器将被视为失败,并会被修复。要防止没有节点的机器被删除,请通过明确将此值设置为 "0" 来禁用启动检查。需要一个未签名的持续时间字符串,每个数字带有可选的 fraction 和一个单位后缀,如 "300ms", "1.5h" 或 "2h45m"。有效的时间单位是 "ns", "us" (或 "uss"), "ms", "s", "m", "h"。

remediationTemplate

对象

RemediationTemplate 是基础架构供应商提供的补救模板的引用。此字段完全可选,当填充时,MachineHealthCheck 控制器会从引用模板创建一个新对象,并实践地将机器修复到 Machine API Operator 以外的控制器。

selector

对象

匹配其健康的机器的标签选择器。注: 空选择器将匹配所有机器。

unhealthyConditions

array

unhealthyConditions 包含决定节点是否被视为不健康的条件列表。条件在逻辑 OR 中合并,即满足任何条件时,节点不健康。

unhealthyConditions[]

对象

UnhealthyCondition 代表 Node 条件类型和值,其 timeout 指定为持续时间。当指定条件处于至少超时值的给定状态时,节点被视为不健康。

9.1.2. .spec.remediationTemplate

描述
RemediationTemplate 是基础架构供应商提供的补救模板的引用。此字段完全可选,当填充时,MachineHealthCheck 控制器会从引用模板创建一个新对象,并实践地将机器修复到 Machine API Operator 以外的控制器。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

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

9.1.3. .spec.selector

描述
匹配其健康的机器的标签选择器。注: 空选择器将匹配所有机器。
类型
object
属性类型描述

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

9.1.4. .spec.selector.matchExpressions

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

9.1.5. .spec.selector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

9.1.6. .spec.unhealthyConditions

描述
unhealthyConditions 包含决定节点是否被视为不健康的条件列表。条件在逻辑 OR 中合并,即满足任何条件时,节点不健康。
类型
array

9.1.7. .spec.unhealthyConditions[]

描述
UnhealthyCondition 代表 Node 条件类型和值,其 timeout 指定为持续时间。当指定条件处于至少超时值的给定状态时,节点被视为不健康。
类型
object
属性类型描述

status

字符串

 

timeout

字符串

需要一个未签名的持续时间字符串,每个数字带有可选的 fraction 和一个单位后缀,如 "300ms", "1.5h" 或 "2h45m"。有效的时间单位是 "ns", "us" (或 "uss"), "ms", "s", "m", "h"。

type

字符串

 

9.1.8. .status

描述
最近观察到的 MachineHealthCheck 资源状态
类型
object
属性类型描述

conditions

array

Conditions 定义 MachineHealthCheck 的当前状态

conditions[]

对象

condition 定义 Machine API 资源操作状态的观察。

currentHealthy

整数

此机器健康检查计算的机器总数

expectedMachines

整数

此机器健康检查计算的机器总数

remediationsAllowed

整数

RemediationsAllowed 是此机器健康检查在应用 maxUnhealthy 短电路前允许进行进一步的补救数量

9.1.9. .status.conditions

描述
Conditions 定义 MachineHealthCheck 的当前状态
类型
array

9.1.10. .status.conditions[]

描述
condition 定义 Machine API 资源操作状态的观察。
类型
object
属性类型描述

lastTransitionTime

字符串

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

message

字符串

人类可读的消息,指示有关转换的详细信息。此字段可能为空。

reason

字符串

在 CamelCase 中条件最后一次转换的原因。特定的 API 可能会选择此字段是否被视为有保证的 API。此字段可能不是空的。

严重性

字符串

严重性提供了明确的 Reason 代码分类,因此用户或机器可以立即了解当前的情况并相应地操作。Severity 字段必须只在 Status=False 时才会设置。

status

字符串

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

type

字符串

CamelCase 或 foo.example.com/CamelCase 中的条件类型。许多 .condition.type 值在 Available 资源之间是一致的,但由于任意条件可能很有用(请参阅 .node.status.conditions),不限制性非常重要。

9.2. API 端点

可用的 API 端点如下:

  • /apis/machine.openshift.io/v1beta1/machinehealthchecks

    • GET :列出 MachineHealthCheck 类型的对象
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinehealthchecks

    • DELETE :删除 MachineHealthCheck 的集合
    • GET :列出 MachineHealthCheck 类型的对象
    • POST :创建 MachineHealthCheck
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinehealthchecks/{name}

    • DELETE :删除 MachineHealthCheck
    • GET :读取指定的 MachineHealthCheck
    • PATCH: 部分更新指定的 MachineHealthCheck
    • PUT :替换指定的 MachineHealthCheck
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinehealthchecks/{name}/status

    • GET :指定 MachineHealthCheck 的读取状态
    • PATCH: 部分更新指定 MachineHealthCheck 的状态
    • PUT :替换指定 MachineHealthCheck 的状态

9.2.1. /apis/machine.openshift.io/v1beta1/machinehealthchecks

HTTP 方法
GET
描述
列出 MachineHealthCheck 类型的对象
表 9.1. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheckList 模式

401 - Unauthorized

9.2.2. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinehealthchecks

HTTP 方法
DELETE
描述
删除 MachineHealthCheck 集合
表 9.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 MachineHealthCheck 类型的对象
表 9.3. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheckList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 MachineHealthCheck
表 9.4. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 9.5. 主体参数
参数类型描述

正文(body)

MachineHealthCheck 模式

 
表 9.6. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheck 模式

201 - Created

MachineHealthCheck 模式

202 - Accepted

MachineHealthCheck 模式

401 - Unauthorized

9.2.3. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinehealthchecks/{name}

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

name

字符串

MachineHealthCheck 的名称

HTTP 方法
DELETE
描述
删除 MachineHealthCheck
表 9.8. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 9.9. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 MachineHealthCheck
表 9.10. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheck 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 MachineHealthCheck
表 9.11. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 9.12. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheck 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 MachineHealthCheck
表 9.13. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 9.14. 主体参数
参数类型描述

正文(body)

MachineHealthCheck 模式

 
表 9.15. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheck 模式

201 - Created

MachineHealthCheck 模式

401 - Unauthorized

9.2.4. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinehealthchecks/{name}/status

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

name

字符串

MachineHealthCheck 的名称

HTTP 方法
GET
描述
指定 MachineHealthCheck 的读取状态
表 9.17. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheck 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 MachineHealthCheck 的状态
表 9.18. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 9.19. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheck 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 MachineHealthCheck 的状态
表 9.20. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 9.21. 主体参数
参数类型描述

正文(body)

MachineHealthCheck 模式

 
表 9.22. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineHealthCheck 模式

201 - Created

MachineHealthCheck 模式

401 - Unauthorized

第 10 章 Machine [machine.openshift.io/v1beta1]

描述
机器是机器 API 兼容性级别 2 的 Schema:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
类型
对象

10.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

对象

MachineSpec 定义所需的 Machine 状态

status

对象

MachineStatus 定义 Machine 的观察状态

10.1.1. .spec

描述
MachineSpec 定义所需的 Machine 状态
类型
object
属性类型描述

lifecycleHooks

object

lifecycleHooks 允许用户在机器生命周期的特定预定义点暂停机器上的操作。

metadata

对象

ObjectMeta 将自动填充所创建的节点。使用此选项来指示创建节点时应使用哪些标签、注解、名称前缀等。

providerID

字符串

providerID 是供应商提供的机器的标识 ID。此字段必须与与此机器对应的节点对象中看到的供应商 ID 匹配。cluster-api 的高级别消费者需要此字段。示例用例是 cluster-api,将 cluster-api 用作供应商。自动缩放器中的清理逻辑将机器与节点进行比较,以查找供应商无法注册为 Kubernetes 节点的机器。使用 cluster-api 作为自动扩展的通用树提供商时,自动扩展需要此字段才能具有机器列表的供应商视图。另一个节点列表是从 k8s apiserver 查询的另一个节点列表,然后做比较以查找未注册的机器并标记为 delete。此字段由行动者设置,并由更高级别的实体(如自动扩展器)使用,该自动扩展将与 cluster-api 作为通用提供程序交互。

providerSpec

对象

providerSpec 详情特定于供应商的配置,以便在节点创建过程中使用。

污点

array

要以增加方式应用到对应节点的污点列表。此列表不会根据其他实体持续覆盖添加到节点的任何其他污点。这些污点应该被主动协调,例如,如果您要求机器控制器应用污点,然后手动删除机器控制器将重新放置的污点,但机器控制器没有删除任何污点

taints[]

对象

此 Taint 附加到任何不容许 Taint 的 pod 上的"effect"的节点。

10.1.2. .spec.lifecycleHooks

描述
lifecycleHooks 允许用户在机器生命周期的特定预定义点暂停机器上的操作。
类型
object
属性类型描述

preDrain

数组

preDrain hook 会阻止机器排空。这也会阻止进一步的生命周期事件,如终止。

preDrain[]

object

LifecycleHook 代表生命周期 hook 的单一实例

preTerminate

数组

preTerminate hook 会阻止机器被终止。在机器排空后,会执行 preTerminate hook。

preTerminate[]

object

LifecycleHook 代表生命周期 hook 的单一实例

10.1.3. .spec.lifecycleHooks.preDrain

描述
preDrain hook 会阻止机器排空。这也会阻止进一步的生命周期事件,如终止。
类型
数组

10.1.4. .spec.lifecycleHooks.preDrain[]

描述
LifecycleHook 代表生命周期 hook 的单一实例
类型
object
必填
  • 名称
  • owner
属性类型描述

name

string

name 为 lifcycle hook 定义唯一名称。名称应是唯一的,最好是 1-3 个单词,在 CamelCase 中,或者可以是命名空间,如 foo.example.com/CamelCase。名称必须是唯一的,并且只能由单个实体管理。

owner

string

Owner 定义生命周期 hook 的所有者。这应该完全描述性,以便用户可以识别谁/负责阻塞生命周期。这可以是控制器的名称(如 clusteroperator/etcd)或管理员管理 hook。

10.1.5. .spec.lifecycleHooks.preTerminate

描述
preTerminate hook 会阻止机器被终止。在机器排空后,会执行 preTerminate hook。
类型
数组

10.1.6. .spec.lifecycleHooks.preTerminate[]

描述
LifecycleHook 代表生命周期 hook 的单一实例
类型
object
必填
  • 名称
  • owner
属性类型描述

name

string

name 为 lifcycle hook 定义唯一名称。名称应是唯一的,最好是 1-3 个单词,在 CamelCase 中,或者可以是命名空间,如 foo.example.com/CamelCase。名称必须是唯一的,并且只能由单个实体管理。

owner

string

Owner 定义生命周期 hook 的所有者。这应该完全描述性,以便用户可以识别谁/负责阻塞生命周期。这可以是控制器的名称(如 clusteroperator/etcd)或管理员管理 hook。

10.1.7. .spec.metadata

描述
ObjectMeta 将自动填充所创建的节点。使用此选项来指示创建节点时应使用哪些标签、注解、名称前缀等。
类型
object
属性类型描述

annotations

对象(字符串)

annotations 是一个无结构的键值映射,它存储有资源,可通过外部工具存储和检索任意元数据。它们不可查询,应在修改对象时保留。更多信息: http://kubernetes.io/docs/user-guide/annotations

generateName

字符串

generateName 是一个可选前缀,服务器使用它来生成唯一的名称 IF,即未提供 Name 字段。如果使用此字段,返回到客户端的名称将与传递的名称不同。这个值也会与唯一的后缀合并。provided 值的验证规则与 Name 字段相同,并可能由使值在服务器上唯一要求的后缀长度截断。如果指定了此字段并且存在生成的名称,服务器将不会返回 409 -,它会返回 201 Created 或 500 with Reason ServerTimeout,表示无法在分配时找到唯一名称,并且客户端应重试(可选在 Retry-After 标头中指定的时间之后)。仅在未指定 Name 时应用。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

对象(字符串)

可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务选择器匹配。更多信息: http://kubernetes.io/docs/user-guide/labels

name

字符串

名称在命名空间中必须是唯一的。创建资源时需要一些资源,但有些资源可能会允许客户端自动请求生成适当名称。name 主要用于创建 idempotence 和配置定义。无法更新。更多信息: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

字符串

namespace 定义每个名称中的空间必须是唯一的。空命名空间等同于 "default" 命名空间,但 "default" 是规范表示。不是所有对象都必须限定到命名空间 - 这些对象的这个字段的值为空。必须是 DNS_LABEL。无法更新。更多信息: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

array

此对象依赖的对象列表。如果列表中删除列表中的 all 对象,则会收集此对象。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,controller 字段设为 true。不能有多个管理控制器。

ownerReferences[]

对象

OwnerReference 包含足够信息,供您标识拥有的对象。所属对象必须与依赖的命名空间相同,或是集群范围的,因此没有命名空间字段。

10.1.8. .spec.metadata.ownerReferences

描述
此对象依赖的对象列表。如果列表中删除列表中的 all 对象,则会收集此对象。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,controller 字段设为 true。不能有多个管理控制器。
类型
array

10.1.9. .spec.metadata.ownerReferences[]

描述
OwnerReference 包含足够信息,供您标识拥有的对象。所属对象必须与依赖的命名空间相同,或是集群范围的,因此没有命名空间字段。
类型
object
必填
  • apiVersion
  • kind
  • name
  • uid
属性类型描述

apiVersion

字符串

引用的 API 版本。

blockOwnerDeletion

布尔值

如果为 true,并且所有者是否有"foregroundDeletion"终结器,则无法从键值存储中删除所有者,直到此引用被删除为止。有关垃圾收集器如何与此字段交互并强制实施前台删除方式,请参阅 https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion。默认为false。要设置此字段,用户需要所有者的"删除"权限,否则将返回 422 (不可处理实体)。

controller

布尔值

如果为 true,则此引用指向管理控制器。

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

uid

字符串

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

10.1.10. .spec.providerSpec

描述
providerSpec 详情特定于供应商的配置,以便在节点创建过程中使用。
类型
object
属性类型描述

value

``

值是资源配置的内联序列化表示。建议供应商维护自己的版本化 API 类型,这些类型应该从此字段序列化/反序列化到组件配置。

10.1.11. .spec.taints

描述
要以增加方式应用到对应节点的污点列表。此列表不会根据其他实体持续覆盖添加到节点的任何其他污点。这些污点应该被主动协调,例如,如果您要求机器控制器应用污点,然后手动删除机器控制器将重新放置的污点,但机器控制器没有删除任何污点
类型
array

10.1.12. .spec.taints[]

描述
此 Taint 附加到任何不容许 Taint 的 pod 上的"effect"的节点。
类型
object
必填
  • effect
  • key
属性类型描述

effect

字符串

必需。污点对不容许该污点的 pod 的影响。有效效果为 NoSchedule、PreferNoSchedule 和 NoExecute。

key

字符串

必需。要应用到节点的污点键。

timeAdded

字符串

TimeAdded 代表添加污点的时间。它仅针对 NoExecute 污点编写。

value

字符串

与污点键对应的污点值。

10.1.13. .status

描述
MachineStatus 定义 Machine 的观察状态
类型
object
属性类型描述

addresses

array

addresses 是分配给机器的地址列表。从云供应商查询(如果可用)。

addresses[]

对象

NodeAddress 包含节点地址的信息。

conditions

array

Conditions 定义机器的当前状态

conditions[]

对象

condition 定义 Machine API 资源操作状态的观察。

errorMessage

字符串

当存在终端问题协调机器,并将包含更详细的字符串时,会设置 errorMessage。不应为控制器一段时间内自动修复的传输错误设置此字段(如服务中断),而是表示机器规格或控制器配置基本错误,并且需要手动干预。终端错误示例在 spec 中是无效的设置组合、控制器不支持的值,或者负责控制器本身被严重错误配置。机器协调期间发生的任何临时错误都可以作为事件添加到 Machine 对象和/或登录控制器的输出中。

errorReason

字符串

ErrorReason 将在终端问题协调机器时设置 ErrorReason,它将包含一个适合机器解释的 succinct 值。不应为控制器一段时间内自动修复的传输错误设置此字段(如服务中断),而是表示机器规格或控制器配置基本错误,并且需要手动干预。终端错误示例在 spec 中是无效的设置组合、控制器不支持的值,或者负责控制器本身被严重错误配置。机器协调期间发生的任何临时错误都可以作为事件添加到 Machine 对象和/或登录控制器的输出中。

lastOperation

对象

lastOperation 描述了 machine-controller 执行的最后一个操作。此 API 应在特定机器上执行的最新操作方面作为历史记录很有用。它还应传达了 latest-operation 的状态,例如,如果它仍然成功完成、失败或完成。

lastUpdated

字符串

lastUpdated 标识此状态最后观察到的时间。

nodeRef

对象

NodeRef 将指向对应的节点(如果存在)。

phase

字符串

phase 代表机器操作的当前阶段。其中之一: Failed, Provisioning, Provisioned, Running, Deleting

providerStatus

``

ProviderStatus 详细介绍了特定于提供程序的状态。建议供应商维护自己的版本化 API 类型,该类型应该从此字段序列化/反序列化。

10.1.14. .status.addresses

描述
addresses 是分配给机器的地址列表。从云供应商查询(如果可用)。
类型
array

10.1.15. .status.addresses[]

描述
NodeAddress 包含节点地址的信息。
类型
object
必填
  • address
  • type
属性类型描述

address

字符串

节点地址。

type

字符串

节点地址类型,一个用于 Hostname、ExternalIP 或 InternalIP 之一。

10.1.16. .status.conditions

描述
Conditions 定义机器的当前状态
类型
array

10.1.17. .status.conditions[]

描述
condition 定义 Machine API 资源操作状态的观察。
类型
object
属性类型描述

lastTransitionTime

字符串

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

message

字符串

人类可读的消息,指示有关转换的详细信息。此字段可能为空。

reason

字符串

在 CamelCase 中条件最后一次转换的原因。特定的 API 可能会选择此字段是否被视为有保证的 API。此字段可能不是空的。

严重性

字符串

严重性提供了明确的 Reason 代码分类,因此用户或机器可以立即了解当前的情况并相应地操作。Severity 字段必须只在 Status=False 时才会设置。

status

字符串

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

type

字符串

CamelCase 或 foo.example.com/CamelCase 中的条件类型。许多 .condition.type 值在 Available 资源之间是一致的,但由于任意条件可能很有用(请参阅 .node.status.conditions),不限制性非常重要。

10.1.18. .status.lastOperation

描述
lastOperation 描述了 machine-controller 执行的最后一个操作。此 API 应在特定机器上执行的最新操作方面作为历史记录很有用。它还应传达了 latest-operation 的状态,例如,如果它仍然成功完成、失败或完成。
类型
object
属性类型描述

description

字符串

description 是最后一次操作的人类可读描述。

lastUpdated

字符串

lastUpdated 是 LastOperation API 为 last-updated 的时间戳。

state

字符串

state 是最后一次执行的操作的当前状态。例如处理、失败、成功等

type

字符串

type 是最近执行的操作类型。例如创建、删除、更新等

10.1.19. .status.nodeRef

描述
NodeRef 将指向对应的节点(如果存在)。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

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

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

10.2. API 端点

可用的 API 端点如下:

  • /apis/machine.openshift.io/v1beta1/machines

    • GET :列出 Machine 类型的对象
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machines

    • DELETE :删除机器集合
    • GET :列出 Machine 类型的对象
    • POST :创建机器
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machines/{name}

    • DELETE :删除机器
    • GET :读取指定的机器
    • PATCH: 部分更新指定的机器
    • PUT :替换指定的机器
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machines/{name}/status

    • GET :指定机器的读取状态
    • PATCH: 部分更新指定机器的状态
    • PUT :替换指定机器的状态

10.2.1. /apis/machine.openshift.io/v1beta1/machines

HTTP 方法
GET
描述
列出 Machine 类型的对象
表 10.1. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineList 模式

401 - Unauthorized

10.2.2. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machines

HTTP 方法
DELETE
描述
删除机器集合
表 10.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 Machine 类型的对象
表 10.3. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建机器
表 10.4. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 10.5. 主体参数
参数类型描述

正文(body)

Machine 模式

 
表 10.6. HTTP 响应
HTTP 代码响应正文

200 - OK

Machine 模式

201 - Created

Machine 模式

202 - Accepted

Machine 模式

401 - Unauthorized

10.2.3. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machines/{name}

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

name

字符串

机器的名称

HTTP 方法
DELETE
描述
删除机器
表 10.8. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 10.9. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的机器
表 10.10. HTTP 响应
HTTP 代码响应正文

200 - OK

Machine 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的机器
表 10.11. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 10.12. HTTP 响应
HTTP 代码响应正文

200 - OK

Machine 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的机器
表 10.13. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 10.14. 主体参数
参数类型描述

正文(body)

Machine 模式

 
表 10.15. HTTP 响应
HTTP 代码响应正文

200 - OK

Machine 模式

201 - Created

Machine 模式

401 - Unauthorized

10.2.4. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machines/{name}/status

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

name

字符串

机器的名称

HTTP 方法
GET
描述
指定机器的读取状态
表 10.17. HTTP 响应
HTTP 代码响应正文

200 - OK

Machine 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定机器的状态
表 10.18. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 10.19. HTTP 响应
HTTP 代码响应正文

200 - OK

Machine 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定机器的状态
表 10.20. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 10.21. 主体参数
参数类型描述

正文(body)

Machine 模式

 
表 10.22. HTTP 响应
HTTP 代码响应正文

200 - OK

Machine 模式

201 - Created

Machine 模式

401 - Unauthorized

第 11 章 MachineSet [machine.openshift.io/v1beta1]

描述
MachineSet 确保在任意给定时间运行指定数量的机器副本。兼容性级别 2:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
类型
object

11.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

对象

MachineSetSpec 定义所需的 MachineSet 状态

status

对象

MachineSetStatus 定义 MachineSet 的观察状态

11.1.1. .spec

描述
MachineSetSpec 定义所需的 MachineSet 状态
类型
object
属性类型描述

deletePolicy

字符串

DeletePolicy 定义在缩减时用来识别要删除的节点的策略。默认为 "Random"。有效值为 "Random, "Newest", "Oldest"

minReadySeconds

整数

MinReadySeconds 是新创建的机器应准备好的最小秒数。默认为 0 (计算机在就绪后立即被视为可用)

replicas

整数

replicas 是所需副本数。这是一个指针,用于区分显式零和未指定的。默认为 1。

selector

对象

选择器是对应该与副本数匹配的机器的标签查询。要由此 MachineSet 控制标签键和值,必须匹配。它必须与机器模板的标签匹配。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

模板

对象

模板是描述在检测到副本不足时将创建的机器的对象。

11.1.2. .spec.selector

描述
选择器是对应该与副本数匹配的机器的标签查询。要由此 MachineSet 控制标签键和值,必须匹配。它必须与机器模板的标签匹配。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
类型
object
属性类型描述

matchExpressions

array

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

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

11.1.3. .spec.selector.matchExpressions

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

11.1.4. .spec.selector.matchExpressions[]

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

key

字符串

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

operator

字符串

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

数组(字符串)

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

11.1.5. .spec.template

描述
模板是描述在检测到副本不足时将创建的机器的对象。
类型
object
属性类型描述

metadata

对象

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

spec

对象

指定机器所需行为的规格。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

11.1.6. .spec.template.metadata

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

annotations

对象(字符串)

annotations 是一个无结构的键值映射,它存储有资源,可通过外部工具存储和检索任意元数据。它们不可查询,应在修改对象时保留。更多信息: http://kubernetes.io/docs/user-guide/annotations

generateName

字符串

generateName 是一个可选前缀,服务器使用它来生成唯一的名称 IF,即未提供 Name 字段。如果使用此字段,返回到客户端的名称将与传递的名称不同。这个值也会与唯一的后缀合并。provided 值的验证规则与 Name 字段相同,并可能由使值在服务器上唯一要求的后缀长度截断。如果指定了此字段并且存在生成的名称,服务器将不会返回 409 -,它会返回 201 Created 或 500 with Reason ServerTimeout,表示无法在分配时找到唯一名称,并且客户端应重试(可选在 Retry-After 标头中指定的时间之后)。仅在未指定 Name 时应用。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

对象(字符串)

可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务选择器匹配。更多信息: http://kubernetes.io/docs/user-guide/labels

name

字符串

名称在命名空间中必须是唯一的。创建资源时需要一些资源,但有些资源可能会允许客户端自动请求生成适当名称。name 主要用于创建 idempotence 和配置定义。无法更新。更多信息: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

字符串

namespace 定义每个名称中的空间必须是唯一的。空命名空间等同于 "default" 命名空间,但 "default" 是规范表示。不是所有对象都必须限定到命名空间 - 这些对象的这个字段的值为空。必须是 DNS_LABEL。无法更新。更多信息: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

array

此对象依赖的对象列表。如果列表中删除列表中的 all 对象,则会收集此对象。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,controller 字段设为 true。不能有多个管理控制器。

ownerReferences[]

对象

OwnerReference 包含足够信息,供您标识拥有的对象。所属对象必须与依赖的命名空间相同,或是集群范围的,因此没有命名空间字段。

11.1.7. .spec.template.metadata.ownerReferences

描述
此对象依赖的对象列表。如果列表中删除列表中的 all 对象,则会收集此对象。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,controller 字段设为 true。不能有多个管理控制器。
类型
array

11.1.8. .spec.template.metadata.ownerReferences[]

描述
OwnerReference 包含足够信息,供您标识拥有的对象。所属对象必须与依赖的命名空间相同,或是集群范围的,因此没有命名空间字段。
类型
object
必填
  • apiVersion
  • kind
  • name
  • uid
属性类型描述

apiVersion

字符串

引用的 API 版本。

blockOwnerDeletion

布尔值

如果为 true,并且所有者是否有"foregroundDeletion"终结器,则无法从键值存储中删除所有者,直到此引用被删除为止。有关垃圾收集器如何与此字段交互并强制实施前台删除方式,请参阅 https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion。默认为false。要设置此字段,用户需要所有者的"删除"权限,否则将返回 422 (不可处理实体)。

controller

布尔值

如果为 true,则此引用指向管理控制器。

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

uid

字符串

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

11.1.9. .spec.template.spec

描述
指定机器所需行为的规格。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
类型
object
属性类型描述

lifecycleHooks

object

lifecycleHooks 允许用户在机器生命周期的特定预定义点暂停机器上的操作。

metadata

对象

ObjectMeta 将自动填充所创建的节点。使用此选项来指示创建节点时应使用哪些标签、注解、名称前缀等。

providerID

字符串

providerID 是供应商提供的机器的标识 ID。此字段必须与与此机器对应的节点对象中看到的供应商 ID 匹配。cluster-api 的高级别消费者需要此字段。示例用例是 cluster-api,将 cluster-api 用作供应商。自动缩放器中的清理逻辑将机器与节点进行比较,以查找供应商无法注册为 Kubernetes 节点的机器。使用 cluster-api 作为自动扩展的通用树提供商时,自动扩展需要此字段才能具有机器列表的供应商视图。另一个节点列表是从 k8s apiserver 查询的另一个节点列表,然后做比较以查找未注册的机器并标记为 delete。此字段由行动者设置,并由更高级别的实体(如自动扩展器)使用,该自动扩展将与 cluster-api 作为通用提供程序交互。

providerSpec

对象

providerSpec 详情特定于供应商的配置,以便在节点创建过程中使用。

污点

array

要以增加方式应用到对应节点的污点列表。此列表不会根据其他实体持续覆盖添加到节点的任何其他污点。这些污点应该被主动协调,例如,如果您要求机器控制器应用污点,然后手动删除机器控制器将重新放置的污点,但机器控制器没有删除任何污点

taints[]

对象

此 Taint 附加到任何不容许 Taint 的 pod 上的"effect"的节点。

11.1.10. .spec.template.spec.lifecycleHooks

描述
lifecycleHooks 允许用户在机器生命周期的特定预定义点暂停机器上的操作。
类型
object
属性类型描述

preDrain

数组

preDrain hook 会阻止机器排空。这也会阻止进一步的生命周期事件,如终止。

preDrain[]

object

LifecycleHook 代表生命周期 hook 的单一实例

preTerminate

数组

preTerminate hook 会阻止机器被终止。在机器排空后,会执行 preTerminate hook。

preTerminate[]

object

LifecycleHook 代表生命周期 hook 的单一实例

11.1.11. .spec.template.spec.lifecycleHooks.preDrain

描述
preDrain hook 会阻止机器排空。这也会阻止进一步的生命周期事件,如终止。
类型
数组

11.1.12. .spec.template.spec.lifecycleHooks.preDrain[]

描述
LifecycleHook 代表生命周期 hook 的单一实例
类型
object
必填
  • 名称
  • owner
属性类型描述

name

string

name 为 lifcycle hook 定义唯一名称。名称应是唯一的,最好是 1-3 个单词,在 CamelCase 中,或者可以是命名空间,如 foo.example.com/CamelCase。名称必须是唯一的,并且只能由单个实体管理。

owner

string

Owner 定义生命周期 hook 的所有者。这应该完全描述性,以便用户可以识别谁/负责阻塞生命周期。这可以是控制器的名称(如 clusteroperator/etcd)或管理员管理 hook。

11.1.13. .spec.template.spec.lifecycleHooks.preTerminate

描述
preTerminate hook 会阻止机器被终止。在机器排空后,会执行 preTerminate hook。
类型
数组

11.1.14. .spec.template.spec.lifecycleHooks.preTerminate[]

描述
LifecycleHook 代表生命周期 hook 的单一实例
类型
object
必填
  • 名称
  • owner
属性类型描述

name

string

name 为 lifcycle hook 定义唯一名称。名称应是唯一的,最好是 1-3 个单词,在 CamelCase 中,或者可以是命名空间,如 foo.example.com/CamelCase。名称必须是唯一的,并且只能由单个实体管理。

owner

string

Owner 定义生命周期 hook 的所有者。这应该完全描述性,以便用户可以识别谁/负责阻塞生命周期。这可以是控制器的名称(如 clusteroperator/etcd)或管理员管理 hook。

11.1.15. .spec.template.spec.metadata

描述
ObjectMeta 将自动填充所创建的节点。使用此选项来指示创建节点时应使用哪些标签、注解、名称前缀等。
类型
object
属性类型描述

annotations

对象(字符串)

annotations 是一个无结构的键值映射,它存储有资源,可通过外部工具存储和检索任意元数据。它们不可查询,应在修改对象时保留。更多信息: http://kubernetes.io/docs/user-guide/annotations

generateName

字符串

generateName 是一个可选前缀,服务器使用它来生成唯一的名称 IF,即未提供 Name 字段。如果使用此字段,返回到客户端的名称将与传递的名称不同。这个值也会与唯一的后缀合并。provided 值的验证规则与 Name 字段相同,并可能由使值在服务器上唯一要求的后缀长度截断。如果指定了此字段并且存在生成的名称,服务器将不会返回 409 -,它会返回 201 Created 或 500 with Reason ServerTimeout,表示无法在分配时找到唯一名称,并且客户端应重试(可选在 Retry-After 标头中指定的时间之后)。仅在未指定 Name 时应用。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

对象(字符串)

可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务选择器匹配。更多信息: http://kubernetes.io/docs/user-guide/labels

name

字符串

名称在命名空间中必须是唯一的。创建资源时需要一些资源,但有些资源可能会允许客户端自动请求生成适当名称。name 主要用于创建 idempotence 和配置定义。无法更新。更多信息: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

字符串

namespace 定义每个名称中的空间必须是唯一的。空命名空间等同于 "default" 命名空间,但 "default" 是规范表示。不是所有对象都必须限定到命名空间 - 这些对象的这个字段的值为空。必须是 DNS_LABEL。无法更新。更多信息: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

array

此对象依赖的对象列表。如果列表中删除列表中的 all 对象,则会收集此对象。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,controller 字段设为 true。不能有多个管理控制器。

ownerReferences[]

对象

OwnerReference 包含足够信息,供您标识拥有的对象。所属对象必须与依赖的命名空间相同,或是集群范围的,因此没有命名空间字段。

11.1.16. .spec.template.spec.metadata.ownerReferences

描述
此对象依赖的对象列表。如果列表中删除列表中的 all 对象,则会收集此对象。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,controller 字段设为 true。不能有多个管理控制器。
类型
array

11.1.17. .spec.template.spec.metadata.ownerReferences[]

描述
OwnerReference 包含足够信息,供您标识拥有的对象。所属对象必须与依赖的命名空间相同,或是集群范围的,因此没有命名空间字段。
类型
object
必填
  • apiVersion
  • kind
  • name
  • uid
属性类型描述

apiVersion

字符串

引用的 API 版本。

blockOwnerDeletion

布尔值

如果为 true,并且所有者是否有"foregroundDeletion"终结器,则无法从键值存储中删除所有者,直到此引用被删除为止。有关垃圾收集器如何与此字段交互并强制实施前台删除方式,请参阅 https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion。默认为false。要设置此字段,用户需要所有者的"删除"权限,否则将返回 422 (不可处理实体)。

controller

布尔值

如果为 true,则此引用指向管理控制器。

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

uid

字符串

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

11.1.18. .spec.template.spec.providerSpec

描述
providerSpec 详情特定于供应商的配置,以便在节点创建过程中使用。
类型
object
属性类型描述

value

``

值是资源配置的内联序列化表示。建议供应商维护自己的版本化 API 类型,这些类型应该从此字段序列化/反序列化到组件配置。

11.1.19. .spec.template.spec.taints

描述
要以增加方式应用到对应节点的污点列表。此列表不会根据其他实体持续覆盖添加到节点的任何其他污点。这些污点应该被主动协调,例如,如果您要求机器控制器应用污点,然后手动删除机器控制器将重新放置的污点,但机器控制器没有删除任何污点
类型
array

11.1.20. .spec.template.spec.taints[]

描述
此 Taint 附加到任何不容许 Taint 的 pod 上的"effect"的节点。
类型
object
必填
  • effect
  • key
属性类型描述

effect

字符串

必需。污点对不容许该污点的 pod 的影响。有效效果为 NoSchedule、PreferNoSchedule 和 NoExecute。

key

字符串

必需。要应用到节点的污点键。

timeAdded

字符串

TimeAdded 代表添加污点的时间。它仅针对 NoExecute 污点编写。

value

字符串

与污点键对应的污点值。

11.1.21. .status

描述
MachineSetStatus 定义 MachineSet 的观察状态
类型
object
属性类型描述

availableReplicas

整数

此 MachineSet 的可用副本数(至少为 minReadySeconds)。

errorMessage

字符串

 

errorReason

字符串

如果终端问题协调副本,则会设置 ErrorReason 和 ErrorMessage。ErrorReason 将填充适合机器解释的 succinct 值,而 ErrorMessage 将包含更详细的字符串,适合日志记录和人为消耗。这些字段不应设置为传输错误,因为控制器会随着时间的推移自动修复(如服务中断),而是表示 MachineTemplate 的 spec 或机器配置需要手动干预。终端错误示例在 spec 中是无效的设置组合,机器控制器不支持的值,或者负责的机器控制器本身被严重错误配置。在 Machine 协调过程中发生的任何临时错误都可以作为事件添加到 MachineSet 对象和/或登录控制器的输出中。

fullyLabeledReplicas

整数

具有与 MachineSet 机器模板标签匹配的副本数量。

observedGeneration

整数

observedGeneration 反映了最近观察到的 MachineSet 的生成。

readyReplicas

整数

此 MachineSet 的就绪副本数。当节点被创建并且为"Ready"时,机器被视为就绪。

replicas

整数

replicas 是最近观察到的副本数。

11.2. API 端点

可用的 API 端点如下:

  • /apis/machine.openshift.io/v1beta1/machinesets

    • GET: 列出 MachineSet 类型的对象
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinesets

    • DELETE :删除 MachineSet 集合
    • GET: 列出 MachineSet 类型的对象
    • POST :创建 MachineSet
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinesets/{name}

    • DELETE :删除 MachineSet
    • GET :读取指定的 MachineSet
    • PATCH: 部分更新指定的 MachineSet
    • PUT :替换指定的 MachineSet
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinesets/{name}/scale

    • GET :读取指定 MachineSet 的规模
    • PATCH: 部分更新指定 MachineSet 的规模
    • PUT :替换指定 MachineSet 的规模
  • /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinesets/{name}/status

    • GET :指定 MachineSet 的读取状态
    • PATCH: 部分更新指定 MachineSet 的状态
    • PUT :替换指定 MachineSet 的状态

11.2.1. /apis/machine.openshift.io/v1beta1/machinesets

HTTP 方法
GET
描述
列出 MachineSet 类型的对象
表 11.1. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSetList 模式

401 - Unauthorized

11.2.2. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinesets

HTTP 方法
DELETE
描述
删除 MachineSet 集合
表 11.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 MachineSet 类型的对象
表 11.3. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSetList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 MachineSet
表 11.4. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 11.5. 主体参数
参数类型描述

正文(body)

MachineSet 模式

 
表 11.6. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSet 模式

201 - Created

MachineSet 模式

202 - Accepted

MachineSet 模式

401 - Unauthorized

11.2.3. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinesets/{name}

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

name

字符串

MachineSet 的名称

HTTP 方法
DELETE
描述
删除 MachineSet
表 11.8. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 11.9. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 MachineSet
表 11.10. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSet 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 MachineSet
表 11.11. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 11.12. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSet 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 MachineSet
表 11.13. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 11.14. 主体参数
参数类型描述

正文(body)

MachineSet 模式

 
表 11.15. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSet 模式

201 - Created

MachineSet 模式

401 - Unauthorized

11.2.4. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinesets/{name}/scale

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

name

字符串

MachineSet 的名称

HTTP 方法
GET
描述
指定 MachineSet 的读取规模
表 11.17. HTTP 响应
HTTP 代码响应正文

200 - OK

scale 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 MachineSet 的规模
表 11.18. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 11.19. HTTP 响应
HTTP 代码响应正文

200 - OK

scale 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 MachineSet 的规模
表 11.20. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 11.21. 主体参数
参数类型描述

正文(body)

scale 模式

 
表 11.22. HTTP 响应
HTTP 代码响应正文

200 - OK

scale 模式

201 - Created

scale 模式

401 - Unauthorized

11.2.5. /apis/machine.openshift.io/v1beta1/namespaces/{namespace}/machinesets/{name}/status

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

name

字符串

MachineSet 的名称

HTTP 方法
GET
描述
指定 MachineSet 的读取状态
表 11.24. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSet 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 MachineSet 的状态
表 11.25. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 11.26. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSet 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 MachineSet 的状态
表 11.27. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

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

表 11.28. 主体参数
参数类型描述

正文(body)

MachineSet 模式

 
表 11.29. HTTP 响应
HTTP 代码响应正文

200 - OK

MachineSet 模式

201 - Created

MachineSet 模式

401 - Unauthorized

Legal Notice

Copyright © 2024 Red Hat, Inc.

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.