您的位置:首页 > 其它

【原创】k8s源码分析------kube-apiserver分析(2)

2016-03-18 14:16 423 查看
由本人空间转过来,空间地址http://user.qzone.qq.com/29185807/blog/1458270203

接着上一篇。

我们回到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日

(版权声明:本文为作者原创,如需转载请通知本人,并标明出处和作者。擅自转载的,保留追究其侵权的权利。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: