k8s源码分析----apiserver之APIGroupVersion

说明:此文章为腾讯云机器自动从本人csdn博客搬迁过来。是本人授权操作。

申明:无本人授权,不可转载本文。如有转载,本人保留追究其法律责任的权利。

龚浩华,QQ 29185807,月牙寂 道长

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

前面3篇文章,主要是根据程序处理流程进行跳转分析。经过这些流程的跳转分析,拨开乌云终见日。

我们剥掉那些不重要的部分,直接进入主要框架。

APIGroupVersion

在master中,api v1的初始化

生成了一个default的apigroupversion

下面进入到整个框架中最重要的数据结构

一、主要数据结构

1、mapper,其最重要的东西是里面的RESTMapping函数(在k8s.io\kubernetes\pkg\api\meta)

2、Codec,主要是一个编码,解码的接口 (在k8s.io\kubernetes\pkg\runtime)

3、typer (在k8s.io\kubernetes\pkg\runtime)

4、Creater (在k8s.io\kubernetes\pkg\runtime)

5、Convertor,不同版本之间的转换 (在k8s.io\kubernetes\pkg\runtime)

6、Linker (在k8s.io\kubernetes\pkg\runtime)

7、剩余的暂时不做分析

二、主要的工作流程

k8s.io\kubernetes\pkg\apiserver\apiserver.go

主要流程

下面根据主要流程,分解步骤

1、初始化installer

2、new webservice

3、开始注册

插一张mapping的结构体

插一张restscope的interface

我们继续

继续跳过其中一些代码

到此所有过程。

我们再追踪进去get的处理过程

从这个流程再加上之前的3篇文章,那么主要的处理流程,已经比较清晰了。那么剩下的就是mapper,codec,typer,Creater,convertor,linker等这些接口的实现的分析了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区