做的比较好的时尚网站,成都seo培训机构,wordpress选择菜单,手工制作迷你抓娃娃机文章目录 前提如何编译参考 本文以k8s v1.14为例#xff0c;到v1.28也适用。
前提 已配好相应的go v1.12.2#xff08;go 版本选择按k8s的CHANGELOG.md选#xff09; 放在#xff1a;/usr/local/GOPATH/root/go/ 已下载k8s的1.14.9源码 kubernetes/#xff0c;或直接git… 文章目录 前提如何编译参考 本文以k8s v1.14为例到v1.28也适用。
前提 已配好相应的go v1.12.2go 版本选择按k8s的CHANGELOG.md选 放在/usr/local/GOPATH/root/go/ 已下载k8s的1.14.9源码 kubernetes/或直接git clone ... 放在$GOPATH/src/k8s.io/。这里是/root/go/src/k8s.io/ 如何找下载链接下载地址在k8s的repo中release搜索1.14找到链接src字样代表源。 区别source code vs binary。binary是编译好的二进制如含amd64字样。 命名必须是.../k8s.io/kubernetes/各种内容不然import时可能会有影响(?)比如./pkg/scheduler/scheduler.go中 import (k8s.io/kubernetes/pkg/scheduler/framework)如何编译
进入k8s源码文件夹kubernetes。里面已经有Makefile了所以直接
KUBE_BUILD_PLATFORMSlinux/amd64 make WHATcmd/kube-scheduler GOFLAGS-v GOGCFLAGS-N -l -j8执行完毕后二进制可执行文件默认生成到 ./_output/bin 目录下。
参数说明 KUBE_BUILD_PLATFORMSlinux/amd64 指定当前编译平台环境类型为 linux/amd64。否则默认会分别编译多种环境编译时间很长。 make cmd/kube-scheduler 表示只编译kube-scheduler。 make all 表示在本地环境中编译所有组件。 若我们只想编译某个组件例如只想编译 kube-apiserver 那么可以执行 make WHATcmd/kube-apiserver 命令。这里可选组件有很多详细可参考 kubernetes/cmd/ 目录下所有组件。 // 可行。从[official docs](file:///C:/Users/dell/Zotero/storage/NZPBHWF2/configure-multiple-schedulers.html)中发现后面唯一用到编译出来的二进制文件位于./_output/的就只有这一句ADD ./_output/local/bin/linux/amd64/kube-scheduler而它只需要编译scheduler就可以得到 GOFLAGS-v 编译参数开启 verbose 日志。 GOGCFLAGS-N -l 编译参数禁止编译优化和内联减小可执行程序大小。
参考
官方文档 configure-multiple-schedulers.html k8s v1.28https://cloud.tencent.com/developer/article/1433219