更新时间:2024-01-05 GMT+08:00
分享

k8srequiredlabels

基本信息

  • 策略类型:合规
  • 推荐级别:L1
  • 生效资源类型:*
  • 参数:
    labels: 键值对数组,key/ allowedRegex
      key: a8r.io/owner
        # Matches email address or github user
        allowedRegex: ^([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}|[a-z]{1,39})$

作用

要求资源包含指定的标签,其值与提供的正则表达式匹配。

策略实例示例

以下策略实例展示了策略定义生效的资源类型,parameters中指定了提示信息message以及label的约束定义。

apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sRequiredLabels
metadata:
  name: all-must-have-owner
spec:
  match:
    kinds:
      - apiGroups: [""]
        kinds: ["Namespace"]
  parameters:
    message: "All namespaces must have an `owner` label that points to your company username"
    labels:
      - key: owner
        allowedRegex: "^[a-zA-Z]+.agilebank.demo$"

符合策略实例的资源定义

示例包含策略实例中定义的label,符合策略实例。

apiVersion: v1
kind: Namespace
metadata:
  name: allowed-namespace
  labels:
    owner: user.agilebank.demo

不符合策略实例的资源定义

示例不包含策略实例中定义的label,不符合策略实例。

apiVersion: v1
kind: Namespace
metadata:
  name: disallowed-namespace

相关文档