動態准入 Webhook 概觀
來自 Kubernetes mutating 和 validating webhook 機制
Istio 使用 ValidatingAdmissionWebhooks
來驗證 Istio 設定,並使用 MutatingAdmissionWebhooks
將邊車代理程式自動注入到使用者 Pod 中。
webhook 設定指南假設您已大致熟悉 Kubernetes 動態准入 Webhook。請參閱 Kubernetes API 參考文件,以瞭解 變更 Webhook 設定和驗證 Webhook 設定的詳細文件。
驗證動態准入 webhook 先決條件
請參閱 平台設定指示,以瞭解 Kubernetes 提供者特定的設定指示。如果叢集設定錯誤,Webhook 將無法正常運作。在叢集已設定,且動態 webhook 和相依功能無法正常運作時,您可以依照這些步驟操作。
請確認您使用的是 受支援版本 (1.28、1.29、1.30、1.31) 的
kubectl
以及 Kubernetes 伺服器。$ kubectl version --short Client Version: v1.29.0 Server Version: v1.29.1
admissionregistration.k8s.io/v1
應為啟用狀態。$ kubectl api-versions | grep admissionregistration.k8s.io/v1 admissionregistration.k8s.io/v1
請確認
MutatingAdmissionWebhook
和ValidatingAdmissionWebhook
外掛程式已列於kube-apiserver --enable-admission-plugins
中。此標記的存取權限會因供應商而異。請確認 Kubernetes API 伺服器與 webhook pod 之間具有網路連線。例如,不正確的
http_proxy
設定可能會干擾 API 伺服器的運作(更多資訊請參閱相關問題 這裡 和 這裡)。