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 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

Windows 下的安装phpMoAdmin

Windows7 下安装PHP非常容易,推荐使用WPI,通过框架和运行时选择PHP5.2安装: ? mongoDB 是以 PHP 扩展库 .dll 的形式与 P...

2397
来自专栏Petrichor的专栏

requirements.txt 介绍 & 快捷生成

  requirements.txt 文件 里面记录了当前程序的所有依赖包及其精确版本号。

1041
来自专栏运维小白

10.11 Linux网络相关

linux网络相关 ifconfig查看网卡ip(yum install net-tools) ifup ens33/ifdown ens33 设定虚拟网卡en...

3036
来自专栏Laoqi's Linux运维专列

PHP相关配置

PHP相关配置 : 通过如下方式找到咱们的php配置文件,这才是真正的PHP配置文件! [root@localhost test3.com]# /usr/loc...

4296
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装和配置Postfix作为仅发送SMTP服务器

Postfix是一种邮件传输代理(MTA),一种用于发送和接收电子邮件的应用程序。在本教程中,我们将安装和配置Postfix,使它仅可以用于本地应用程序发送电子...

8080
来自专栏Laoqi's Linux运维专列

Jumpserver配置与运行

7196
来自专栏黑泽君的专栏

tomcat连接mysql的1个问题解决:问题是:com.mysql.jdbc.Connection.isValid(I)Z问题

  我们原始在tomcat的lib目录下的JDBC的驱动jar包的版本如下图所示:

1411
来自专栏十月梦想

内网穿透FRP搭建教程

        开篇先虾扯蛋一会儿,看到上一篇博文更新已经是1个多月之前的文章了,当时学习小程序忙!拖拖拉拉一个多月,也没学到什么,不过基本的构建明白了!今天是...

6072
来自专栏程序员同行者

构建NTP时间服务器

2822
来自专栏pangguoming

ant安装、环境变量配置及验证

一、安装ant 到官方主页http://ant.apache.org下载新版(目前为Ant1.8.1)的ant,得到的是一个apache-ant-1.8.1-...

3947

扫码关注云+社区

领取腾讯云代金券