×

规格

属性 类型 描述

apiVersion

字符串

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

kind

字符串

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

metadata

ObjectMeta

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

spec

对象

机器健康检查策略的规范

status

对象

MachineHealthCheck 资源的最新观察状态

.spec

描述

机器健康检查策略的规范

类型

对象

属性 类型 描述

maxUnhealthy

整数或字符串

只有当“selector”选择的最多“MaxUnhealthy”台机器不健康时,才允许进行进一步的补救。预期为正整数或百分比值。百分比值必须是正整数,上限为 100%。0 和 0% 均有效,并将阻止所有补救。

nodeStartupTimeout

字符串

超过此持续时间仍未启动节点的机器将被视为故障并进行修复。要防止移除没有节点的机器,请将此值显式设置为“0”以禁用启动检查。预期为无符号持续时间字符串,由十进制数字组成,每个数字可以包含可选的小数部分和单位后缀,例如“300ms”、“1.5h”或“2h45m”。有效的单位为“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。

remediationTemplate

对象

RemediationTemplate 是对基础设施提供商提供的修复模板的引用。此字段完全可选,填充后,MachineHealthCheck 控制器将根据引用的模板创建一个新对象,并将机器的修复工作交给 Machine API 运算符外部的控制器。

selector

对象

标签选择器,用于匹配将对其运行状况进行检查的机器。注意:空选择器将匹配所有机器。

unhealthyConditions

数组

UnhealthyConditions 包含一系列用于确定节点是否被认为不健康的条件。这些条件通过逻辑 OR 组合,即,如果满足任何一个条件,则节点不健康。

unhealthyConditions[]

对象

UnhealthyCondition 表示节点条件类型和值,并指定超时时间为持续时间。当指定状态的命名条件持续时间至少达到超时值时,节点将被视为不健康。

.spec.remediationTemplate

描述

RemediationTemplate 是对基础设施提供商提供的修复模板的引用。此字段完全可选,填充后,MachineHealthCheck 控制器将根据引用的模板创建一个新对象,并将机器的修复工作交给 Machine API 运算符外部的控制器。

类型

对象

属性 类型 描述

apiVersion

字符串

引用的 API 版本。

fieldPath

字符串

如果引用的是对象的一部分而不是整个对象,则此字符串应包含有效的 JSON/Go 字段访问语句,例如 desiredState.manifest.containers[2]。例如,如果对象引用是指 Pod 中的一个容器,则其值将类似于:“spec.containers{name}”(其中“name”指的是触发事件的容器名称)或者如果没有指定容器名称则为“spec.containers[2]”(此 Pod 中索引为 2 的容器)。选择此语法只是为了提供一种定义明确的方式来引用对象的一部分。待办事项:此设计并非最终设计,此字段将来可能会更改。

kind

字符串

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

name

字符串

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

namespace

字符串

引用的命名空间。更多信息:https://kubernetes.ac.cn/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.ac.cn/docs/concepts/overview/working-with-objects/names/#uids

.spec.selector

描述

标签选择器,用于匹配将对其运行状况进行检查的机器。注意:空选择器将匹配所有机器。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器需求列表。这些需求通过 AND 连接。

matchExpressions[]

对象

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

matchLabels

对象(字符串)

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

.spec.selector.matchExpressions

描述

matchExpressions 是标签选择器需求列表。这些需求通过 AND 连接。

类型

数组

.spec.selector.matchExpressions[]

描述

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

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

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

operator

字符串

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

values

数组(字符串)

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

.spec.unhealthyConditions

描述

UnhealthyConditions 包含一系列用于确定节点是否被认为不健康的条件。这些条件通过逻辑 OR 组合,即,如果满足任何一个条件,则节点不健康。

类型

数组

.spec.unhealthyConditions[]

描述

UnhealthyCondition 表示节点条件类型和值,并指定超时时间为持续时间。当指定状态的命名条件持续时间至少达到超时值时,节点将被视为不健康。

类型

对象

属性 类型 描述

status

字符串

timeout

字符串

预期为无符号持续时间字符串,由十进制数字组成,每个数字可以包含可选的小数部分和单位后缀,例如“300ms”、“1.5h”或“2h45m”。有效的单位为“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。

type

字符串

.status

描述

MachineHealthCheck 资源的最新观察状态

类型

对象

属性 类型 描述

conditions

数组

Conditions 定义 MachineHealthCheck 的当前状态。

conditions[]

对象

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

currentHealthy

整数

此机器运行状况检查统计的机器总数。

expectedMachines

整数

此机器运行状况检查统计的机器总数。

remediationsAllowed

整数

RemediationsAllowed 是此机器运行状况检查允许的进一步修复次数,在应用 maxUnhealthy 短路之前。

.status.conditions

描述

Conditions 定义 MachineHealthCheck 的当前状态。

类型

数组

.status.conditions[]

描述

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

类型

对象

必需
  • type

属性 类型 描述

lastTransitionTime

字符串

条件从一种状态转换到另一种状态的最后时间。这应该是底层条件发生变化的时间。如果不知道,则可以使用 API 字段发生变化的时间。

message

字符串

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

reason

字符串

条件最后一次转换的原因,采用驼峰式命名法。特定 API 可以选择此字段是否被视为保证的 API。此字段不能为空。

severity

字符串

Severity 提供对 Reason 代码的明确分类,以便用户或机器可以立即了解当前情况并采取相应措施。只有当 Status=False 时才必须设置 Severity 字段。

status

字符串

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

type

字符串

条件的类型,采用驼峰式命名法或 foo.example.com/CamelCase 格式。许多 .condition.type 值在资源中是一致的,例如 Available,但由于任意条件可能有用(参见 .node.status.conditions),因此消除冲突的能力非常重要。

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 的状态

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

HTTP 方法

GET

描述

列出 MachineHealthCheck 类型的对象

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

200 - OK

MachineHealthCheckList 模式

401 - 未授权

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

HTTP 方法

DELETE

描述

删除 MachineHealthCheck 集合

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

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 MachineHealthCheck 类型的对象

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

200 - OK

MachineHealthCheckList 模式

401 - 未授权

HTTP 方法

POST

描述

创建一个 MachineHealthCheck

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

MachineHealthCheck 模式

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

200 - OK

MachineHealthCheck 模式

201 - 已创建

MachineHealthCheck 模式

202 - 已接受

MachineHealthCheck 模式

401 - 未授权

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

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

name

字符串

MachineHealthCheck 的名称

HTTP 方法

DELETE

描述

删除 MachineHealthCheck

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

dryRun

字符串

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

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

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 MachineHealthCheck

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

200 - OK

MachineHealthCheck 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 MachineHealthCheck

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

MachineHealthCheck 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 MachineHealthCheck

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

MachineHealthCheck 模式

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

200 - OK

MachineHealthCheck 模式

201 - 已创建

MachineHealthCheck 模式

401 - 未授权

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

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

name

字符串

MachineHealthCheck 的名称

HTTP 方法

GET

描述

读取指定的 MachineHealthCheck 的状态

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

200 - OK

MachineHealthCheck 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 MachineHealthCheck 的状态

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

MachineHealthCheck 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 MachineHealthCheck 的状态

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

MachineHealthCheck 模式

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

200 - OK

MachineHealthCheck 模式

201 - 已创建

MachineHealthCheck 模式

401 - 未授权