8.6. ClusterVersion [config.openshift.io/v1]
- 描述
- ClusterVersion 是 ClusterVersionOperator 的配置。这是与自动更新相关的参数的位置。
- 类型
-
对象
- 必填
-
spec
-
8.6.1. 规格 复制链接链接已复制到粘贴板!
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: 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 | |
|
| spec 是集群版本的所需状态 - Operator 将正常工作,以确保所需的版本应用到集群。 |
|
| status 包含有关可用更新以及任何 in-progress 更新的信息。 |
8.6.1.1. .spec 复制链接链接已复制到粘贴板!
- 描述
- spec 是集群版本的所需状态 - Operator 将正常工作,以确保所需的版本应用到集群。
- 类型
-
对象
- 必填
-
clusterID
-
属性 | 类型 | 描述 |
---|---|---|
|
| 频道(Channel)是明确请求将非默认更新应用到此集群的标识符。默认频道将包含适合生产集群的稳定更新。 |
|
| ClusterID 唯一标识此集群。这应该是一个 RFC4122 UUID 值(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。这是必填字段。 |
|
| desiredUpdate 是一个可选字段,指明集群版本所需的值。设置此值将触发升级(如果当前版本与所需版本不匹配)。推荐的更新值集合列为可用更新处于状态的一部分,并且设置范围以外的值可能会导致升级失败。如果 availableUpdates 或历史记录中存在该版本的更新,您可以在不设置镜像的情况下指定 version 字段。如果升级失败,Operator 将停止并报告有关故障组件的状态。将所需的更新值设置为之前的版本将导致尝试回滚。并非所有回滚都将成功。 |
|
| 覆盖是由集群版本 operator 管理的组件的超额列表。标记组件非受管组件将阻止 Operator 创建或更新对象。 |
|
| ComponentOverride 允许覆盖组件的集群版本 Operator 行为。 |
|
| 上游可以用来指定首选的更新服务器。默认情况下,它将为集群和地区使用正确的更新服务器。 |
8.6.1.2. .spec.desiredUpdate 复制链接链接已复制到粘贴板!
- 描述
- desiredUpdate 是一个可选字段,指明集群版本所需的值。设置此值将触发升级(如果当前版本与所需版本不匹配)。推荐的更新值集合列为可用更新处于状态的一部分,并且设置范围以外的值可能会导致升级失败。如果 availableUpdates 或历史记录中存在该版本的更新,您可以在不设置镜像的情况下指定 version 字段。如果升级失败,Operator 将停止并报告有关故障组件的状态。将所需的更新值设置为之前的版本将导致尝试回滚。并非所有回滚都将成功。
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
| force 允许管理员更新到有失败验证的镜像,不会在 availableUpdates 列表中出现,否则在更新时会被常规保护阻止。只有在从带外验证了所提供的镜像的真实性时,才应使用此选项,因为提供的镜像将使用对集群的完整管理访问权限运行。不要将此标志与来自未知或潜在的恶意源的镜像一起使用。在部署新更新前,此标志不会覆盖其他形式的一致性检查。 |
|
| image 是包含更新的容器镜像位置。当此字段是 spec 的一部分时,如果指定了 version,则 image 是可选的,并且 availableUpdates 字段包含匹配的版本。 |
|
| 版本是一个语义版本,用于标识更新版本。当此字段是 spec 的一部分时,如果指定 image,版本是可选的。 |
8.6.1.3. .spec.overrides 复制链接链接已复制到粘贴板!
- 描述
- 覆盖是由集群版本 operator 管理的组件的超额列表。标记组件非受管组件将阻止 Operator 创建或更新对象。
- 类型
-
array
8.6.1.4. .spec.overrides[] 复制链接链接已复制到粘贴板!
- 描述
- ComponentOverride 允许覆盖组件的集群版本 Operator 行为。
- 类型
-
对象
- 必填
-
group
-
kind
-
name
-
namespace
-
Unmanaged
-
属性 | 类型 | 描述 |
---|---|---|
|
| group 标识 kind 所在的 API 组。 |
|
| kind 表示要覆盖的对象。 |
|
| name 是组件的名称。 |
|
| namespace 是组件的命名空间。如果资源是集群范围的,命名空间应该为空。 |
|
| Unmanaged 控制,集群版本操作器是否应该停止管理此集群中的资源。默认:false |
8.6.1.5. .status 复制链接链接已复制到粘贴板!
- 描述
- status 包含有关可用更新以及任何 in-progress 更新的信息。
- 类型
-
对象
- 必填
-
必需
-
observedGeneration
-
版本哈希
-
属性 | 类型 | 描述 |
---|---|---|
| `` | availableUpdates 包含适合此集群的更新列表。如果没有推荐更新,或者指定了无效的频道,则此列表可能为空。 |
|
| 条件提供有关集群版本的信息。如果达到 desiredUpdate,则条件 "Available" 设置为 true。如果应用了更新,则条件 "Progressing" 被设置为 true。如果更新当前被临时或永久错误阻止,则条件 "Degraded" 被设置为 true。只有 metadata.generation 等于 status.generation 时,条件仅对当前所需的Update 有效。 |
|
| ClusterOperatorStatusCondition 代表 Operator 的管理和监控组件的状态。 |
|
| 必需是集群协调的版本。如果集群尚未完全初始化,将使用可用的信息进行设置,可以是镜像或标签。 |
|
| 历史记录包含应用到集群的最新版本列表。这个值在集群启动过程中可能为空,然后在应用新更新时更新。最新的更新首先在列表中,按接收者排序。如果推出部署完成,历史记录中的更新会处于 Completed 状态 - 如果更新失败或应用一半,则状态将是 Partial。只保留有限的更新历史记录。 |
|
| UpdateHistory 是一个尝试对集群的更新。 |
|
| observedGeneration 报告哪个 spec 版本正在同步。如果这个值不等于 metadata.generation,则所需的和条件字段可能会代表以前的版本。 |
|
| 版本Hash 是集群将要更新的内容的指纹。操作员使用它来避免不必要的工作,仅适用于内部使用。 |
8.6.1.6. .status.conditions 复制链接链接已复制到粘贴板!
- 描述
- 条件提供有关集群版本的信息。如果达到 desiredUpdate,则条件 "Available" 设置为 true。如果应用了更新,则条件 "Progressing" 被设置为 true。如果更新当前被临时或永久错误阻止,则条件 "Degraded" 被设置为 true。只有 metadata.generation 等于 status.generation 时,条件仅对当前所需的Update 有效。
- 类型
-
array
8.6.1.7. .status.conditions[] 复制链接链接已复制到粘贴板!
- 描述
- ClusterOperatorStatusCondition 代表 Operator 的管理和监控组件的状态。
- 类型
-
对象
- 必填
-
lastTransitionTime
-
status
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| lastTransitionTime 是当前 status 属性最后一次更新的时间。 |
|
| 消息提供有关当前条件的附加信息。这仅由人类使用。它可以包含行 Feed 字符(U+000A),这些字符应呈现为新行。 |
|
| reason 是条件当前状态的 CamelCase 原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| type 指定此条件报告的方面。 |
8.6.1.8. .status.desired 复制链接链接已复制到粘贴板!
- 描述
- 必需是集群协调的版本。如果集群尚未完全初始化,将使用可用的信息进行设置,可以是镜像或标签。
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
| 频道是发行版本当前所属的 Cincinnati 频道集合。 |
|
| image 是包含更新的容器镜像位置。当此字段是 spec 的一部分时,如果指定了 version,则 image 是可选的,并且 availableUpdates 字段包含匹配的版本。 |
|
| URL 包含有关此版本的信息。这个 URL 由发行版本上的 'url' 元数据属性或更新 API 返回的元数据设置,并应该在用户界面中显示为链接。无法为测试或每日发行版本设置 URL 字段。 |
|
| 版本是一个语义版本,用于标识更新版本。当此字段是 spec 的一部分时,如果指定 image,版本是可选的。 |
8.6.1.9. .status.history 复制链接链接已复制到粘贴板!
- 描述
- 历史记录包含应用到集群的最新版本列表。这个值在集群启动过程中可能为空,然后在应用新更新时更新。最新的更新首先在列表中,按接收者排序。如果推出部署完成,历史记录中的更新会处于 Completed 状态 - 如果更新失败或应用一半,则状态将是 Partial。只保留有限的更新历史记录。
- 类型
-
array
8.6.1.10. .status.history[] 复制链接链接已复制到粘贴板!
- 描述
- UpdateHistory 是一个尝试对集群的更新。
- 类型
-
对象
- 必填
-
image
-
startedTime
-
state
-
已验证
-
属性 | 类型 | 描述 |
---|---|---|
| `` | completionTime (如果设置)是完全应用更新的时间。当前应用的更新将具有空完成时间。对于不是当前更新的条目,将始终设置完成时间(通常是下一次更新的开始时间)。 |
|
| image 是包含更新的容器镜像位置。这个值始终被填充。 |
|
| startedTime 是更新启动的时间。 |
|
| State 反映了更新是否完全应用。Partial 状态表示更新没有被完全应用,而 Completed 状态表示更新被成功推出一次(更新的所有部分都成功应用)。 |
|
| 验证指示提供的更新是否在安装前正确验证。如果这是假的,集群可能无法被信任。 |
|
| 版本是一个语义版本,用于标识更新版本。如果请求的镜像没有定义版本,或者检索镜像时失败,则该值可能为空。 |
8.6.2. API 端点 复制链接链接已复制到粘贴板!
可用的 API 端点如下:
/apis/config.openshift.io/v1/clusterversions
-
DELETE
:删除 ClusterVersion 的集合 -
GET
: 列出 ClusterVersion 类型的对象 -
POST
:创建 ClusterVersion
-
/apis/config.openshift.io/v1/clusterversions/{name}
-
DELETE
:删除 ClusterVersion -
GET
:读取指定的 ClusterVersion -
PATCH
:部分更新指定的 ClusterVersion -
PUT
:替换指定的 ClusterVersion
-
/apis/config.openshift.io/v1/clusterversions/{name}/status
-
GET
: 指定 ClusterVersion 的读取状态 -
PATCH
:部分更新指定 ClusterVersion 的状态 -
PUT
: 替换指定 ClusterVersion 的状态
-
8.6.2.1. /apis/config.openshift.io/v1/clusterversions 复制链接链接已复制到粘贴板!
参数 | 类型 | 描述 |
---|---|---|
|
| 如果 'true',则输出被用户友善。 |
- HTTP 方法
-
DELETE
- 描述
- 删除 ClusterVersion 集合
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须在没有 continue 字段的情况下重启其列表。否则,客户端可能会发送另一个列表请求,并带有 410 错误收到的令牌,服务器将通过从下一个密钥开始的列表进行响应,但从最新的快照(从最后一个列表结果中不一致) - 在第一个列表请求后创建、修改或删除的对象将包含在响应中,只要其密钥在"next key"后。 当 watch 为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值启动监视,而不丢失任何修改。 |
|
| 用于限制返回的对象列表的选择器。默认为任何内容。 |
|
| 通过标签限制返回的对象列表的选择器。默认为任何内容。 |
|
| 限制是列表调用要返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设置为可用于同一初始查询的值,以检索下一个结果集。在过滤所有请求的对象时,设置限制可能会返回比请求的项目数量少(最多为零项),客户端应只使用 continue 字段的存在来确定是否有更多结果可用。服务器可以选择不支持限制参数,并将返回所有可用的结果。如果指定了限制,并且 continue 字段为空,客户端可能会假设没有更多可用的结果。如果 watch 为 true,则不支持此字段。 服务器保证在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后不会创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制的客户端接收一个非常大的结果较小的块可以确保它们看到所有可能的对象。如果在块列出期间更新对象,则返回第一次列表结果时存在的对象版本。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定 resourceVersion 如何应用到列出调用。强烈建议您为设置了 resourceVersion 的列表调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| list/watch 调用的超时。这限制了调用的时间,无论任何活动或不活跃。 |
|
| 观察对描述的资源的更改,并将其作为添加、更新和删除通知流返回。指定 resourceVersion。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 ClusterVersion 类型的对象
参数 | 类型 | 描述 |
---|---|---|
|
| allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。 |
|
| 从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须在没有 continue 字段的情况下重启其列表。否则,客户端可能会发送另一个列表请求,并带有 410 错误收到的令牌,服务器将通过从下一个密钥开始的列表进行响应,但从最新的快照(从最后一个列表结果中不一致) - 在第一个列表请求后创建、修改或删除的对象将包含在响应中,只要其密钥在"next key"后。 当 watch 为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值启动监视,而不丢失任何修改。 |
|
| 用于限制返回的对象列表的选择器。默认为任何内容。 |
|
| 通过标签限制返回的对象列表的选择器。默认为任何内容。 |
|
| 限制是列表调用要返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设置为可用于同一初始查询的值,以检索下一个结果集。在过滤所有请求的对象时,设置限制可能会返回比请求的项目数量少(最多为零项),客户端应只使用 continue 字段的存在来确定是否有更多结果可用。服务器可以选择不支持限制参数,并将返回所有可用的结果。如果指定了限制,并且 continue 字段为空,客户端可能会假设没有更多可用的结果。如果 watch 为 true,则不支持此字段。 服务器保证在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后不会创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制的客户端接收一个非常大的结果较小的块可以确保它们看到所有可能的对象。如果在块列出期间更新对象,则返回第一次列表结果时存在的对象版本。 |
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
|
| resourceVersionMatch 决定 resourceVersion 如何应用到列出调用。强烈建议您为设置了 resourceVersion 的列表调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions。 默认为未设置 |
|
| list/watch 调用的超时。这限制了调用的时间,无论任何活动或不活跃。 |
|
| 观察对描述的资源的更改,并将其作为添加、更新和删除通知流返回。指定 resourceVersion。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 ClusterVersion
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
参数 | 类型 | 描述 |
---|---|---|
|
| ClusterVersion 的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| 如果 'true',则输出被用户友善。 |
- HTTP 方法
-
DELETE
- 描述
- 删除 ClusterVersion
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| 应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值零表示立即删除。如果这个值是 nil,则使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。 |
|
| 弃用:请使用 PropagationPolicy,此字段将在 1.7 中被弃用。应该依赖的对象被孤立。如果为 true/false,"orphan"终结器将从对象的终结器列表添加到/删除。可以设置此字段或 PropagationPolicy,但不能同时设置两者。 |
|
| 是否以及是否执行垃圾回收。此字段或 OrphanDependents 可以设置,但不能同时设置两者。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受的值为: 'Orphan' - 孤立依赖; 'Background' - 允许垃圾收集器在后台删除依赖的依赖关系; 'Foreground' - 一个删除前台所有依赖的级联策略。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 ClusterVersion
参数 | 类型 | 描述 |
---|---|---|
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 ClusterVersion
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 ClusterVersion
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
参数 | 类型 | 描述 |
---|---|---|
|
| ClusterVersion 的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| 如果 'true',则输出被用户友善。 |
- HTTP 方法
-
GET
- 描述
- 指定 ClusterVersion 的读取状态
参数 | 类型 | 描述 |
---|---|---|
|
| resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 默认为未设置 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 指定 ClusterVersion 的部分更新状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 ClusterVersion 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |