MutatingAdmissionWebhook是一款系统内置且默认启用的准入控制器插件,它在kube-apiserver审查请求(Mutating admission)阶段被调用,用于审查请求。

与其他准备控制器插件不同的是,MutatingAdmissionWebhook本身并不直接审查请求,而是将任务转发给相应的webhook(多个webhook串行调用),如果任何一个webhook返回失败,MutatingAdmissionWebhook将会立即拒绝请求。MutatingAdmissionWebhookwebhook的关系如下图所示:

webhook通常是一个专门负责审查资源对象的web服务,webhook根据是否会修改请求分为Mutating(修改型)和Validating(校验型)两类。MutatingAdmissionWebhook负责管理并调用Mutating类型的webhook,该类型webhook通过MutatingWebhookConfiguration对象注册到系统中,MutatingWebhookConfiguration对象中描述了webhook的服务地址、关心的资源对象类型等信息。MutatingAdmissionWebhook正是根据MutatingWebhookConfiguration对象来获取webhook列表,并在API 请求来到时筛选并调用webhook。关于MutatingWebhookConfiguration对象的更多信息将在后续章节展开介绍。

MutatingAdmissionWebhookKubernetes一个重要扩展机制,常用于对扩展的CRD(CustomResourceDefination)对象进行审查和改写,当然它也可以用于Kubernetes原生资源对象,比如当Pod创建时自动添加label

最后编辑: kuteng  文档更新时间: 2021-09-18 14:58   作者:kuteng