第 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),不限制性非常重要。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.