cloud-code-intellij
cloud-code-intellij copied to clipboard
Cloud Code on M1 Macs: Known Issues
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 https://github.com/buildpacks/lifecycle/issues/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.
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
Items Greg mentioned above are on track for end of March release.
@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.
@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.
@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.
@dobegor great! thanks for the update. If you run into issues with M1, we're here to help.
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.
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.