码迷,mamicode.com
首页 > Windows程序 > 详细

【原创】k8s源码分析----apiserver之APIGroupVersion

时间:2016-03-26 07:20:06      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

【原创】k8s源码分析----apiserver之APIGroupVersion

本文中转载自本人空间:http://user.qzone.qq.com/29185807/blog/1458892866

       前面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等这些接口的实现的分析了。

 

龚浩华

qq 月牙寂 29185807

2016年3月25日

【原创】k8s源码分析----apiserver之APIGroupVersion

标签:

原文地址:http://blog.csdn.net/screscent/article/details/50981411

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!