ControllerRevision
apiVersion: apps/v1
import "k8s.io/api/apps/v1"
ControllerRevision
ControllerRevision 实现状态数据的不可变快照。客户端负责序列化和反序列化包含其内部状态的对象。ControllerRevision 成功创建后,不能再更新。API 服务器将验证所有尝试修改 Data 字段的请求,并使其失败。但是,ControllerRevision 可以删除。请注意,由于 DaemonSet 和 StatefulSet 控制器在更新和回滚中使用此对象,因此该对象处于测试阶段。但是,它可能在将来的版本中进行名称和表示更改,客户端不应该依赖其稳定性。它主要供控制器内部使用。
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 的字段,在你的内部结构中创建一个类型为 Object 的字段。你还需要注册你的各种插件类型。
// 内部包
type MyAPIObject struct { runtime.TypeMeta
json:",inline"
MyPlugin runtime.Objectjson:"myPlugin"
}type PluginA struct { AOption string
json:"aOption"
}// 外部包
type MyAPIObject struct { runtime.TypeMeta
json:",inline"
MyPlugin runtime.RawExtensionjson:"myPlugin"
}type PluginA struct { AOption string
json:"aOption"
}// 在网络中,JSON 会类似于以下内容
{ "kind":"MyAPIObject", "apiVersion":"v1", "myPlugin": { "kind":"PluginA", "aOption":"foo", }, }
那么发生了什么?Decode 首先使用 json 或 yaml 将序列化数据反序列化到你的外部 MyAPIObject 中。这会导致存储原始 JSON,但不会解包。下一步是使用 pkg/conversion 复制到内部结构。runtime 包的 DefaultScheme 安装了转换函数,这些函数将解包 RawExtension 中存储的 JSON,将其转换为正确类型的对象,并将其存储在 Object 中。(TODO:在对象类型未知的情况下,将创建一个 runtime.Unknown 对象并存储。)*
ControllerRevisionList
ControllerRevisionList 是包含 ControllerRevision 对象列表的资源。
apiVersion: apps/v1
kind: ControllerRevisionList
metadata (ListMeta)
更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]ControllerRevision), 必需
Items 是 ControllerRevision 的列表
操作
get
读取指定的 ControllerRevision
HTTP 请求
GET /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}
参数
name (在路径中): string, 必需
ControllerRevision 的名称
namespace (在路径中): string, 必需
pretty (在查询中): string
响应
200 (ControllerRevision): OK
401: 未授权
list
列出或观察 ControllerRevision 类型的对象
HTTP 请求
GET /apis/apps/v1/namespaces/{namespace}/controllerrevisions
参数
namespace (在路径中): string, 必需
allowWatchBookmarks (在查询中): boolean
continue (在查询中): string
fieldSelector (在查询中): string
labelSelector (在查询中): string
limit (在查询中): integer
pretty (在查询中): string
resourceVersion (在查询中): string
resourceVersionMatch (在查询中): string
sendInitialEvents (在查询中): boolean
timeoutSeconds (在查询中): integer
watch (在查询中): boolean
响应
200 (ControllerRevisionList): OK
401: 未授权
list
列出或观察 ControllerRevision 类型的对象
HTTP 请求
GET /apis/apps/v1/controllerrevisions
参数
allowWatchBookmarks (在查询中): boolean
continue (在查询中): string
fieldSelector (在查询中): string
labelSelector (在查询中): string
limit (在查询中): integer
pretty (在查询中): string
resourceVersion (在查询中): string
resourceVersionMatch (在查询中): string
sendInitialEvents (在查询中): boolean
timeoutSeconds (在查询中): integer
watch (在查询中): boolean
响应
200 (ControllerRevisionList): OK
401: 未授权
create
创建一个 ControllerRevision
HTTP 请求
POST /apis/apps/v1/namespaces/{namespace}/controllerrevisions
参数
namespace (在路径中): string, 必需
body: ControllerRevision, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
响应
200 (ControllerRevision): OK
201 (ControllerRevision): 已创建
202 (ControllerRevision): 已接受
401: 未授权
update
替换指定的 ControllerRevision
HTTP 请求
PUT /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}
参数
name (在路径中): string, 必需
ControllerRevision 的名称
namespace (在路径中): string, 必需
body: ControllerRevision, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
响应
200 (ControllerRevision): OK
201 (ControllerRevision): 已创建
401: 未授权
patch
部分更新指定的 ControllerRevision
HTTP 请求
PATCH /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}
参数
name (在路径中): string, 必需
ControllerRevision 的名称
namespace (在路径中): string, 必需
body: Patch, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
force (在查询中): boolean
pretty (在查询中): string
响应
200 (ControllerRevision): OK
201 (ControllerRevision): 已创建
401: 未授权
delete
删除一个 ControllerRevision
HTTP 请求
DELETE /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}
参数
name (在路径中): string, 必需
ControllerRevision 的名称
namespace (在路径中): string, 必需
body: DeleteOptions
dryRun (在查询中): string
gracePeriodSeconds (在查询中): integer
pretty (在查询中): string
propagationPolicy (在查询中): string
响应
200 (Status): OK
202 (Status): 已接受
401: 未授权
deletecollection
删除 ControllerRevision 集合
HTTP 请求
DELETE /apis/apps/v1/namespaces/{namespace}/controllerrevisions
参数
namespace (在路径中): string, 必需
body: DeleteOptions
continue (在查询中): string
dryRun (在查询中): string
fieldSelector (在查询中): string
gracePeriodSeconds (在查询中): integer
labelSelector (在查询中): string
limit (在查询中): integer
pretty (在查询中): string
propagationPolicy (在查询中): string
resourceVersion (在查询中): string
resourceVersionMatch (在查询中): string
sendInitialEvents (在查询中): boolean
timeoutSeconds (在查询中): integer
响应
200 (Status): OK
401: 未授权
此页面是自动生成的。
如果你打算报告此页面问题,请在你的问题描述中提及此页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。