kube-apiserver 准入 (v1)

资源类型

AdmissionReview

AdmissionReview 描述了一个准入审查请求/响应。

字段描述
apiVersion
字符串
admission.k8s.io/v1
种类
字符串
AdmissionReview
请求
AdmissionRequest

Request 描述了准入请求的属性。

响应
AdmissionResponse

Response 描述了准入响应的属性。

AdmissionRequest

出现在

AdmissionRequest 描述了准入请求的 admission.Attributes。

字段描述
uid [必填]
k8s.io/apimachinery/pkg/types.UID

UID 是单个请求/响应的标识符。它允许我们区分其他方面相同的请求实例(并行请求、先前请求未修改时的请求等)。UID 用于跟踪 KAS 和 WebHook 之间的往返(请求/响应),而不是用户请求。它适用于关联 webhook 和 apiserver 之间的日志条目,用于审计或调试。

kind [必填]
meta/v1.GroupVersionKind

Kind 是提交的对象的完全限定类型(例如,v1.Pod 或 autoscaling.v1.Scale)

resource [必填]
meta/v1.GroupVersionResource

Resource 是请求的完全限定资源(例如,v1.pods)

subResource
字符串

SubResource 是请求的子资源(如果有)(例如,“status”或“scale”)

requestKind
meta/v1.GroupVersionKind

RequestKind 是原始 API 请求的完全限定类型(例如,v1.Pod 或 autoscaling.v1.Scale)。如果指定了此字段并且与“kind”中的值不同,则执行了等效匹配和转换。

例如,如果可以通过 apps/v1 和 apps/v1beta1 修改部署,并且 webhook 注册了规则 apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]matchPolicy: Equivalent,则对 apps/v1beta1 部署的 API 请求将被转换并发送到 webhook,其中 kind: {group:"apps", version:"v1", kind:"Deployment"}(匹配 webhook 注册的规则)和 requestKind: {group:"apps", version:"v1beta1", kind:"Deployment"}(指示原始 API 请求的种类)。

有关 webhook 配置类型中“matchPolicy”字段的更多详细信息,请参阅文档。

requestResource
meta/v1.GroupVersionResource

RequestResource 是原始 API 请求的完全限定资源(例如,v1.pods)。如果指定了此字段并且与“resource”中的值不同,则执行了等效匹配和转换。

例如,如果可以通过 apps/v1 和 apps/v1beta1 修改部署,并且 webhook 注册了规则 apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]matchPolicy: Equivalent,则对 apps/v1beta1 部署的 API 请求将被转换并发送到 webhook,其中 resource: {group:"apps", version:"v1", resource:"deployments"}(匹配 webhook 注册的资源)和 requestResource: {group:"apps", version:"v1beta1", resource:"deployments"}(指示原始 API 请求的资源)。

有关 webhook 配置类型中“matchPolicy”字段的文档,请参阅。

requestSubResource
字符串

RequestSubResource 是原始 API 请求的子资源名称(如果有)(例如,“status”或“scale”)。如果指定了此字段并且与“subResource”中的值不同,则执行了等效匹配和转换。有关 webhook 配置类型中“matchPolicy”字段的文档,请参阅。

名称
字符串

Name 是请求中显示的对象的名称。在 CREATE 操作中,客户端可以省略名称并依赖服务器生成名称。如果是这种情况,此字段将包含一个空字符串。

命名空间
字符串

Namespace 是与请求关联的命名空间(如果有)。

operation [必填]
操作

Operation 是正在执行的操作。这可能与请求的操作不同。例如,补丁可能会导致 CREATE 或 UPDATE 操作。

userInfo [必填]
authentication/v1.UserInfo

UserInfo 是有关请求用户的的信息

对象
k8s.io/apimachinery/pkg/runtime.RawExtension

Object 是来自传入请求的对象。

oldObject
k8s.io/apimachinery/pkg/runtime.RawExtension

OldObject 是现有对象。仅针对 DELETE 和 UPDATE 请求填充。

dryRun
布尔值

DryRun 指示此请求的修改绝对不会被持久化。默认为 false。

选项
k8s.io/apimachinery/pkg/runtime.RawExtension

Options 是正在执行的操作的操作选项结构。例如,meta.k8s.io/v1.DeleteOptionsmeta.k8s.io/v1.CreateOptions。这可能与调用者提供的选项不同。例如,对于补丁请求,执行的操作可能是 CREATE,在这种情况下,即使调用者提供了 meta.k8s.io/v1.PatchOptions,Options 也会是 meta.k8s.io/v1.CreateOptions

AdmissionResponse

出现在

AdmissionResponse 描述了一个准入响应。

字段描述
uid [必填]
k8s.io/apimachinery/pkg/types.UID

UID 是单个请求/响应的标识符。这必须从相应的 AdmissionRequest 中复制过来。

allowed [必填]
布尔值

Allowed 指示是否允许准入请求。

状态
meta/v1.Status

Result 包含有关拒绝准入请求的额外详细信息。如果“Allowed”为“true”,则不会以任何方式查询此字段。

补丁
[]字节

补丁主体。目前我们只支持实现 RFC 6902 的“JSONPatch”。

patchType
PatchType

补丁的类型。目前我们只允许“JSONPatch”。

auditAnnotations
map[string]string

AuditAnnotations 是由远程准入控制器设置的非结构化键值映射(例如,error=image-blacklisted)。MutatingAdmissionWebhook 和 ValidatingAdmissionWebhook 准入控制器将在键前缀上添加准入 webhook 名称(例如,imagepolicy.example.com/error=image-blacklisted)。准入 webhook 将提供 AuditAnnotations,以便为此请求的审计日志添加额外的上下文。

警告
[]字符串

warnings 是要返回给请求 API 客户端的警告消息列表。警告消息描述了发出 API 请求的客户端应纠正或注意的问题。如果可能,请将警告限制在 120 个字符以内。超过 256 个字符的警告和大量警告可能会被截断。

操作

(字符串的别名)

出现在

Operation 是正在检查准入控制的资源操作类型

PatchType

(字符串的别名)

出现在

PatchType 是用于表示已修改对象的补丁类型

本页面是自动生成的。

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

上次修改时间:2024 年 4 月 18 日下午 7:57(太平洋标准时间):v1.30 的配置 API 参考 (6fa7b80ae3)