k8s源码分析------kube-apiserver分析(1)

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

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

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

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

源码版本为v1.1.1稳定版本

从函数main开始 文件k8s.io/kubernetes/cmd/kube-apiserver/apiserver.go

我们进入k8s.io/kubernetes/cmd/kube-apiserver/app目录中的server.go

我们看到apiserver中有很多参数,我们暂时不管。NewAPIServer也只是做一些参数赋值。

我们具体看Run函数

其中有一个地方为

newEtcd的解析为:

生成了一个etcd的client,然后通过etcdhelper进行了封装。

然后将其注册到了APIGroup中

storageDestinations.AddAPIGroup("", etcdStorage)

在后面的master初始化中,将APIGroup赋给了config中

紧接着

我们继续看master中的代码k8s.io\kubernetes\pkg\master\master.go

New函数里面主要做了一些参数赋值,然后就是定义了restful的container。

关于restful这个后续再分析。

我们仅需看master.init

init中从StorageDestinations中获取到了之前注册在里面的apigroup,也就是变量为etcdStorage的etcdhelper结构体

在这里生成了一个podstorage

继续跟踪k8s.io\kubernetes\pkg\registry\pod\etcd\etcd.go

在NewStorage这个函数中其实是对etcdgeneric.Etcd的一个封装。并且最重要的参数etcdhelper传给了etcdgeneric.Etcd的Storage成员变量

我们再继续跟踪

k8s.io\kubernetes\pkg\registry\generic\etcd

在这里面呢,有一些函数对象变量,还有一个最重要的是Storage

下面以create函数为例

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏未闻Code

使用生成器把Kafka写入速度提高1000倍

通过本文你会知道Python里面什么时候用yield最合适。本文不会给你讲生成器是什么,所以你需要先了解Python的yield,再来看本文。

641
来自专栏大闲人柴毛毛

深入剖析Spring(一)——IoC的基本概念(从面向对象角度介绍)

IoC与DI IoC和DI是Spring的两个核心概念,很多人都把它们视为相同的东西,但事实并非如此。 IoC(Inversion of Control)...

3335
来自专栏小怪聊职场

爬虫课堂(二十二)|使用LinkExtractor提取链接

5165
来自专栏Rindew的iOS技术分享

iOS objectView.removeFromSuperview之后if(self.objectView)仍然成立?

2035
来自专栏tkokof 的技术,小趣及杂念

Sweet Snippet 系列之 Clone Lua Table

参加工作好多年了,却一直对程序中的clone(拷贝)语义比较陌生,印象中很多开发书籍对此都有很大篇幅的讨论,但自己平日里用到的情况却很少. 细想一下原因,可...

722
来自专栏PHP技术

设计模式分类

Introduction 根据目的和范围,设计模式可以分为五类。按照目的分为:创建设计模式,结构设计模式,以及行为设计模式。按照范围分为:类的设计模式,以及对象...

3136
来自专栏前端侠2.0

table锁定列的一个方法.及琢磨思路

这是从http://stackoverflow.com找到一个一链接,删除多余的css,加上色就是上图。

752
来自专栏Python疯子

python爬虫保存到mongodb:bson.errors.InvalidDocument: key '18435-.net前端开发工程师(深圳)' must not contain '.'

bson.errors.InvalidDocument: key '18435-.net前端开发工程师(深圳)' must not contain '.'

982
来自专栏代码GG之家

Scoops android app多主题架构(五)

原理分析 核心代码位置 https://github.com/52inc/Scoops/tree/master/scoops/src/main/java/com...

1819
来自专栏乐享123

C:dynamic Array in Stack

1215

扫码关注云+社区