k8s源码地址:
https://github.com/kubernetes/kubernetes
如图:

k8s的组件:
-
kubectl k8s CLI 工具
-
client-go API接口, k8s系统其他组件与k8s api service的通信也是使用的client-go
-
kube-apiserver api服务
-
manager 管理控制器, 包含pod, rc, deployment, namspece, serviceaccount等
-
scheduler调度
-
kubelet 管理节点, 创建资源等
-
kube-proxy 代理, 转换
k8s源码拥有非常多的目录及文件, 要阅读源码,抓住主要的进行阅读即可.
例如: build, logo等暂时不用阅读.
主要目录如下:
| cmd 命令接口, 执行文件代码入口, 服务注册入口, 每个执行文件都有一个main函数 |
| pkg 核心代码 |
| plugin 插件文件, 例如认证授权等 |
| staging 部分核心代码暂存库 |
| vendor 存放项目依赖的库代码 |
| api openapi 的spec文件,定义等 |
main初始化过程一般为:
rand.Seed 随机数 – > new command --> init log --> Execute 执行命令
深入理解kubernetes源码:主要目录结构解析

本文介绍了kubernetes(k8s)的主要源码目录结构,包括kubectl、client-go、kube-apiserver、manager、scheduler、kubelet和kube-proxy等组件。建议在阅读源码时关注主要目录,如build和logo等可暂不涉及。
最低0.47元/天 解锁文章
1175

被折叠的 条评论
为什么被折叠?



