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

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

 

由本人空间转过来,空间地址 

源码版本为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函数为例

 

 

龚浩华

qq 月牙寂 道长 29185807

2016年3月17日

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

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

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

 

 

 

 

 

你可能感兴趣的文章
在unity中建立最小的shader(Minimal Shader)
查看>>
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>
vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
查看>>
linux安装usb wifi接收器
查看>>
关于共享单车定位不准问题
查看>>
终于搞定CString和string之间转换的问题了
查看>>
用防火墙自动拦截攻击IP
查看>>
补充自动屏蔽攻击ip
查看>>
谷歌走了
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
让我做你的下一行Code
查看>>
浅析:setsockopt()改善程序的健壮性
查看>>
关于对象赋值及返回临时对象过程中的构造与析构
查看>>
VS 2005 CRT函数的安全性增强版本
查看>>
SQL 多表联合查询
查看>>
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>
cppcheck c++静态代码检查
查看>>