第29节 kubernetes 源码解析资源
❤️💕💕新时代拥抱云原生,云原生具有环境统一、按需付费、即开即用、稳定性强特点。Myblog:http://nsddd.top
[TOC]
需求
提示
我们需要对 kubernetes 进一步的学习和深造,看源码是必须的道路。
与其重要的,是对 kubernetes 资源的收集。
⚠️ 所有资源均是采用外链连接,书本资源或不放连接,其他均为自己感受和总结。如有侵权请联系删除。
关于kubernetes:
**关于 CNCF 的贡献,你需要签署 CLA **
自己的一些资源:
最好需要什么
- 如果说第一步的话,那必须要了解 docker 容器底层原理和 Linux 内核基础相关。
- 先理解理解完架构了,读起来就比较快了。
- 学会使用它,不会使用,永远无法理解它的设计理念。
- 读源码还得带着问题去读,不然会很枯燥。一定要带着问题去读,不然就会很枯燥,然后陷入细节中去
- 读源码还得有一定积累量,比如你已经读过很多基础包的源码比如 net/http grpc-go 等等
- 要尝试着调试,要尝试着练习,要尝试着理解和分析产品理念,更要学会自己设计。
基础知识
基础概念:
我们需要知道 kubernetes 的基础概念,我们或许在前面有讲解过。
比如 Build-in 的 API Groups 和 API Objects 有什么,做什么用;
有一些很重要的工具库: 如 gengo ,包括 informer 机制;
- Cobra
- go-restful:REST 要求开发人员以与协议定义一致的方式显式使用 HTTP 方法。这个基本的 REST 设计原则在创建、读取、更新和删除 (CRUD) 操作和 HTTP 方法之间建立了一对一的映射。
- etcd
Restful 基础:
简单了解 Restful 概念,如果做过 Restful Service 那么最好了
阅读方法(其他开源项目类似)
- 先整体,后局部(不钻牛角尖)
- 深入局部中的学习中去
- 耐心,多看代码~
书籍推荐
- Go语言程序设计语言
- 深入解刨 Kubernetes
- kubernetes 编程
- kubernetes 源码刨析(这个我买了!!!!!!,不推荐,copy 多干货少)
视频资源
网站资源
推荐书籍
- 深入剖析kubernetes
- Kubernetes 源码解析
youtube 精选视频
GitHub 精选仓库
数据统计和收集
CNCF 数据
资料库:github.com/kubernetes/kubernetes 94,767
Crunchbase:crunchbase.com/organization/cloud-native-computing-foundation
领英:linkedin.com/company/cloud-native-computing-foundation
第一次提交:9年前
贡献者:500+
最新推文:2个月前
公认: 2016-03-10
已毕业:2018-03-06
总部:加利福尼亚州旧金山
孵化:7 年前
开发统计:https://k8s.devstats.cncf.io/
艺术品: https://github.com/cncf/artwork/blob/master/examples/graduated.md#kubernetes-logos
stackoverflow:https://stackoverflow.com/questions/tagged/kubernetes
邮件列表:https://groups.google.com/forum/#!forum/kubernetes-dev
slack:http://slack.k8s.io/
YouTube: https://www.youtube.com/channel/UCZ2bu0qutTOM0tHYa_jkIwg
源码统计
Kubernetes
代码特别庞大,使用 cloc 统计:
PS D:\文档\my> cloc.exe .\kubernetes\
23056 text files.
17722 unique files.
5806 files ignored.
github.com/AlDanial/cloc v 1.94 T=228.54 s (77.5 files/s, 28953.4 lines/s)
--------------------------------------------------------------------------------
Language files blank comment code
--------------------------------------------------------------------------------
Go 15020 517320 1010720 3922880
JSON 341 2 0 779037
YAML 1182 612 1326 132857
Markdown 458 22121 0 80538
Bourne Shell 328 6343 12485 31159
Protocol Buffers 124 5811 19566 11531
PO File 12 1873 13392 11261
Assembly 48 2696 883 7754
Text 28 195 0 6612
PowerShell 7 398 1018 2485
make 59 527 891 1844
Starlark 24 68 0 904
C/C++ Header 1 399 4367 839
Bourne Again Shell 10 58 72 449
sed 4 4 32 445
Dockerfile 46 201 680 408
Python 7 119 159 406
SVG 4 4 4 398
zsh 1 14 3 191
C 5 42 54 140
ANTLR Grammar 1 31 17 138
TOML 5 24 86 74
INI 1 2 0 10
CSV 2 0 0 3
DOS Batch 1 2 17 2
HTML 2 0 0 2
NAnt script 1 0 0 1
--------------------------------------------------------------------------------
SUM: 17722 558866 1065772 4992368
--------------------------------------------------------------------------------
END 链接
✴️版权声明 © :本书所有内容遵循CC-BY-SA 3.0协议(署名-相同方式共享)©