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實現原理