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

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

 

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

接着上一篇。

我们回到k8s.io\kubernetes\pkg\master\master.go

func (m *Master) init(c *Config) {

从代码里看,里面生成了很多storage,podstorage,eventstorage,nodestorage

 

 

然后在master的storage变量中注册了这些storage,其实这些就是restful的路由,但还不是restful的路由格式。

 

 

那么这些路由是在哪里注册的呢

我们继续往下看代码

还是init函数中,我们看到了api_v1().InstallREST。这里面就是将storage的路由转换成restful的路由,并注册到handlercontainer中

 

另外底下还有个extensions的InstallREST

 

 

我们现在回过头去看看,有两个重要的变量mux,handlerContainer

这两个变量是在master初始化的时候赋值的(函数为New)

 

 

并且将mux与container挂钩

 

 

我们回到init。

我们看到在api注册完了之后,就是初始化handler(http的handler),其实handler就是上文提到的mux

 

 

master的初始化已经完了,现在我们要回到k8s.io\kubernetes\cmd\kube-apiserver\app\server.go 的Run函数中继续往下。

在Run函数末尾,能够很清晰的看到 master中的handle与httpserver挂钩。至此一个httpserver便启动了

 

 

龚浩华

qq 月牙寂 道长 29185807

2016年3月18日

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

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

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

 

你可能感兴趣的文章
Android中AsyncTask的简单用法
查看>>
S3C6410启动模式介绍
查看>>
Jlink + ADS调试 S3C2440
查看>>
2440初始化存储器原理(接上一篇)
查看>>
S3C2440 USB 设备控制器(转)
查看>>
Linux usb 设备驱动 (1)
查看>>
解决跨网场景下,CAS重定向无法登录的问题(无需修改现有代码)
查看>>
java反编译命令
查看>>
activemq依赖包获取
查看>>
概念区别
查看>>
关于静态块、静态属性、构造块、构造方法的执行顺序
查看>>
final 的作用
查看>>
在Idea中使用Eclipse编译器
查看>>
idea讲web项目部署到tomcat,热部署
查看>>
优化IDEA启动速度,快了好多。后面有什么优化点,会继续往里面添加
查看>>
JMeter 保持sessionId
查看>>
IDEA Properties中文unicode转码问题
查看>>
Idea下安装Lombok插件
查看>>
zookeeper
查看>>
Idea导入的工程看不到src等代码
查看>>