Per impostazione predefinita, Cloud Code rileva automaticamente l'architettura del cluster di destinazione e crea un'immagine che corrisponde all'architettura della workstation, anche se l'architettura del cluster di destinazione è mista (x86 e Arm).
Hai anche la possibilità di aggiungere una variabile di ambiente nell'IDE o un parametro nel file skaffold.yaml che specifica per quale piattaforma eseguire la build, il che sostituisce il rilevamento automatico di Cloud Code.
Specifica la piattaforma per cui creare le immagini
Se vuoi ignorare il rilevamento automatico di Cloud Code durante la creazione dell'immagine, puoi specificare la piattaforma per cui vuoi creare le immagini nei seguenti modi:
- Aggiungi la variabile di ambiente
SKAFFOLD_PLATFORMalle configurazioni del tuo IDE. - Aggiungi il parametro
platformsal fileskaffold.yaml.
Il seguente elenco mostra i valori possibili per la variabile di ambiente SKAFFOLD_PLATFORM nel campo Variabili di ambiente dell'IDE. Puoi anche utilizzare questi valori per il flag --platform nella CLI o per il parametro platforms nel file skaffold.yaml:
| x86 | Arm |
|---|---|
amd64 |
aarch64 |
linux/amd64 |
linux/aarch64 |
Aggiungere variabili di ambiente alle configurazioni dell'IDE
Per aggiungere variabili di ambiente alle configurazioni di Cloud Code:
Nel tuo IDE, fai clic su Esegui > Modifica configurazioni.
Nella scheda Esegui, nella sezione Impostazioni avanzate, inserisci la variabile di ambiente nel campo Variabili di ambiente.
Ad esempio:
SKAFFOLD_PLATFORM=linux/aarch64In questo modo viene eseguito l'override del rilevamento automatico di Cloud Code e viene creata l'immagine del tipo specificato. Il file
skaffold.yamlrimane invariato.
Aggiungere il parametro platforms al file skaffold.yaml
Per specificare la piattaforma per cui vuoi creare l'immagine, aggiungi il parametro platforms
al file skaffold.yaml:
build:
platforms: ["linux/aarch64"]
artifacts:
- image: example
Per scoprire di più sul supporto di Cloud Code per Arm e per i cluster GKE con architettura mista, consulta Supporto di Arm.