apiVersion: admissionregistration.k8s.io/v1
import "k8s.io/api/admissionregistration/v1"
matchExpressions 是一组标签选择器要求。这些要求之间是“与”(AND)的关系。
| 字段 | 描述 |
|---|---|
expression *string | `expression` 表示将由 CEL 求值的表达式, 其求值结果必须为布尔值(bool)。CEL 表达式可以访问 `AdmissionRequest` 和 `Authorizer` 的内容, 这些内容被组织为以下 CEL 变量: `object` - 传入请求中的对象(对于 DELETE 请求,该值为 null); `oldObject` - 现有对象(对于 CREATE 请求,该值为 null); `request` - 准入请求的属性(对应 `/pkg/apis/admission/types.go#AdmissionRequest`); `authorizer` - CEL 授权器(Authorizer), 可用于对请求的主体(用户或服务账号)执行授权检查(详见 https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz); `authorizer.requestResource` - 基于 `authorizer` 构建并配置了请求资源的 CEL 资源检查对象(ResourceCheck)。 CEL 相关文档: https://kubernetes.io/zh-cn/docs/reference/using-api/cel/。 此字段为必填项。 |
name *string | name 是该匹配条件的标识符,用于 MatchConditions 的策略性合并以及日志记录。 名称应能体现关联表达式的含义。此名称必须是合法的标识符, 由字母数字字符、'-'、'_' 或 '.' 组成,且首尾字符必须为字母数字字符(例如 'MyName'、'my.name' 或 '123-abc';用于验证的正则表达式为 '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]'),并可包含可选的 DNS 子域名作为前缀及 '/' 分隔符(例如 'example.com/MyName')。 此字段为必填项。 |