kubernetes源码下载编译

编译环境

CentOS Linux release 7.2.1511 (Core) 
[root@fp-web-43 bin]# uname -s
Linux
[root@fp-web-43 bin]# uname -r
3.10.0-327.el7.x86_64
[root@fp-web-43 bin]# uname -m
x86_64

1.go环境安装

 go下载:
wget https://studygolang.com/dl/golang/go1.16.6.linux-amd64.tar.gz
tar -xzvf go1.16.6.linux-amd64.tar.gz -C /usr/local/
  vim /etc/profile
  新增:PATH=$PATH:/usr/local/go/bin
  source /etc/profile
  验证

  [root@fp-web-43 kubernetes-1.19.13]# go version
  go version go1.16.6 linux/amd64

2.gcc安装

[root@fp-web-43 kubernetes-1.19.13]# yum install gcc
否则会出现
cgo: exec gcc: exec: "gcc": executable file not found in $PATH 错误
[root@fp-web-43 kubernetes-1.19.13]# yum install glibc-static
[root@fp-web-43 kubernetes-1.19.13]# yum install binutils
ld的版本过低,会出现 

 /usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
 /usr/bin/ld: /tmp/go-link-100966964/000012.o: unrecognized relocation (0x2a) in section `.text'
 /usr/bin/ld: final link failed: Bad value
 collect2: error: ld returned 1 exit status

3.kubernetes下载
其他版本可以查看: 
https://github.com/kubernetes/kubernetes/releases
https://github.com/kubernetes/kubernetes/releases?page=24 

[root@fp-web-43 src]#wget https://github.com/kubernetes/kubernetes/archive/refs/tags/v1.19.13.tar.gz
[root@fp-web-43 src]#tar -xzvf v1.19.13.tar.gz
[root@fp-web-43 kubernetes-1.19.13]#cd kubernetes-1.19.13
[root@fp-web-43 kubernetes-1.19.13]# make
+++ [0422 12:50:12] Building go targets for linux/amd64:
cmd/kube-proxy
cmd/kube-apiserver
cmd/kube-controller-manager
cmd/kubelet
cmd/kubeadm
cmd/kube-scheduler
vendor/k8s.io/kube-aggregator
vendor/k8s.io/apiextensions-apiserver
cluster/gce/gci/mounter
cmd/kubectl
cmd/gendocs
cmd/genkubedocs
cmd/genman
cmd/genyaml
cmd/genswaggertypedocs
cmd/linkcheck
vendor/github.com/onsi/ginkgo/ginkgo
test/e2e/e2e.test
cluster/images/conformance/go-runner
cmd/kubemark
vendor/github.com/onsi/ginkgo/ginkgo
test/e2e_node/e2e_node.test

 k8s编译结果

[root@fp-web-43 kubernetes-1.19.13]# ll --time-style=full
total 184
drwxrwxr-x  4 root root    54 2021-07-16 04:52:27.000000000 +0800 api
drwxrwxr-x  8 root root  4096 2021-07-16 04:52:27.000000000 +0800 build
lrwxrwxrwx  1 root root    21 2021-07-16 04:52:27.000000000 +0800 BUILD.bazel -> build/root/BUILD.root
drwxrwxr-x  2 root root    59 2021-07-16 04:52:27.000000000 +0800 CHANGELOG
lrwxrwxrwx  1 root root    19 2021-07-16 04:52:27.000000000 +0800 CHANGELOG.md -> CHANGELOG/README.md
drwxrwxr-x  9 root root  4096 2021-07-16 04:52:27.000000000 +0800 cluster
drwxrwxr-x 24 root root  4096 2021-07-16 04:52:27.000000000 +0800 cmd
-rw-rw-r--  1 root root   148 2021-07-16 04:52:27.000000000 +0800 code-of-conduct.md
-rw-rw-r--  1 root root   624 2021-07-16 04:52:27.000000000 +0800 CONTRIBUTING.md
drwxrwxr-x  2 root root    48 2021-07-16 04:52:27.000000000 +0800 docs
-rw-rw-r--  1 root root 33426 2021-07-16 04:52:27.000000000 +0800 go.mod
-rw-rw-r--  1 root root 55901 2021-07-16 04:52:27.000000000 +0800 go.sum
drwxrwxr-x 12 root root  8192 2021-07-16 04:52:27.000000000 +0800 hack
-rw-rw-r--  1 root root 11358 2021-07-16 04:52:27.000000000 +0800 LICENSE
drwxrwxr-x  3 root root    46 2021-07-16 04:52:27.000000000 +0800 LICENSES
drwxrwxr-x  2 root root  4096 2021-07-16 04:52:27.000000000 +0800 logo
lrwxrwxrwx  1 root root    19 2021-07-16 04:52:27.000000000 +0800 Makefile -> build/root/Makefile
lrwxrwxrwx  1 root root    35 2021-07-16 04:52:27.000000000 +0800 Makefile.generated_files -> build/root/Makefile.generated_files
drwxr-xr-x  3 root root  4096 2022-04-22 12:51:21.296797414 +0800 _output  //时间有变化
-rw-rw-r--  1 root root   783 2021-07-16 04:52:27.000000000 +0800 OWNERS
-rw-rw-r--  1 root root 10320 2021-07-16 04:52:27.000000000 +0800 OWNERS_ALIASES
drwxrwxr-x 33 root root  4096 2021-07-16 04:52:27.000000000 +0800 pkg
drwxrwxr-x  3 root root    41 2021-07-16 04:52:27.000000000 +0800 plugin
-rw-rw-r--  1 root root  3468 2021-07-16 04:52:27.000000000 +0800 README.md
-rw-rw-r--  1 root root   563 2021-07-16 04:52:27.000000000 +0800 SECURITY_CONTACTS
drwxrwxr-x  4 root root   100 2021-07-16 04:52:27.000000000 +0800 staging
-rw-rw-r--  1 root root  1110 2021-07-16 04:52:27.000000000 +0800 SUPPORT.md
drwxrwxr-x 17 root root  4096 2021-07-16 04:52:27.000000000 +0800 test
drwxrwxr-x  6 root root   105 2021-07-16 04:52:27.000000000 +0800 third_party
drwxrwxr-x  4 root root    89 2021-07-16 04:52:27.000000000 +0800 translations
drwxrwxr-x 16 root root  4096 2021-07-16 04:52:27.000000000 +0800 vendor
lrwxrwxrwx  1 root root    20 2021-07-16 04:52:27.000000000 +0800 WORKSPACE -> build/root/WORKSPACE

 [root@fp-web-43 bin]# pwd
 /usr/local/src/kubernetes-1.19.13/_output/bin

 [root@fp-web-43 bin]# ls

 apiextensions-apiserver e2e_node.test genman go2make kube-aggregator kubelet linkcheck
conversion-gen e2e.test genswaggertypedocs go-bindata kube-apiserver kubemark mounter
deepcopy-gen gendocs genyaml go-runner kube-controller-manager kube-proxy openapi-gen
defaulter-gen genkubedocs ginkgo kubeadm kubectl kube-scheduler prerelease-lifecycle-gen

几个比较重要的地址

https://github.com/etcd-io/etcd
https://github.com/coreos/flannel

二进制的k8s相关下载链接

Client Binaries(客户端k8s安装组件)
https://dl.k8s.io/v1.13.1/kubernetes-client-linux-amd64.tar.gz
Server Binaries(服务器端k8s安装组件)
https://dl.k8s.io/v1.13.1/kubernetes-server-linux-amd64.tar.gz
Node Binaries(节点安装k8s组件)
https://dl.k8s.io/v1.13.1/kubernetes-node-linux-amd64.tar.gz
etcd(Kubernetes 集群的主数据库)
https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz
flannel(cni插件)
https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz
calico(cni插件)
https://github.com/shenshouer/calico-kubernetes

 

 

posted @ 2022-04-26 22:58  jinzi  阅读(636)  评论(0编辑  收藏  举报