动态准入 Webhook 概述

来自 Kubernetes 准入控制机制:

Istio 使用 ValidatingAdmissionWebhooks 验证 Istio 配置,使用 MutatingAdmissionWebhooks 自动将 Sidecar 代理注入至用户 Pod。

Webhook 设置过程需要了解 Kubernetes 动态准入 Webhook 相关的知识。 查阅 Kubernetes API 的相关资料,请参 Mutating Webhook Configuration 和 Validating Webhook Configuration。

验证动态准入 Webhook 前置条件

请参阅平台设置说明了解 Kubernetes 提供的详细的设置说明。如果集群配置错误,Webhook 将无法正常工作。集群配置后, 当动态 Webhook 和相关特性不能正常工作时,您可以通过以下步骤进行检查。

  1. 验证当前使用正确的 kubectl 和 Kubernetes 服务支持的版本(1.32, 1.33, 1.34, 1.35, 1.36):

    $ kubectl version --short
    Client Version: v1.29.0
    Server Version: v1.29.1
  2. admissionregistration.k8s.io/v1beta1 应是启用状态

    $ kubectl api-versions | grep admissionregistration.k8s.io/v1
    admissionregistration.k8s.io/v1
    admissionregistration.k8s.io/v1beta1
  3. 验证 kube-apiserver --enable-admission-plugins 配置中插件 MutatingAdmissionWebhook 和 ValidatingAdmissionWebhook 是否被启用。通过检查指定规范中的标志(--enable-admission-plugins)。

  4. 验证 Kubernetes API Server 与 Webhook 所在 Pod 的网络连通是否正常。 例如错误配置 http_proxy 可能干扰 API Server 正常运行(详细信息请参阅 PR 和 Issue)。

这些信息有用吗?
您是否有更多建议和改进意见?

感谢您的反馈!