当前位置: 首页 > article >正文

1.6 阅读k8s源码的准备工作

准备工作

找个合适的ide

  • 比如goland

下载k8s源码

项目地址

  • https://github.com/kubernetes/kubernetes
  • 可以git下载,也可以下载zip包,还可以go get 下载
git clone https://github.com/kubernetes/kubernetes.git 

本教程基于k8s 1.21 版本

k8s组件代码仓库地址(选择下载)

  • 文档地址

各个组件仓库地址

  • k8s.io/api
  • k8s.io/apiextensions-apiserver
  • k8s.io/apimachinery
  • k8s.io/apiserver
  • k8s.io/cli-runtime
  • k8s.io/client-go
  • k8s.io/cloud-provider
  • k8s.io/cluster-bootstrap
  • k8s.io/code-generator
  • k8s.io/component-base
  • k8s.io/controller-manager
  • k8s.io/cri-api
  • k8s.io/csi-api
  • k8s.io/csi-translation-lib
  • k8s.io/kube-aggregator
  • k8s.io/kube-controller-manager
  • k8s.io/kube-proxy
  • k8s.io/kube-scheduler
  • k8s.io/kubectl
  • k8s.io/kubelet
  • k8s.io/legacy-cloud-providers
  • k8s.io/metrics
  • k8s.io/mount-utils
  • k8s.io/pod-security-admission
  • k8s.io/sample-apiserver
  • k8s.io/sample-cli-plugin
  • k8s.io/sample-controller

go get 下载路径 k8s.io/xxxx

  • 举例 :go get -d k8s.io/kube-controller-manager

阅读源码的注意事项

先理解功能

  • 首先理解某一项功能,带着功能去看源码事半功倍,在某些晦涩难懂的地方还可以根据功能的实现反推代码目的

换位思考,如果你实现怎么做

  • 可以时长反问自己,如果是你来实现这里怎么做

假设某一块方法去掉,会有什么效果

  • 遇到不好理解的方法或者模块时,思考为什么要加这个,去掉会有什么问题就可以更好的理解

多看架构图,多总结


http://www.kler.cn/a/508814.html

相关文章:

  • flutter 常用UI组件
  • 【Vim Masterclass 笔记16】S07L32 + L33:同步练习09 —— 掌握 Vim 宏操作的六个典型案例(含点评课内容)
  • 【2024年华为OD机试】 (C卷,100分)- 小明找位置(Java JS PythonC/C++)
  • 卷积神经05-GAN对抗神经网络
  • Android面试题
  • 中国石油大学(华东)自动评教工具(涵盖爬虫的基础知识,适合练手)
  • Android 12.0 息屏休眠后立即启动屏保功能实现
  • SpringMVC 实战指南:打造高效 Web 应用的秘籍
  • 外包公司名单一览表(成都)
  • 《C++11》中的显式虚函数重载:深入理解与应用
  • 【数据分析(二)】初探 Pandas
  • Java中线程的学习
  • EI Scopus双检索 | 2025年第四届信息与通信工程国际会议(JCICE 2025)
  • redis.call()和redis.pcall()的区别
  • uniapp 微信小程序 editor 富文本编辑器
  • SpringBoot中Get请求和POST请求接收参数详解
  • STM32--定时器输出pwm知识点_stm32 pwm-CSDN博客
  • Python毕业设计选题:基于django+vue的智能租房系统的设计与实现
  • 彩色图像面积计算一般方法及MATLAB实现
  • 电脑换固态硬盘
  • 瑞芯微开发板/主板Android配置APK默认开启性能模式方法
  • Cursor新建远程分支后,更新到本地,一步到位
  • [Linux] linux 系统中如何添加自动启动程序
  • nssctf_WEB部分题解
  • 嵌入式杂谈——什么是DMA?有什么用?
  • .netframwork模拟启动webapi服务并编写对应api接口