我需要监视 PVC 创建事件并在转发到实际 Kubernetes 控制器处理 PVC 创建之前对其进行处理。我查阅了很多文档,觉得可以使用 webhooks 来实现这一目标。但想获得有关方法和最佳实践的专家意见。
在
admissionregistration.k8s.io/v1beta1
下,您可以创建 ValidatingWebhook
,在 rules
部分下,您可以观看 persistentvolumeclaims
资源。
示例:
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: pvc-admission-controller
annotations:
cert-manager.io/inject-ca-from: webhook-cert
webhooks:
- name: pvc-admission-controller.defalt.svc.cluster.local
rules:
- apiGroups:
- ""
apiVersions:
- v1
operations:
- CREATE
resources:
- persistentvolumeclaims # <- Here
failurePolicy: Fail
sideEffects: None
admissionReviewVersions: ["v1"]
clientConfig:
service:
name: pvc-admission-controller
namespace: pvc-admission-controller
path: "/validate"
caBundle: ...