标签:
本文中转载自本人空间:http://user.qzone.qq.com/29185807/blog/1458892866
前面3篇文章,主要是根据程序处理流程进行跳转分析。经过这些流程的跳转分析,拨开乌云终见日。
我们剥掉那些不重要的部分,直接进入主要框架。
在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等这些接口的实现的分析了。
龚浩华
qq 月牙寂 29185807
2016年3月25日
【原创】k8s源码分析----apiserver之APIGroupVersion
标签:
原文地址:http://blog.csdn.net/screscent/article/details/50981411