ControllerRevision

ControllerRevision 实现了状态数据的不可变快照。

apiVersion: apps/v1

import "k8s.io/api/apps/v1"

ControllerRevision

ControllerRevision 实现了状态数据的不可变快照。客户端负责序列化和反序列化包含其内部状态的对象。一旦成功创建 ControllerRevision,它就无法更新。API Server 将拒绝所有试图修改 Data 字段的请求。但是,ControllerRevision 可以被删除。请注意,由于它被 DaemonSet 和 StatefulSet 控制器用于更新和回滚,因此该对象目前处于 beta 阶段。然而,它在未来的版本中可能会有名称和表示形式的变更,客户端不应依赖其稳定性。它主要供控制器内部使用。


  • apiVersion: apps/v1

  • kind: ControllerRevision

  • metadata (ObjectMeta)

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

  • revision (int64), 必需

    Revision 表示 Data 所代表的状态的版本。

  • data (RawExtension)

    Data 是状态的序列化表示。

    *RawExtension 用于在外部版本中保存扩展。

    要使用此功能,请创建一个在外部版本化结构中具有 RawExtension 类型的字段,并在内部结构中具有 Object 字段。您还需要注册各种插件类型。

    // 内部包

    type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.Object json:"myPlugin" }

    type PluginA struct { AOption string json:"aOption" }

    // 外部包

    type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.RawExtension json:"myPlugin" }

    type PluginA struct { AOption string json:"aOption" }

    // 在网络上传输时,JSON 将如下所示

    { "kind":"MyAPIObject", "apiVersion":"v1", "myPlugin": { "kind":"PluginA", "aOption":"foo", }, }

    那么会发生什么?Decode 首先使用 json 或 yaml 将序列化的数据解组(unmarshal)到您的外部 MyAPIObject 中。这导致原始 JSON 被存储,但未解包。下一步是复制(使用 pkg/conversion)到内部结构中。runtime 包的 DefaultScheme 安装了转换函数,它们将解包存储在 RawExtension 中的 JSON,将其转换为正确的对象类型,并将其存储在 Object 中。(TODO:如果对象是未知类型,将创建并存储一个 runtime.Unknown 对象。)*

ControllerRevisionList

ControllerRevisionList 是一个包含 ControllerRevision 对象列表的资源。


操作


get 读取指定的 ControllerRevision

HTTP 请求

GET /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}

Parameters

  • name (在路径中): string, 必需

    ControllerRevision 的名称

  • namespace (在路径中): string, 必需

    命名空间

  • pretty (在查询中): string

    pretty

响应

200 (ControllerRevision): OK

401: 未授权

list 列出或监视 ControllerRevision 类型的对象

HTTP 请求

GET /apis/apps/v1/namespaces/{namespace}/controllerrevisions

Parameters

响应

200 (ControllerRevisionList): OK

401: 未授权

list 列出或监视 ControllerRevision 类型的对象

HTTP 请求

GET /apis/apps/v1/controllerrevisions

Parameters

响应

200 (ControllerRevisionList): OK

401: 未授权

create 创建一个 ControllerRevision

HTTP 请求

POST /apis/apps/v1/namespaces/{namespace}/controllerrevisions

Parameters

响应

200 (ControllerRevision): OK

201 (ControllerRevision): Created

202 (ControllerRevision): Accepted

401: 未授权

update 替换指定的 ControllerRevision

HTTP 请求

PUT /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}

Parameters

响应

200 (ControllerRevision): OK

201 (ControllerRevision): Created

401: 未授权

patch 部分更新指定的 ControllerRevision

HTTP 请求

PATCH /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}

Parameters

  • name (在路径中): string, 必需

    ControllerRevision 的名称

  • namespace (在路径中): string, 必需

    命名空间

  • body: Patch, 必需

  • dryRun (在查询中): string

    dryRun

  • fieldManager (在查询中): string

    fieldManager

  • fieldValidation (在查询中): string

    fieldValidation

  • force (in query): boolean

    force

  • pretty (在查询中): string

    pretty

响应

200 (ControllerRevision): OK

201 (ControllerRevision): Created

401: 未授权

delete 删除一个 ControllerRevision

HTTP 请求

DELETE /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}

Parameters

响应

200 (Status): 确定

202 (Status): 已接受

401: 未授权

deletecollection 删除 ControllerRevision 的集合

HTTP 请求

DELETE /apis/apps/v1/namespaces/{namespace}/controllerrevisions

Parameters

响应

200 (Status): 确定

401: 未授权


上次修改时间:2025 年 4 月 9 日下午 6:36 PST:更新 v1.32 的 API 参考文档 (a3b579d035)

本页面是自动生成的。

如果您打算报告此页面的问题,请在您的问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。