Utilizzo di immagini Container-Optimized OS basate su Arm

A partire da Milestone 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 meglio con Tau T2A, consulta i suggerimenti per i carichi di lavoro. Per informazioni su come eseguire carichi di lavoro ARM su Google Google Kubernetes Engine (GKE), consulta Carichi di lavoro Arm su GKE.

Visualizzazione di immagini basate su braccio

Le immagini Container-Optimized OS basate su Arm sono ospitate nel progetto cos-cloud con il prefisso cos-arm64. Puoi anche visualizzare tutte le release attualmente disponibili nella riga di comando eseguendo questo 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 Container-Optimized OS basate su Arm condividono lo stesso schema di controllo delle versioni e lo stesso ciclo di vita miliare 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 Container-Optimized OS basate su Arm.

Differenze tra le immagini ARM e x86

Le immagini Container-Optimized OS basate su Arm e x86 condividono lo stesso codice sorgente, ma le configurazioni di build e compilazione sono diverse. Ciò significa che un'immagine Container-Optimized OS basata su Arm potrebbe non essere identica a un'immagine Container-Optimized OS basata su x86 anche se hanno la stessa versione.

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

Kernel

Le immagini basate su ARM per Container-Optimized OS hanno una configurazione kernel separata, diversa dalle immagini basate su x86. La differenza più evidente è che le immagini basate su Arm utilizzano l'interfaccia NVMe per l'archiviazione anziché l'interfaccia SCSI e il NIC virtuale di Google (gVNIC) per il networking invece di Virtionet. Inoltre, la funzionalità Container Threat Detection non funziona sulle immagini basate su ARM.

Agente Cloud Logging

Le immagini basate su ARM per Container-Optimized OS utilizzano fluent-bit come agente Cloud Logging e le immagini basate su x86 utilizzano fluentd. Non dovresti notare alcuna differenza se utilizzi solo la configurazione di logging predefinita integrata nelle immagini del sistema operativo. Tuttavia, se hai configurazioni scorrette personalizzate, potresti riscontrare interruzioni durante la migrazione dei carichi di lavoro alle immagini Container-Optimized OS basate su Arm. Per ulteriori informazioni, consulta l'agente Cloud Logging.

Aggiornamenti automatici

Gli aggiornamenti automatici non sono supportati nelle immagini basate su ARM di Container-Optimized OS.

Acceleratori GPU

L'utilizzo di acceleratori hardware di GPU (Graphics Processing Unit) non è supportato nelle immagini basate su ARM di Container-Optimized OS.

Creazione di istanze con il comando create-with-container

Le immagini basate su ARM per Container-Optimized OS 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 quando vengono create le istanze.

Immagini container

Container-Optimized OS include strumenti che scaricano containers in fase di runtime. La seguente tabella descrive quali container sono compatibili con le immagini basate su Arm:

Immagini container Compatibile con 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