Kubernetes 源码剖析与实战
孔令飞
前腾讯云专家工程师
1318 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已更新 27 讲/共 55 讲
Kubernetes 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

25|Kubernetes HTTP请求处理流程详解

你好,我是孔令飞。
上一节课,我介绍了 kube-apiserver 中安装资源路由的整个流程。在一个 REST 请求到达 kube-apiserver 实例后,kube-apiserver 中的路由表会匹配 HTTP 请求方法、HTTP 请求路径,并根据匹配结果找到对应的路由函数,也即处理函数(也称 Handler/Controller),处理 HTTP 请求。
本节课,我就来详细介绍下路由函数的实现,通过路由函数实现,我们可以掌握到 kube-apiserver 具体是如何处理请求的。我们先来看下,Kubernetes 中的 HTTP 请求处理流程。

路由函数相关目录及结构

Kuberenets 路由函数都统一存放在 registry 目录下。registry 目录内容如下:
$ ls registry/
admissionregistration apps authorization batch coordination discovery events networking OWNERS rbac resource storage
apiserverinternal authentication autoscaling certificates core doc.go flowcontrol node policy registrytest scheduling storagemigration
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Kubernetes中的HTTP请求处理流程涉及路由函数的实现和处理逻辑,包括对象的处理策略和HTTP请求处理方法。 2. Kubernetes的路由函数存放在registry目录下,包括各资源组的处理逻辑,如daemonset和deployment等。 3. HTTP请求处理流程包括路由匹配、认证鉴权、Admission Controller执行、Versioning逻辑、资源创建前的处理策略以及REST Method节点的业务逻辑处理。 4. REST Strategy和REST Method是处理HTTP请求逻辑的两个关键节点,值得重点关注和学习。 5. `genericregistry.Store`结构体中的`Storage`字段是在`store.CompleteWithOptions`函数调用中被初始化的,代表一个存储实现。 6. `genericregistry.Store`结构体中的`Storage`字段的类型为`DryRunnableStorage`,包含了一系列方法,用来执行etcd操作。 7. `DryRunnableStorage`结构体中的`Storage`字段是一个结构体类型,代表一个存储实现,除了支持etcd存储外,还可以支持其他存储,例如MySQL、Elasticsearch等。 8. `opts.Decorator`函数的实现初始化和实现了`genericregistry.Store`结构体中的`Storage`字段。 9. `StorageWithCacher`函数用于创建一个缓存存储,根据提供的存储配置生成。 10. HTTP请求处理流程和`genericregistry.Store`结构体中的`Storage`字段是文章的重点,涉及路由函数的实现和处理逻辑,以及存储实现的初始化和配置。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Kubernetes 源码剖析与实战》
新⼈⾸单¥68
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部