西凉风雷
Kubernetes 学习(八)Kubernetes 源码阅读之初级篇------源码及依赖下载
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
西凉风雷
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
Kubernetes 学习(八)Kubernetes 源码阅读之初级篇------源码及依赖下载
Kubernetes 学习(八)Kubernetes 源码阅读之初级篇------源码及依赖下载
西凉风雷
关注
发布于 2022-11-23 19:35:26
1.2K
0
发布于 2022-11-23 19:35:26
举报
文章被收录于专栏:
容器与 Kubernetes 游记
0. 前言
阅读了一段时间 Golang 开源代码,准备正式阅读 Kubernetes 项目代码(工作机 Golang 版本为 Go 1.12)
参照
《k8s 源码阅读》
选择 1.13 版本
参考原文:
100 - k8s源码分析-准备工作
1. 方法论
第一步:熟悉 k8s 的基本功能,理解各个组件的分工,做到心中有数,但是不拘泥于掌握每一个功能细节,因为很多特性在日常开发中很难用到
第二步:选定第一个要深入研究的组件,概览其支持的所有子命令和 flag,知道该组件能实现哪些功能(知道基于什么实现,和哪些组件打交道),比如看 kube-proxy 至少先知道是用 iptables实现的,得先补补 iptables的知识
第三步:选定源码版本,不要追求 master 分支,但是建议选一个相对新的,或者公司正在使用的版本
第四步:准备编译、测试环境。至少能够把看的组件编译出来,能够运行起来后 debug 的环境,这样才能在 debug 中看各种在读源码时不理解的对象在运行中到底存了哪些数据
第五步:最快的速度抓住代码主线,泛读源码
第六步:针对特定功能精读、调试、深入理解
第七步:整体精读,适当深入三方库,公共库,绘制整理单个组件架构图、流程图等,帮助自己理解整个组件工作全流程,在平时使用中遇到 bug 后能够快速反应过来是哪个模块的问题
最后:读完所有组件后融会贯通,理解各种公共库的抽取逻辑,汇总学习
2. 准备
创建目录:
mkdir $GOPAH/src/k8s.io
(Kubernetes 里 import 的 package 都是 k8s.io 作为前缀的)
切换至创建的目录下载代码:
git clone https://github.com/kubernetes/kubernetes.git
切换至 1.13
:git checkout -b 1.13 origin/release-1.13
Kubernetes 依赖都在 vendor 和 staging 目录下,将 staging 目录下的所有子目录复制到
$GOPAH/src/k8s.io
中,即可在 Goland 中正常阅读
3. 参考文献
100 - k8s源码分析-准备工作
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
原始发表:2019-06-13,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
git
kubernetes
go
打包
本文分享自
作者个人站点/博客
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
git
kubernetes
go
打包
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
目录
0. 前言
1. 方法论
2. 准备
3. 参考文献
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
产品介绍
产品文档
11.11 上云拼团GO
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐