webhook是Kubernetes中的一个非常重要的机制,借助webhook可以实现Kubernetes集群的准入控制。
一. Kubernetes webhook应用场景
1. 云平台提供服务之后,需要验证用户所部署的Pod内容,比如只允许那些从合法的image拉取镜像的Pod可以正常部署,否则就不让其部署。
2. 为了方便管理,想给平台上所部署的Pod添加一些环境变量,以方便管理,比如fluent-bit的采集字段可以从Pod的env中读取。
3. 如果想要在云平台上实现类似service-mesh的功能,就需要为每个Pod启动一个mesh agent,这种场景比较适合通过mutating webhook来实现。
4. 通过webhook为Pod可以使用的CPU, Memory,Storage等平台资源设置限额。
二. Kubernetes webhook实现原理