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环境安装
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/
[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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类