動態准入 Webhook 概觀

來自 Kubernetes mutating 和 validating webhook 機制

Istio 使用 ValidatingAdmissionWebhooks 來驗證 Istio 設定,並使用 MutatingAdmissionWebhooks 將邊車代理程式自動注入到使用者 Pod 中。

webhook 設定指南假設您已大致熟悉 Kubernetes 動態准入 Webhook。請參閱 Kubernetes API 參考文件,以瞭解 變更 Webhook 設定驗證 Webhook 設定的詳細文件。

驗證動態准入 webhook 先決條件

請參閱 平台設定指示,以瞭解 Kubernetes 提供者特定的設定指示。如果叢集設定錯誤,Webhook 將無法正常運作。在叢集已設定,且動態 webhook 和相依功能無法正常運作時,您可以依照這些步驟操作。

  1. 請確認您使用的是 受支援版本 (1.28、1.29、1.30、1.31) 的 kubectl 以及 Kubernetes 伺服器。

    $ kubectl version --short
    Client Version: v1.29.0
    Server Version: v1.29.1
    
  2. admissionregistration.k8s.io/v1 應為啟用狀態。

    $ kubectl api-versions | grep admissionregistration.k8s.io/v1
    admissionregistration.k8s.io/v1
    
  3. 請確認 MutatingAdmissionWebhookValidatingAdmissionWebhook 外掛程式已列於 kube-apiserver --enable-admission-plugins 中。此標記的存取權限會因供應商而異

  4. 請確認 Kubernetes API 伺服器與 webhook pod 之間具有網路連線。例如,不正確的 http_proxy 設定可能會干擾 API 伺服器的運作(更多資訊請參閱相關問題 這裡這裡)。

這些資訊對您有幫助嗎?
您有任何改進建議嗎?

感謝您的回饋!