MachineHealthCheck 是 machinehealthchecks API 的模式 兼容性级别 2:在主要版本中至少稳定 9 个月或 3 个次要版本(以较长者为准)。
MachineHealthCheck 是 machinehealthchecks API 的模式 兼容性级别 2:在主要版本中至少稳定 9 个月或 3 个次要版本(以较长者为准)。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。使用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
机器健康检查策略的规范 |
|
|
MachineHealthCheck 资源的最新观察状态 |
机器健康检查策略的规范
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
只有当“selector”选择的最多“MaxUnhealthy”台机器不健康时,才允许进行进一步的补救。预期为正整数或百分比值。百分比值必须是正整数,上限为 100%。0 和 0% 均有效,并将阻止所有补救。 |
|
|
超过此持续时间仍未启动节点的机器将被视为故障并进行修复。要防止移除没有节点的机器,请将此值显式设置为“0”以禁用启动检查。预期为无符号持续时间字符串,由十进制数字组成,每个数字可以包含可选的小数部分和单位后缀,例如“300ms”、“1.5h”或“2h45m”。有效的单位为“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。 |
|
|
RemediationTemplate 是对基础设施提供商提供的修复模板的引用。此字段完全可选,填充后,MachineHealthCheck 控制器将根据引用的模板创建一个新对象,并将机器的修复工作交给 Machine API 运算符外部的控制器。 |
|
|
标签选择器,用于匹配将对其运行状况进行检查的机器。注意:空选择器将匹配所有机器。 |
|
|
UnhealthyConditions 包含一系列用于确定节点是否被认为不健康的条件。这些条件通过逻辑 OR 组合,即,如果满足任何一个条件,则节点不健康。 |
|
|
UnhealthyCondition 表示节点条件类型和值,并指定超时时间为持续时间。当指定状态的命名条件持续时间至少达到超时值时,节点将被视为不健康。 |
RemediationTemplate 是对基础设施提供商提供的修复模板的引用。此字段完全可选,填充后,MachineHealthCheck 控制器将根据引用的模板创建一个新对象,并将机器的修复工作交给 Machine API 运算符外部的控制器。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的 API 版本。 |
|
|
如果引用的是对象的一部分而不是整个对象,则此字符串应包含有效的 JSON/Go 字段访问语句,例如 desiredState.manifest.containers[2]。例如,如果对象引用是指 Pod 中的一个容器,则其值将类似于:“spec.containers{name}”(其中“name”指的是触发事件的容器名称)或者如果没有指定容器名称则为“spec.containers[2]”(此 Pod 中索引为 2 的容器)。选择此语法只是为了提供一种定义明确的方式来引用对象的一部分。待办事项:此设计并非最终设计,此字段将来可能会更改。 |
|
|
引用的类型。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
|
引用的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names |
|
|
引用的命名空间。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/namespaces/ |
|
|
此引用的特定 resourceVersion(如果存在)。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
|
引用的 UID。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#uids |
标签选择器,用于匹配将对其运行状况进行检查的机器。注意:空选择器将匹配所有机器。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器需求列表。这些需求通过 AND 连接。 |
|
|
标签选择器需求是一个包含值、键和关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些需求通过 AND 连接。 |
标签选择器需求是一个包含值、键和关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符为 In 或 NotIn,则 values 数组必须非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。 |
UnhealthyConditions 包含一系列用于确定节点是否被认为不健康的条件。这些条件通过逻辑 OR 组合,即,如果满足任何一个条件,则节点不健康。
数组
UnhealthyCondition 表示节点条件类型和值,并指定超时时间为持续时间。当指定状态的命名条件持续时间至少达到超时值时,节点将被视为不健康。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
预期为无符号持续时间字符串,由十进制数字组成,每个数字可以包含可选的小数部分和单位后缀,例如“300ms”、“1.5h”或“2h45m”。有效的单位为“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。 |
|
|
MachineHealthCheck 资源的最新观察状态
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Conditions 定义 MachineHealthCheck 的当前状态。 |
|
|
Condition 定义对 Machine API 资源操作状态的观察。 |
|
|
此机器运行状况检查统计的机器总数。 |
|
|
此机器运行状况检查统计的机器总数。 |
|
|
RemediationsAllowed 是此机器运行状况检查允许的进一步修复次数,在应用 maxUnhealthy 短路之前。 |
Condition 定义对 Machine API 资源操作状态的观察。
对象
type
属性 | 类型 | 描述 |
---|---|---|
|
|
条件从一种状态转换到另一种状态的最后时间。这应该是底层条件发生变化的时间。如果不知道,则可以使用 API 字段发生变化的时间。 |
|
|
指示转换详细信息的人类可读消息。此字段可能为空。 |
|
|
条件最后一次转换的原因,采用驼峰式命名法。特定 API 可以选择此字段是否被视为保证的 API。此字段不能为空。 |
|
|
Severity 提供对 Reason 代码的明确分类,以便用户或机器可以立即了解当前情况并采取相应措施。只有当 Status=False 时才必须设置 Severity 字段。 |
|
|
条件的状态,True、False、Unknown 之一。 |
|
|
条件的类型,采用驼峰式命名法或 foo.example.com/CamelCase 格式。许多 .condition.type 值在资源中是一致的,例如 Available,但由于任意条件可能有用(参见 .node.status.conditions),因此消除冲突的能力非常重要。 |
提供以下 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 的状态
GET
列出 MachineHealthCheck 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 MachineHealthCheck 集合
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 MachineHealthCheck 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个 MachineHealthCheck
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段之前的默认行为。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
MachineHealthCheck 的名称 |
DELETE
删除 MachineHealthCheck
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 MachineHealthCheck
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 MachineHealthCheck
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段之前的默认行为。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 MachineHealthCheck
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段之前的默认行为。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
MachineHealthCheck 的名称 |
GET
读取指定的 MachineHealthCheck 的状态
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 MachineHealthCheck 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段之前的默认行为。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 MachineHealthCheck 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段之前的默认行为。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |