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

Cloud Code on M1 Macs: Known Issues #2891

Closed
robkelly opened this issue Feb 24, 2021 · 8 comments
Closed

Cloud Code on M1 Macs: Known Issues #2891

robkelly opened this issue Feb 24, 2021 · 8 comments

Comments

@robkelly
Copy link

robkelly commented Feb 24, 2021

With the March 2021 release of Cloud Code for IntelliJ, we’re pleased to announce initial support for M1-based Apple Silicon Macs. With this update, you can now build and work locally with Cloud Code, minikube, and Skaffold for ARM64 targets on your M1 Mac. Please note that Rosetta 2 is currently required as several dependencies are still x86/64 only.

If you run into any scenarios that don’t work quite right for you, please file an issue on GitHub so we can investigate.

Note on x86 image support: Docker defaults to building for your local architecture (ARM64 for M1-based Macs), and cross-architecture build support for x86 is still in technical preview and has not been found to be sufficiently robust. Until this support is finalized, we recommend building images remotely through your CI/CD system, Kaniko, or Google Cloud Build. Other Docker-based image builders, such as the Buildpacks image builder, are impacted as well. Image builders such as Jib and Ko, are not impacted though may require additional configuration. Bazel support depends on the rule sets used.

Known issues for IntelliJ extension that we're working on:

  • Deployment to GKE is broken (ARM containers built locally do not work on x86 GKE) See update below
  • Deployments to Cloud Run through Cloud Code will not work (ARM containers built locally do not work on Cloud Run) See update below
  • Building images using buildpacks is not supported (see Support ARM buildpacks/lifecycle#435 for more information)

Update April 19 2022

Skaffold has introduced cross architecture build support allowing you to build images targeting x86 clusters on ARM / M1 machines. This detection happens automatically for Kubernetes. We are working on updating the messaging across our docs / Cloud Code, as well as validating the functionality across the board.

@grmoon
Copy link
Contributor

grmoon commented Mar 18, 2021

With the March 2021 release

  • Users will not be able to select buildpacks on M1 Macs
  • Dependency installation should work as expected
    • A x86 kubectl binary is downloaded for the user and the user will be prompted to install rosetta when using features that require kubectl. Without installing rosetta, these features will experience errors.

We are continuing to work on:

  • Unblocking GKE deployments through Cloud Code
  • Unblocking Cloud Run deployments through Cloud Code
  • Creating an ARM kubectl binary that does not require rosetta

@jmah-cc
Copy link

jmah-cc commented Mar 25, 2021

Items Greg mentioned above are on track for end of March release.

@dobegor
Copy link

dobegor commented Apr 18, 2022

@grmoon
Hi! Is there an update for this issue? The warning still shows up in plugins for IDEs and that's how I ended up here and since a lot of time passed since the aforementioned release I wonder if these issues are still there.

@grmoon grmoon assigned etanshaul and unassigned grmoon Apr 19, 2022
@etanshaul
Copy link
Contributor

etanshaul commented Apr 19, 2022

@dobegor we are actively working to update the messaging around this. Skaffold has since been updated to support cross-architecture builds (and should work as-is from Cloud Code). We still need to update the messaging around this though.

Let us know if you manage to try out this feature (e.g. building on ARM targeting x64 clusters - skaffold will detect your target context, and build for the correct architecture). What features of CC are you using btw?

Thanks

edit: I've updated the description of the issue above as well to reflect this.

@dobegor
Copy link

dobegor commented Apr 21, 2022

@etanshaul thank you for clarification.

What features of CC are you using btw?

I don't actually use Cloud Code (yet), I'm only installing it to enhance Kubernetes manifests code completion and validation - which it does awesome, BTW.

@etanshaul
Copy link
Contributor

@dobegor great! thanks for the update. If you run into issues with M1, we're here to help.

@ivanporty ivanporty unpinned this issue May 1, 2023
@TenzinChang
Copy link

I'm running VSCode on M1 Mac with Cloud Code plugin. For the hello-world app, I created using node.js and ran both "Run on Cloud Run Emulator" & "Deploy to Cloud Run" without any issue. For the Java hello-world, local "Run on Cloud Run Emulator" works, however, "Deploy to Cloud Run" would stuck at build step #10. I suspect this is an arm64 vs. x86 issue? Is there an option in VSCode/Cloud Run extension to build x86 image locally, or we have to upload the java code and build the image from the Cloud? Thanks.

@etanshaul
Copy link
Contributor

hi @TenzinChang am I correct in understanding that you are having issues specifically with cloud code in VS Code? If so, could you please route this question to https://github.com/GoogleCloudPlatform/cloud-code-vscode as this is the IntelliJ github page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants