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

Support for arm macOS #1932

Closed
3 of 4 tasks
codeblooded opened this issue Jan 8, 2021 · 20 comments · Fixed by #2785
Closed
3 of 4 tasks

Support for arm macOS #1932

codeblooded opened this issue Jan 8, 2021 · 20 comments · Fixed by #2785
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@codeblooded
Copy link

codeblooded commented Jan 8, 2021

Now that docker and go have some support on arm macOS, do we plan to support development using kubebuilder on Apple Silicon?


Notes, add the following to the raised ticket to clarify its status:
To support Apple Silicon arm64, we need to:

  • : Begin to produce the Kubebuilder bin for this format ( done since the 3.4.0 release )

However, we still need to:

PS.: We also might need to build the images with the arch/so, see: #2695

/kind feature

@codeblooded codeblooded added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 8, 2021
@camilamacedo86
Copy link
Member

Hi @codeblooded,

I understand that what you are looking for is to kubebuilder provide kubebuilder_darwin_arm64 binaries as well. Am I right? It is not provided currently(https://github.com/kubernetes-sigs/kubebuilder/releases).

@camilamacedo86 camilamacedo86 added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Jan 12, 2021
@camilamacedo86 camilamacedo86 added this to the next milestone Jan 12, 2021
@codeblooded
Copy link
Author

@camilamacedo86 Yes, I assume this will be blocked by the release of Go 1.16 which adds support for darwin arm64. I just wanted to create the bug and see if it is a target that kubebuilder intends to support. 😄

@Adirio
Copy link
Contributor

Adirio commented Jan 13, 2021

Just a comment, to include it in the automatic release process, we would also probably need to include it in the CI and I don't think this arch is supported by neither Prow nor GH Actions (except hosting our own runners).

@codeblooded
Copy link
Author

codeblooded commented Jan 13, 2021

That's true. I'm curious to see what they do for kubernetes/kubectl#988 which is backlogged.

I'm sure actions will eventually support it, but I haven't seen a bug for it. I know some other CNCF projects are looking at or already using MacStadium. They now have racks of m1 minis in their data centers.

@Adirio
Copy link
Contributor

Adirio commented Jan 13, 2021

Self hosted runners should support whatever OS/arch combination you want. But we are not using self hosted runners (neither for Prow nor fot GH Actions) in kubebuilder.

@joelanford
Copy link
Member

Do we know if cross-compilation will be possible from linux_amd64 to darwin_arm64 when go 1.16 is released?

I have an M1 Mac, btw, so I am interested in this as well. I'm also a willing guinea pig :).

@Adirio
Copy link
Contributor

Adirio commented Jan 13, 2021

Do we know if cross-compilation will be possible from linux_amd64 to darwin_arm64 when go 1.16 is released?

Cross-compilation has never been an issue in Go so I don't expect it to be one now, but with these things, as I said yesterday in the triage meeting, you never know.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 13, 2021
@Adirio
Copy link
Contributor

Adirio commented Apr 14, 2021

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 14, 2021
@schegi
Copy link

schegi commented Jun 24, 2021

Any news about this?

@jpfourny
Copy link

Any progress on this? I hate having to use Rosetta on my M1 to compensate for lack darwin-arm64 release. More and more organizations are replacing old Intel Macs with M1.

@imxw
Copy link

imxw commented Dec 3, 2021

you can use homebrew to download it.
brew install kubebuilder
This version supports Apple Silicon

@camilamacedo86
Copy link
Member

camilamacedo86 commented Apr 28, 2022

To support Apple Silicon arm64 we need to:

  • : Begin to produce the Kubebuilder bin for this format ( done since the 3.4.0 release )

However, we still needing to:

@camilamacedo86
Copy link
Member

I am adding this one as a priority since it has been requested a lot.
c/c @rashmigottipati @varshaprasad96 @jmrodri @ryantking @everettraven

@camilamacedo86 camilamacedo86 added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label May 21, 2022
@camilamacedo86
Copy link
Member

removing the assignment to @gabbifish since she has no longer working on this one.

@imilchev
Copy link

+1 for this

@jwx0925
Copy link

jwx0925 commented Jun 6, 2022

+1 for this

@camilamacedo86
Copy link
Member

From the Kubebuilder side ( next 3.5.0 release ) all is done for we are able to support Apple Silicon, we are just looking for etcd produce the binary. See: etcd-io/etcd#14001 (comment)

@camilamacedo86
Copy link
Member

camilamacedo86 commented Jun 23, 2022

To work with Apple Silicon users can:

Update the kustomize version on the default scaffold with go/v3 to use kustomize v4.5.5
OR
Try to experiment it with the new kustomize/v2-alpha plugin by currently running kubebuilder init --plugins="kustomize/v2-alpha,base.go.kubebuilder.io/v3"

We cannot say that we officially support the platform until we generate a new golang plugin as go/v4-alpha and ensure that all works fine with OR we verify that we can move forward with #2758 (I do not think that we will able to do so. We checked that it brokes consumers so we cannot risk introducing breaking changes for those that has been using kubebuilder as a lib).

Note that the kustomize docs about what is a breaking change or not from v3 to v4 is not very clear as it does not provide a migration guide.

@camilamacedo86
Copy link
Member

Looking for PTAL #2785 to close this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet