By default, Skaffold automatically detects your target cluster's architecture and builds an image that matches your workstation's architecture, even if your target cluster's architecture is mixed (both x86 and Arm).
You also have the option to add an
environment variable in your IDE or a parameter in your
skaffold.yaml file that specifies what platform to build for, which overrides
Skaffold's automatic detection.
Specify the platform to build images for
If you want to override Skaffold's automatic detection when building your image, you can specify the platform that you want to build images for in the following ways:
- Add the
SKAFFOLD_PLATFORMenvironment variable to your IDE's configurations. - Add the
platformsparameter to yourskaffold.yamlfile.
The following list shows the possible values for the
SKAFFOLD_PLATFORM environment variable in
your IDE's Environment variables field. You can also use these values for
the --platform flag in your CLI, or the platforms parameter in
your skaffold.yaml file:
| x86 | Arm |
|---|---|
amd64 |
aarch64 |
linux/amd64 |
linux/aarch64 |
Add environment variables to your IDE's configurations
To add environment variables to Cloud Code's configurations, follow these steps:
In your IDE, click Run > Edit Configurations.
In the Run tab, under the Advanced Settings snippet, enter your environment variable in the Environment variables field.
For example:
SKAFFOLD_PLATFORM=linux/aarch64This overrides Skaffold's automatic detection and builds the image type that you specified. Your
skaffold.yamlfile remains unchanged.
Add the platforms parameter to your skaffold.yaml file
To specify the platform you want to build your image for, add the platforms
parameter to your skaffold.yaml file:
build:
platforms: ["linux/aarch64"]
artifacts:
- image: example
To learn more about Cloud Code's support for Arm and mixed-architecture GKE clusters, see Arm support.