聚焦目标
理解Pod发送到kube-apiserver
后是怎么保存的
目录
RESTCreateStrategy
1 | // podStrategy 是封装了 Pod 的各类动作,这里我们先关注create这个操作 |
Storage
1 | // PodStorage 是 Pod 存储的实现,里面包含了多个存储的定义 |
Storage Implement
1 | // Storage Interface 的定义,包括基本的增删改查,以及watch等等进阶操作 |
Summary
我们对第一阶段学习kube-apiserver的知识点进行总结:
kube-apiserver
包含三个apiserverAPIExtensionsServer
、KubeAPIServer
和AggregatorServer
- 三个APIServer底层均依赖通用的
GenericServer
,使用go-restful
对外提供RESTful风格的API服务
- 三个APIServer底层均依赖通用的
kube-apiserver
对请求进行Authentication
、Authorization
和Admission
三层验证- 完成验证后,请求会根据路由规则,触发到对应资源的handler,主要包括数据的
预处理
和保存
kube-apiserver
的底层存储为etcd v3,它被抽象为一种RESTStorage,使请求和存储操作一一对应
Github: https://github.com/Junedayday/code_reading
Blog: http://junes.tech/
Bilibili:https://space.bilibili.com/293775192
公众号:golangcoding