Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is OpenFunction compatible with ARM architectures? Like Mac M1s? #510

Open
salaboy opened this issue Dec 8, 2023 · 4 comments
Open

Is OpenFunction compatible with ARM architectures? Like Mac M1s? #510

salaboy opened this issue Dec 8, 2023 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@salaboy
Copy link

salaboy commented Dec 8, 2023

Description

I couldn't run OpenFunctions in a local KinD cluster running on an M1 Mac Machine (arm64) mostly because there are no openfunction builds for arm. Did I missed something?

Environmental

Mac OS, arm64, Kubernetes KinD

Expected behavior
Openfunction images should be available for arm64 architecture.

Actual behavior
Failed with:

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

To Reproduce
Steps to reproduce the behavior:

  1. '..'
  2. '...'
  3. '....'
  4. See error

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

@salaboy salaboy added the bug Something isn't working label Dec 8, 2023
@benjaminhuo
Copy link
Member

@salaboy Sorry for the delay. OpenFunction's arm support is currently blocked at the build part, the buildpacks we used currently doesn't support to build images for arm yet.

@benjaminhuo
Copy link
Member

@salaboy Sorry for the delay. OpenFunction's arm support is currently blocked at the build part, the buildpacks we used currently doesn't support to build images for arm yet.

@salaboy we haven't build arm64 images for OpenFunction yet because the builder we use haven't supported build arm64 images well enough, for example:

For go functions:
https://github.com/OpenFunction/builder/tree/main/builders/go117
bazel run --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //builders/go117/stack:build

The base image is amd64 only for now , we can upgrade it to a multi-arch one: https://github.com/OpenFunction/builder/blob/main/builders/go117/stack/parent.Dockerfile#L15

Python base image has similar issue https://github.com/OpenFunction/builder/blob/main/builders/py39/stack/parent.Dockerfile#L15

Another problem of go buildpacks is the binary is still amd64 only https://github.com/OpenFunction/builder/blob/main/builders/go117/stack/parent.Dockerfile#L38

Also we noticed an on-going process of the arm64 support in cnb(cloud native buildpacks) : buildpacks/rfcs#294

@zs-dima
Copy link

zs-dima commented Jan 20, 2024

+1 ARM64 is very much in demand these days

@Studentshuang
Copy link

If ignore the builder step and only want to deploy openfunction on ARM64, how can build relevant ARM64 images about openfunction?thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants