Kubernetes AdmissionWebhook
什么是AdmissionWebhook?
什么是AdmissionWebhook,就要先了解K8S中的admission controller, 按照官方的解释是: admission controller是拦截(经过身份验证)API Server请求的网关,并且可以修改请求对象或拒绝请求。简而言之,它可以认为是拦截器,类似web框架中的middleware。
为什么使用 admission webhook?
kubernetes的admission webhook为开发者提供了非常灵活的插件模式,在kubernetes资源持久化之前用户可以对指定资源做校验、修改等操作。应用场景 eg:接入sidecar、设置默认的servceaccount、设置quota等等。
总体来说,admission-plugins分为三大类:
1.修改类型(mutating)
2.验证类型(validating)
3.既是修改又是验证类型(mutating&validating)
这些admission plugin构成一个顺序链,先后顺序决定谁先调用,但不会影响使用。
这里关心的plugin有两个:
一、MutatingAdmissionWebhook, ValidatingAdmissionWebhook
- MutatingAdmissionWebhook: 做修改操作的AdmissionWebhook
- ValidatingAdmissionWebhook: 做验证操作的AdmissionWebhook
引用kubernetes官方博客的一张图来说明MutatingAdmissionWebhook和ValidatingAdmissionWebhook所处的位置:
解释下这个过程:
1.api请求到达K8S API Server
2.请求要先经过认证
- kubectl调用需要kubeconfig
- 直接调用K8S api需要证书或者bearToken
- client-go调用也需要kubeconfig
3.执行一连串的admission controller,包括MutatingAdmissionWebhook和ValidatingAdmissionWebhook, 先串行执行MutatingAdmission的Webhook list
4.对请求对象的schema进行校验
5.并行执行ValidatingAdmission的Webhook list
6.最后写入etcd
应用场景:
- 自动打标签 比如启动一个应用,应用包括deployment、service、ingress; 怎么快速过滤出哪些资源属于应用? 在K8S中,pod、service、ingress 都是独立的资源,通过给这些资源打上label,是最快速的方式。
- 自动注入sidecar容器 应用启动后,应用的监控、日志如何处理?借助sidecar容器注入到其pod中
- 设置默认的servceaccount、设置quota等等。
参考:https://mp.weixin.qq.com/s/Z6ucuqNs2rOaPzwhvW-bmw
参考:https://cloud.tencent.com/developer/article/1445760
参考:https://kubernetes.io/zh/docs/reference/access-authn-authz/extensible-admission-controllers/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2014-11-30 HDU:Gauss Fibonacci(矩阵快速幂+二分)
2014-11-30 sdut AOE网上的关键路径(spfa+前向星)
2014-11-30 HDU1757:A Simple Math Problem(矩阵快速幂)