距离上次写的博客我的go语言学习经历已经过去五个月了,说实话,这段时间非常痛苦,学习曲折(难度很大),断断续续(差点放弃),但是还是坚持了下来,获益匪浅。
那么这一次主要是干啥呢?下面听我娓娓道来:
kubernetes (k8s)学习,源码攻坚
k8s的代码量非常大,而且比较复杂,所以被称为Golang中最大的开源软件,毫不为过,下面给大家截个图:
这里如果大家要深入学习k8s的话,给大家介绍几本书:
第一本,基本不用说了,那就是k8s界的扛把子《k8s权威指南》,这本书你肯定是要读的:
第二本就是《k8s源码剖析》,这本书对于k8s的分析是不全面的,因为只分析了几个组件,但是这本书的亮点是,给你讲解了k8s的基础设计是咋样的,用到了哪些基础的数据结构,对象等
容器(Containerd,Runc,LibContainer),源码攻坚
可能有人会问了,为啥不学习Docker,这是因为k8s在将来会抛弃Docker,理由是Docker包含大部分k8s不需要的功能,在一个就是Docker不符合OCI规范,至于这个规范是啥,大家Google一下,注意不要用百度
containerd,runc相对于k8s的学习花费了更多的时间,因为这里面牵扯到了太多的Linux系统的知识:
Containerd 源码一览
Runc,LibConatiner 源码一览
心得
如果内心不够狠,你将一无所为