目前,kubernetes已成为容器编排领域的事实标准,其开源社区也成为了最热门的项目之一,且其周边项目如其他编排工具、DevOps、微服务项目等等也都积极向kubernetes靠拢,支持或者基于kubernetes运行。因此,参与kubernetes社区,研究和贡献开源项目成为了极具价值的事情,尤其是主项目kubernetes是其中的重中之重https://github.com/kubernetes/kubernetes)。

    本篇文章就来探讨一下kubernetes项目的基本知识,和windows下开发编译环境准备。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

    Kubernetes主项目是由众多子项目组合而成的,每个子项目由一个Special Interest Group (SIG)管理。想参与社区贡献的话先选择一个SIG,这是SIG列表https://github.com/kubernetes/community/blob/master/sig-list.md。每个SIG都有不同的贡献规则、邮件列表和slack频道和定期视频会议等。

    贡献者须知:

    • 贡献前需要签署CLAhttps://github.com/kubernetes/community/blob/master/CLA.md

    • 找到一个合适的与贡献相关的SIG,并对这个SIG的章程等进行了解

    • 可以先从issue问题处理开始做起贡献,如果写代码比较困难可以从文档更新入手,甚至提issue也是受欢迎的

    • kubernetes是一个github项目,基本按照pull request、review、testing方式

    • 遇到问题可以到slack讨论:http://slack.k8s.io/

windows环境搭建:

一、准备:

下载Golang并安装:https://studygolang.com/dl

下载LiteIDE并安装:https://www.golangtc.com/download/liteide

下载源码:https://github.com/kubernetes/kubernetes

建议直接在网页下载ZIP包,网速比较快且包比较小,从git clone的话国内网速很慢而且包含了大量的git历史记录文件(500+M)。

二、项目搭建:

  1. 新建C:\k8s\src\k8s.io\

  2. 将kubernetes-master.zip解压缩至此文件夹下,并改名kubernetes

  3. 将C:\k8s\src\k8s.io\kubernetes\vendor下的内容剪切至C:\k8s\src下。vendor目录下的包在单独编译时会出现问题。

  4. 删除C:\k8s\src\k8s.io下面的单独文件文件(不包括文件夹)

  5. 将文件夹C:\k8s\src\k8s.io\kubernetes\staging\src\k8s.io复制到C:\k8s\src下。编译时所需要的包。

  6. 打开LiteIDE,打开C:\k8s\src\k8s.io\kubernetes目录。工具-管理GOPATH,添加C:\k8s\

  7. 可以对pkg和cmd里面的文件夹进行编译

三、其中主要目录:

  • pkg为kubernetes主体代码

  • cmd为kubernetes所有后台进程代码,如kube-apiserver、kube-controller-manager、kube-scheduler、kubelet等等,而这些进程的具体业务逻辑代码则都在pkg种实现了

  • test是一些测试代码

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐