第29节 kubernetes 源码解析资源


❤️💕💕新时代拥抱云原生,云原生具有环境统一、按需付费、即开即用、稳定性强特点。Myblog:http://nsddd.topopen in new window


[TOC]

需求

提示

我们需要对 kubernetes 进一步的学习和深造,看源码是必须的道路。

与其重要的,是对 kubernetes 资源的收集。

⚠️ 所有资源均是采用外链连接,书本资源或不放连接,其他均为自己感受和总结。如有侵权请联系删除。

关于kubernetes:

**关于 CNCF 的贡献,你需要签署 CLA **

自己的一些资源:

最好需要什么

  1. 如果说第一步的话,那必须要了解 docker 容器底层原理和 Linux 内核基础相关。
  2. 先理解理解完架构了,读起来就比较快了。
  3. 学会使用它,不会使用,永远无法理解它的设计理念。
  4. 读源码还得带着问题去读,不然会很枯燥。一定要带着问题去读,不然就会很枯燥,然后陷入细节中去
  5. 读源码还得有一定积累量,比如你已经读过很多基础包的源码比如 net/http grpc-go 等等
  6. 要尝试着调试,要尝试着练习,要尝试着理解和分析产品理念,更要学会自己设计。

基础知识

基础概念:

我们需要知道 kubernetes 的基础概念,我们或许在前面有讲解过。

比如 Build-in 的 API Groups 和 API Objects 有什么,做什么用;

有一些很重要的工具库:gengo ,包括 informer 机制;

  • Cobra
  • go-restfulopen in new window:REST 要求开发人员以与协议定义一致的方式显式使用 HTTP 方法。这个基本的 REST 设计原则在创建、读取、更新和删除 (CRUD) 操作和 HTTP 方法之间建立了一对一的映射。
  • etcd

Restful 基础:

简单了解 Restful 概念,如果做过 Restful Service 那么最好了

阅读方法(其他开源项目类似)

  • 先整体,后局部(不钻牛角尖)
  • 深入局部中的学习中去
  • 耐心,多看代码~

书籍推荐

  • Go语言程序设计语言
  • 深入解刨 Kubernetes
  • kubernetes 编程
  • kubernetes 源码刨析(这个我买了!!!!!!,不推荐,copy 多干货少)

视频资源

网站资源

推荐书籍

youtube 精选视频

GitHub 精选仓库

数据统计和收集

CNCF 数据

网站:kubernetes.ioopen in new window

资料库:github.com/kubernetes/kubernetesopen in new window 94,767

Crunchbase:crunchbase.com/organization/cloud-native-computing-foundationopen in new window

领英:linkedin.com/company/cloud-native-computing-foundationopen in new window

推特:@kubernetesioopen in new window

第一次提交:9年前open in new window

贡献者:500+open in new window

最新推文:2个月前open in new window

公认: 2016-03-10

已毕业:2018-03-06

总部:加利福尼亚州旧金山open in new window

孵化:7 年前

开发统计:https://k8s.devstats.cncf.io/open in new window

艺术品: https://github.com/cncf/artwork/blob/master/examples/graduated.md#kubernetes-logosopen in new window

stackoverflow:https://stackoverflow.com/questions/tagged/kubernetesopen in new window

博客:http://blog.kubernetes.io/open in new window

邮件列表:https://groups.google.com/forum/#!forum/kubernetes-devopen in new window

slack:http://slack.k8s.io/open in new window

YouTube: https://www.youtube.com/channel/UCZ2bu0qutTOM0tHYa_jkIwgopen in new window

源码统计

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 链接