Loading

admission-controllers

WebHook是什么

官方文档: https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/admission-controllers/

    WebHook与过滤器的作用类似,任何对CRD进行变更的操作都会交由WebHook提前处理,处理完后,才会转给Controller继续处理,WebHook流程图如下:

WebHook有两个特殊的控制器:

(1)修改(MutatingAdmissionWebhook):  对CRD进行修改,如为资源自动打标签等。

(2)验证(ValidatingAdmissionWebhook): 对CRD进行验证,如判断该字段的设定是否在取值范围内。

 

具体说明如下:

(1)APIServer接收到API请求

(2)请求经过认证、鉴权

(3)执行MutaingAdmission的WebHook List。

(4)对请求对象的Schema进行校验。

(5)执行ValidatingAdmission的WebHook List。

(6)最后写入ETCD。

 

案例

示例:https://github.com/0x00d0/k8s-webhook-example

 

posted @ 2022-07-10 13:14  KubeSec  阅读(60)  评论(0编辑  收藏  举报