FederatedAI / KubeFATE

Manage federated learning workload using cloud native technologies.
Apache License 2.0
423 stars 221 forks source link

trying to build arm64 version kubefate #769

Closed asdfsx closed 2 years ago

asdfsx commented 2 years ago

Description

构建一个可以运行在 arm 服务器上的kubefate 可执行文件,以及 kubefate 镜像

可以通过在执行makefile的时候添加arch 参数来指定目标架构

ARCH=arm64 make release
ARCH=amd64 make release

生成的镜像以及可执行文件,会存放在 release目录里

release
├── amd64
│   ├── kubefate-k8s-v1.4.5-amd64.tar.gz
│   └── kubefate-v1.4.5-amd64.docker
└── arm64
    ├── kubefate-k8s-v1.4.5-arm64.tar.gz
    └── kubefate-v1.4.5-arm64.docker

另外docker save 的镜像最好可以改成压缩格式的,可以进一步缩小体积 @jat001 @LaynePeng

LaynePeng commented 2 years ago

Looks great, but I have one questions: does FATE support ARM? Because we have no ARM environment (or we have? @JingChen23 @owlet42), we may not verify it. Have this PR been tested?

另外docker save 的镜像最好可以改成压缩格式的,可以进一步缩小体积 Good suggestion, but because this is the default format for docker load, I suggest we add one command such as: docker package?

asdfsx commented 2 years ago

Right now the fate doesn't support arm platform. But we are trying to build an arm version.

asdfsx commented 2 years ago

Makefile updated as @JingChen23 mentioned above. After execute make release the release directory look like below

$ RELEASE_VERSION=v1.9.0 ARCH=amd64 make release
...
$ RELEASE_VERSION=v1.9.0 ARCH=arm64 make release
...
$ tree release
release
├── kubefate-k8s-v1.9.0-amd64.tar.gz
├── kubefate-k8s-v1.9.0-arm64.tar.gz
├── kubefate-v1.4.5-amd64.docker
└── kubefate-v1.4.5-arm64.docker

And the golang builder image can be upgrade to golang:1.18.2-bullseye