Kubernetes Gatekeeper OPA 策略约束实战ConstraintTemplateapiVersion: templates.gatekeeper.sh/v1 kind: ConstraintTemplate metadata: name: k8sdisallowlatest spec: crd: spec: names: kind: K8sDisallowLatest targets: - target: admission.k8s.gatekeeper.sh rego: | package k8sdisallowlatest violation[{ "msg": msg, "details": {}}] { input.review.kind.kind == "Pod" some i container := input.review.object.spec.containers[i] endswith(container.image, ":latest") msg := sprintf("image %s uses tag latest", [container.image]) } ConstraintapiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sDisallowLatest metadata: name: disallow-latest spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] 验证应用模板与约束后,创建含 `:latest` 的 Pod 将被拒绝总结Gatekeeper 能为集群提供可审计、可组合的策略约束,提升安全与一致性。

发表评论 取消回复