美文网首页Kubernetes
Kubernetes源码解析-环境搭建

Kubernetes源码解析-环境搭建

作者: 王勇1024 | 来源:发表于2019-06-17 20:09 被阅读24次

环境准备

获取源码

Github地址:https://github.com/kubernetes/kubernetes
当前的commit ID 是 e91556c62f4d0a597c712af1e7c168b58eb20eba

首先,找到本机的 $GOPATH目录

$ echo $GOPATH
/usr/local/Cellar/go/1.12.1

(如果本机未安装go开发环境,请参考 Go开发环境搭建 完成安装)
然后在 $GOPATH/src目录下创建k8s.io文件夹,进入k8s.io文件夹,执行git clone从 Github 克隆Kubernetes源码:

$ git clone https://github.com/kubernetes/kubernetes.git
正克隆到 'kubernetes'...
remote: Enumerating objects: 275, done.
remote: Counting objects: 100% (275/275), done.
remote: Compressing objects: 100% (150/150), done.
remote: Total 955529 (delta 145), reused 125 (delta 125), pack-reused 955254
接收对象中: 100% (955529/955529), 639.76 MiB | 83.00 KiB/s, 完成.
处理 delta 中: 100% (666882/666882), 完成.
正在检出文件: 100% (19136/19136), 完成.

安装GoLand

下载地址:https://www.jetbrains.com/go/download/
下载之后双击安装即可。
GoLand在不激活的情况下,只能试用30天。如果想免费获得永久试用权,可以通过 http://idea.lanyus.com/ 获取激活码来免费激活。

导入源码

打开GoLand,点击Open Project,选择Kubernetes源码所在目录就可以导入源码。

目录结构

目录 说明
api 输出接口文档用
build 构建脚本
cmd 所有的二进制可执行文件入口代码,例如apiserver/scheduler/kubelet
pkg 项目代码主目录,cmd的只是个入口,这里是所有的具体实现
plugin 插件,k8s认为调度器是插件的一部分,所以调度器的代码在这里
release 应该是Google发版本用的?
test 测试相关的工具
third_party 一些第三方工具,应该不是强依赖的?
docs 文档,包括了用户文档、管理员文档、设计、新功能提议
example 使用案例
Godeps 项目中依赖使用的Go第三方包,例如docker客户端SDK,rest等
hack 工具箱,各种编译、构建、测试、校验的脚本都在这里面

源码编译

$cd $GOPATH/src/k8s.io/kubernetes
$ make generated_files
+++ [0617 19:52:42] Building go targets for darwin/amd64:
    ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
+++ [0617 19:52:53] Building go targets for darwin/amd64:
    ./vendor/k8s.io/code-generator/cmd/defaulter-gen
+++ [0617 19:53:01] Building go targets for darwin/amd64:
    ./vendor/k8s.io/code-generator/cmd/conversion-gen
+++ [0617 19:53:21] Building go targets for darwin/amd64:
    ./vendor/k8s.io/kube-openapi/cmd/openapi-gen
+++ [0617 19:53:32] Building go targets for darwin/amd64:
    ./vendor/github.com/jteeuwen/go-bindata/go-bindata

相关文章

网友评论

    本文标题:Kubernetes源码解析-环境搭建

    本文链接:https://www.haomeiwen.com/subject/vbeofctx.html