注:结合书中的大概内容以及笔者自身的k8s经验 总结学到的一些新知识每一篇篇幅不会很长
书很棒强烈推荐买一本读

本次读书来自于《kubernetes源码剖析》 作者郑东旭

总结中包含部分书中内容 包含部分笔者读书学习到的知识点以及根据笔者结合书的一些总结

第六章 Etcd存储核心实现

1.架构设计
(1)RestStorage
实现了restful风格的对外的api接口
(2)RegistryStore
实现了资源存储的通用操作,例如,在存储资源对象之前执行某个函数,存储之后执行某个函数
(3)Storage.Interface
通用存储接口该接口定义了资源的操作方法
(4)CacherStorage
带有缓存功能的资源存储对象,他是Storage.Interface通用存储接口的实现,CacherStorage缓存层的设计有利于etcd集群中的数据能够获得快速的相应与etcd保持一致
(5)UnderlyingStorage
底层村粗,与etcd交互的资源存储对象,CacherStorage相当于UnderlyingStorage的缓存层
2.RestStorage存储服务通用接口
实现了restful风格的对外的api接口
3.RegistryStore存储用用操作
实现了资源存储的通用操作
4.Storage,Interface通用存储接口
定义了对资源的操作方法
5.CacherStorage缓存层
为db数据层提供缓存服务,减少db的压力
缓存命中:客户端发起请求,请求中的数据存于缓存层中,则从缓存从直接返回数据
缓存回源:客户端发起请求,未存于缓存中,从db拿到数据并更新缓存然后返回给客户
6.UnderlyingStorage底层存储对象
对etcd官方库进行了封装 在早期支持etcdv2 现在已经抛弃了etcdv2只支持v3
7.Codec编解码数据
k8s系统将资源对象以二进制的形式存储在etcd中。直接获取不是特别好,可以通过auger来访问对象存储
8.Strategy预处理
在k8s集群中,每种资源都有自己的预处理无论是增删改查,都会有预处理

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐