--- # 注意:在应用 default-pod-security-configurable 策略之前,请阅读相关说明, # 以便理解该策略在信息安全方面的影响。 apiVersion: admissionregistration.k8s.io/v1 kind: MutatingAdmissionPolicy metadata: name: "default-pod-security-configurable" annotations: kubernetes.io/description: "Default new namespaces to enforce the chosen pod security standard" spec: reinvocationPolicy: IfNeeded paramKind: apiVersion: v1 kind: ConfigMap matchConstraints: resourceRules: - apiGroups: [""] apiVersions: ["v1"] operations: ["CREATE"] resources: ["namespaces"] matchConditions: - name: "exclude-system-namespaces" # 如果名称以 "kube-" 开头,它就是系统命名空间。 # 假定 API 服务器或集群管理工具会应用相关默认值。 expression: "!object.metadata.name.startsWith('kube-')" - name: "no-existing-pod-security-label" expression: "!('pod-security.kubernetes.io/enforce' in object.metadata.labels)" mutations: - patchType: "ApplyConfiguration" applyConfiguration: expression: "Object{metadata: Object.metadata{labels: {'pod-security.kubernetes.io/enforce': params.data.default}}}"