博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原创】k8s源码分析----apiserver之APIGroupVersion
阅读量:4032 次
发布时间:2019-05-24

本文共 970 字,大约阅读时间需要 3 分钟。

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

本文中转载自本人空间:

       前面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日

 (版权声明:本文为作者原创,如需转载请通知本人,并标明出处和作者。擅自转载的,保留追究其侵权的权利。)

如果你觉得本文对你有帮助,可以转到你的朋友圈,让更多人一起学习。

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

 

你可能感兴趣的文章
iphone开发基础之objective-c学习
查看>>
iphone开发之SDK研究(待续)
查看>>
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
部分笔试算法题整理
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
retext出现Could not parse file contents, check if you have the necessary module installed解决方案
查看>>
pyQt不同窗体间的值传递(一)——对话框关闭时返回值给主窗口
查看>>
linux mint下使用外部SMTP(如网易yeah.net)发邮件
查看>>
北京联通华为光猫HG8346R破解改桥接
查看>>
python使用win32*模块模拟人工操作——城通网盘下载器(一)
查看>>
python append 与浅拷贝
查看>>