动态准入 Webhook 概述
Istio 使用 ValidatingAdmissionWebhooks
验证 Istio 配置,使用 MutatingAdmissionWebhooks
自动将 Sidecar 代理注入至用户 Pod。
Webhook 设置过程需要了解 Kubernetes 动态准入 Webhook 相关的知识。查阅 Kubernetes API 的相关资料,请参考 Mutating Webhook Configuration 和 Validating Webhook Configuration。
验证动态准入 Webhook 前置条件
请参阅平台设置说明了解 Kubernetes 提供的详细的设置说明。如果集群配置错误,Webhook 将无法正常工作。集群配置后,当动态 Webhook 和相关特性不能正常工作时,您可以通过以下步骤进行检查。
验证当前使用正确的
kubectl
和 Kubernetes 服务的版本(1.20, 1.21, 1.22, 1.23):$ kubectl version --short Client Version: v1.19.0 Server Version: v1.19.1
admissionregistration.k8s.io/v1beta1
应是启用状态$ kubectl api-versions | grep admissionregistration.k8s.io/v1 admissionregistration.k8s.io/v1 admissionregistration.k8s.io/v1beta1
验证
kube-apiserver --enable-admission-plugins
配置中插件MutatingAdmissionWebhook
和ValidatingAdmissionWebhook
是否被启用。通过检查指定规范中的标志(--enable-admission-plugins
)。验证 Kubernetes API Server 与 Webhook 所在 Pod 的网络连通是否正常。例如错误配置
http_proxy
可能干扰 API Server 正常运行(详细信息请参阅 PR 和 Issue)。