Utilizzo di immagini Container-Optimized OS basate su Arm

A partire dal traguardo 101, Container-Optimized OS pubblica immagini del sistema operativo basate su Arm. Le immagini possono essere utilizzate per creare VM Tau T2A su Compute Engine. Per scoprire di più sui tipi di carichi di lavoro che funzionano bene con Tau T2A, consulta Consigli per i carichi di lavoro. Per scoprire come eseguire i workload Arm su Google Kubernetes Engine (GKE), consulta Workload Arm su GKE.

Visualizzazione di immagini basate su ARM

Le immagini del sistema operativo ottimizzato per i container basate su ARM sono ospitate nel progetto cos-cloud con il prefisso cos-arm64. Puoi anche visualizzare tutte le release attualmente disponibili sulla riga di comando eseguendo il seguente comando:

gcloud compute images list --project cos-cloud --no-standard-images  --filter="name~'cos-arm64-*'"

L'output è simile al seguente:

NAME                             PROJECT    FAMILY             DEPRECATED  STATUS
cos-arm64-101-17162-40-5         cos-cloud  cos-arm64-101-lts              READY
cos-arm64-beta-101-17162-40-5    cos-cloud  cos-arm64-beta                 READY
cos-arm64-dev-105-17228-0-0      cos-cloud  cos-arm64-dev                  READY
cos-arm64-stable-101-17162-40-5  cos-cloud  cos-arm64-stable               READY

Le immagini del sistema operativo ottimizzato per i container basate su Arm condividono lo stesso schema di versionamento e lo stesso ciclo di vita delle milestone LTS con le immagini basate su x86. Esistono anche famiglie di immagini simili cos-arm64-dev, cos-arm64-beta, cos-arm64-stable e cos-arm64-[MILESTONE]-lts per le immagini del sistema operativo Container-Optimized OS basate su ARM.

Differenze tra le immagini Arm e x86

Le immagini del sistema operativo ottimizzato per i container basate su Arm e x86 condividono lo stesso codice sorgente, ma le configurazioni di compilazione e build sono diverse. Ciò significa che un'immagine del sistema operativo ottimizzato per i container basata su Arm potrebbe non essere funzionalmente identica a un'immagine del sistema operativo ottimizzato per i container basata su x86 anche se hanno la stessa versione.

Le sezioni seguenti descrivono le differenze tra le immagini Container-Optimized OS basate su Arm e x86.

Kernel

Le immagini del sistema operativo ottimizzato per i container basate su Arm hanno una configurazione del kernel distinta diversa da quella delle immagini basate su x86. La differenza più evidente è che le immagini basate su Arm utilizzano l'interfaccia NVMe per lo storage anziché l'interfaccia SCSI e la vNIC (virtual NIC) di Google per la rete anziché Virtionet. Anche la funzionalità Container Threat Detection non funziona sulle immagini basate su Arm.

Agente Cloud Logging

Le immagini basate su Arm di Container-Optimized OS utilizzano fluent-bit come agente Cloud Logging, mentre le immagini basate su x86 utilizzano Fluentd. Non dovresti notare alcuna differenza se ti basi solo sulla configurazione di registrazione predefinita integrata nelle immagini del sistema operativo. Tuttavia, se hai configurazioni personalizzate di Fluentd, potresti riscontrare interruzioni durante la migrazione dei carichi di lavoro alle immagini del sistema operativo ottimizzato per i container basate su Arm. Per ulteriori informazioni, consulta l'agente Cloud Logging.

Aggiornamenti automatici

Gli aggiornamenti automatici non sono supportati sulle immagini basate su Arm di Container-Optimized OS.

Acceleratori GPU

L'utilizzo di acceleratori hardware dell'unità di elaborazione grafica (GPU) non è supportato nelle immagini del sistema operativo ottimizzate per i container basate su ARM.

Creazione di istanze con il comando create-with-container

Le immagini Container-Optimized OS basate su ARM non supportano la creazione di istanze VM con il comando create-with-container. Puoi utilizzare cloud-init per configurare le istanze basate su Arm se vuoi avviare i container al momento della creazione delle istanze.

Immagini container

Container-Optimized OS include strumenti che scaricano container al runtime. La seguente tabella descrive i contenitori compatibili con le immagini basate su Arm:

Immagini container Compatibile con le immagini basate su ARM
gcr.io/cos-cloud/toolbox
gcr.io/cos-cloud/cos-gpu-installer No
gcr.io/stackdriver-agents/stackdriver-logging-agent No
gcr.io/gce-containers/konlet No