De forma predeterminada, Skaffold detecta automáticamente la arquitectura de tu clúster de destino y crea una imagen que coincida con la arquitectura de tu estación de trabajo, aunque la arquitectura de tu clúster de destino sea mixta (x86 y Arm).
También puedes añadir una variable de entorno en tu IDE o un parámetro en tu archivo skaffold.yaml
que especifique para qué plataforma se va a compilar, lo que anula la detección automática de Skaffold.
Especificar la plataforma para la que se van a crear las imágenes
Si quieres anular la detección automática de Skaffold al compilar tu imagen, puedes especificar la plataforma para la que quieres compilar imágenes de las siguientes formas:
- Añade la variable de entorno
SKAFFOLD_PLATFORM
a las configuraciones de tu IDE. - Añade el parámetro
platforms
al archivoskaffold.yaml
.
En la siguiente lista se muestran los valores posibles de la variable de entorno SKAFFOLD_PLATFORM
en el campo Variables de entorno de tu IDE. También puede usar estos valores para la marca --platform
en su CLI o el parámetro platforms
en su archivo skaffold.yaml
:
x86 | Arm |
---|---|
amd64 |
aarch64 |
linux/amd64 |
linux/aarch64 |
Añadir variables de entorno a las configuraciones de tu IDE
Para añadir variables de entorno a las configuraciones de Cloud Code, sigue estos pasos:
En tu IDE, haz clic en Ejecutar > Editar configuraciones.
En la pestaña Ejecutar, en el fragmento Configuración avanzada, introduce tu variable de entorno en el campo Variables de entorno.
Por ejemplo:
SKAFFOLD_PLATFORM=linux/aarch64
De esta forma, se anula la detección automática de Skaffold y se compila el tipo de imagen que hayas especificado. Tu archivo
skaffold.yaml
no se modificará.
Añade el parámetro platforms al archivo skaffold.yaml
Para especificar la plataforma para la que quieres compilar tu imagen, añade el parámetro platforms
al archivo skaffold.yaml
:
build:
platforms: ["linux/aarch64"]
artifacts:
- image: example
Para obtener más información sobre la compatibilidad de Cloud Code con Arm y los clústeres de GKE de arquitectura mixta, consulta la sección Compatibilidad con Arm.