Coder Social home page Coder Social logo

k8s-source-code-analysis's Introduction

声明:本书已经不再更新和维护,感兴趣的朋友可以选择 fork 一个版本。另外我的新书《Kubernetes Operator 开发进阶》将在2022年9月出版,大家如果感兴趣可以提前关注我的公众号“胡说云原生”,届时我会在公众号里通知,并送书十本。

kubernetes

1、关于本书

本书将系统讲解kubernetes的核心组件源码,附带介绍相关的周边项目,比如client-go等。

建议通过公众号胡说云原生(微信上直接搜索可以找到)接收更新消息,通过github pages阅读本书。

寻找组织可以加我微信(ITNT01),一句话证明自己是源码学习者,然后我会拉你进群。

2、内容更新

本项目会不定期更新,一般会在每周五更新一节;更新内容将同步发到公众号胡说云原生、博客园胡说云原生等。细微的更新,比如错别字修改等不会同步到其他所有平台。

每次新章节会选择性提前发到微信群内,比如本周五要发出来的新内容周一可能就内部发到群里了,然后接受读者反馈,定稿后上传到github,然后同步到微信公众号等平台。

3、本教程适合谁读

任何对k8s源码感兴趣的人都可以看本教程,但是我建议你至少有golang项目开发经验,简单的golang开源项目的源码分析经验,k8s应用经验,对golang的基础特性和k8s的基础特性有一定的了解;不然直接上手看k8s源码会郁闷的。

4、章节规划与负责人

5、版本说明

本书基于:v1.13版本源码讲解。

6、协议

本书使用Apache License 2.0协议,但是保留出版图书的权利。

7、贡献

欢迎参与本书编写!如果你对开源项目源码分析感兴趣,可以和我联系,如果你擅长某个项目,可以主导一个章节的编写。

如果想要提交pull request,建议先开一个issue,说明你要做什么修改,一般1天内我会回复issue,告诉你是否接受修改。但是得提前告诉你我是一个有洁癖的人,包括代码洁癖,文字洁癖等,所以请不要提交太随意的风格的内容哦~

另外注意:一定先更新你的仓库到最新状态,然后编辑新内容,不然冲突很尴尬~

8、FAQ

暂时我没有考虑增加评论功能,因为不可避免要增加三方插件,三方插件意味着用户需要注册登录等,体验不会太好。万一哪天这个插件倒闭了,就白忙活了。所以在每章开头我增加了一个FAQ部分,会把这一章中各个小节收到的部分问题汇总在开头的FAQ里。

大家在微信里问我的问题一般我都会耐心解答,但是和go语言本身语法相关的初级问题还是不希望经常遇到,因为我认为语言本身问题是很容易通过网络资料学习掌握的。另外有问题尽量抛到群里,私信多的话有时候我要1个问题很好几个人讲,工作量比较大。

9、支持本书

微信扫一扫,鼓励作者快快更新,写出更多优质的文章~

k8s-source-code-analysis's People

Contributors

bevisy avatar buptliuwei avatar calmkart avatar daniel-hutao avatar gotoolkits avatar hantmac avatar navono avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

k8s-source-code-analysis's Issues

debug 调试

请问下 如何通过写死启动参数 来调试kube-scheduler?

期待更新!

假期看完了 scheduler 的源码分析,写得很棒!希望能继续更新后面的 controller, kubelet, apiserver, 如果人手紧缺,我也可以尝试下 😄

公告:近期准备继续更新了

2019 年中旬小孩的到来打乱了节奏,后面工作之外一直忙于带娃无暇继续更新文章。

近期准备整理下博客网站,重新开始更新源码分析系列,不过方式可能有所变化,不会再从头到尾一行一行分析,而是采用专题的方式来写,比如”pv/pvc 生命周期“、”Pod 的生命周期“、”List-Watch 原理“ ……

也欢迎大家参与进来,或者是将感兴趣的话题贴出来,供大家选择参与分析!

#24 #21 #22 #12

手误错字修改

/core/scheduler/predicate.md b/core/scheduler/predicate.md

68行 并法 -> 并发

阅读过程中偶然发现的手误错别字,顺便给修改了.
#16

kubeadm默认kubernetes版本已经更新至1.13.4,需修改kubeadm init参数

原启动命令:

kubeadm init --pod-network-cidr=10.100.0.0/16

追加参数后:

# --kubernetes-version: 用于指定 k8s版本
# --apiserver-advertise-address:用于指定使用 Master的哪个network interface进行通信,若不指定,则 kubeadm会自动选择具有默认网关的 interface
# --pod-network-cidr:用于指定Pod的网络范围,该参数使用依赖于使用的网络方案。

kubeadm init --pod-network-cidr=10.100.0.0/16 --kubernetes-version=v1.13.3 --apiserver-advertise-address 192.168.124.12

kubectl

k8s刚入门的小白,page 404呀

【goland调试问题】

您好。我看您在 debug.md中说你的 goland和k8s集群不在一个机器中。
image
最近学习您的项目时,我用的也是 goland,并且我的k8s集群是Ubuntu 服务器。而goland是本机windows电脑。我在goland上装了 “remote hosts access” 感觉这个只是同步我本机和K8s集群的文件。并不能进行远程debug.
所以,我想请问一下,您是怎样使用goland调试k8s集群的代码呢?

[建议] k8s环境搭建国内访问docker官方镜像源速度慢,可配置阿里镜像加速器

章节1.2.2 测试环境搭建--镜像准备部分,直接拉取docker官方镜像源速度较慢,可通过配置阿里镜像源加速器解决。

# 增加镜像源配置,镜像源地址获取地址:https://cr.console.aliyun.com/cn-hangzhou/mirrors
mkdir -p /etc/docker
# 替换下方 ${ID}为自己的加速地址
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://${ID}.mirror.aliyuncs.com"]
}
EOF
# 重启服务
systemctl daemon-reload
systemctl restart docker

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.