Utiliser des images Container-Optimized OS basées sur ARM

À partir de l'étape 101, Container-Optimized OS publie des images d'OS basées sur ARM. Les images peuvent être utilisées pour créer des VM Tau T2A sur Compute Engine. Pour en savoir plus sur les types de charges de travail qui fonctionnent bien avec Tau T2A, consultez la page Recommandations concernant les charges de travail. Pour découvrir comment exécuter des charges de travail Arm sur Google Google Kubernetes Engine (GKE), consultez la section Armer des charges de travail sur GKE.

Afficher les images basées sur ARM

Les images Container-Optimized OS basées sur ARM sont hébergées dans le projet cos-cloud avec le préfixe cos-arm64. Vous pouvez également consulter toutes les versions actuellement disponibles sur la ligne de commande en exécutant la commande suivante:

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

Le résultat ressemble à ce qui suit :

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

Les images Container-Optimized OS basées sur ARM partagent le même schéma de gestion des versions et le même cycle de vie de jalon LTS que les images x86. Il existe également des familles d'images similaires cos-arm64-dev, cos-arm64-beta, cos-arm64-stable et cos-arm64-[MILESTONE]-lts pour les images Container-Optimized OS basées sur Arm.

Différences entre les images ARM et les images x86

Les images Container-Optimized OS basées sur ARM et sur x86 partagent le même code source, mais les configurations de compilation et de compilation sont différentes. Cela signifie qu'une image Container-Optimized OS basée sur Arm peut ne pas être fonctionnellement identique à une image Container-Optimized OS basée sur x86, même si elle a la même version.

Les sections suivantes décrivent les différences entre les images Container-Optimized OS basées sur ARM et sur x86.

Kernel

Les images basées sur Arm de Container-Optimized OS ont une configuration de noyau distincte, différente des images x86. La différence la plus notable est que les images basées sur Arm utilisent l'interface NVMe pour le stockage au lieu de l'interface SCSI, et la carte d'interface réseau virtuelle Google (gVNIC) pour la mise en réseau au lieu de Virtionet. La fonctionnalité Container Threat Detection ne fonctionne pas non plus sur les images basées sur ARM.

Agent Cloud Logging

Les images basées sur ARM basées sur un système d'exploitation Container-Optimized OS utilisent fluent-bit comme agent Cloud Logging, tandis que les images basées sur x86 utilisent fluentd. Vous ne devriez constater aucune différence si vous n'utilisez que la configuration de journalisation par défaut intégrée aux images de l'OS. Toutefois, si vous disposez de configurations fluentd personnalisées, vous risquez de rencontrer des problèmes lors de la migration de charges de travail vers des images Container-Optimized OS basées sur ARM. Pour en savoir plus, consultez la section sur l'agent Cloud Logging.

Mises à jour automatiques

Les mises à jour automatiques ne sont pas compatibles avec les images basées sur ARM basées sur Container-Optimized OS.

Accélérateurs de GPU

L'utilisation d'accélérateurs matériels de processeur graphique (GPU) n'est pas prise en charge sur les images ARM basées sur Container-Optimized OS.

Créer des instances avec la commande create-with-container

Les images basées sur ARM basées sur Container-Optimized OS ne permettent pas de créer des instances de VM à l'aide de la commande create-with-container. Vous pouvez utiliser cloud-init pour configurer des instances basées sur ARM si vous souhaitez démarrer des conteneurs lorsque des instances sont créées.

Images de conteneurs

Container-Optimized OS inclut des outils qui téléchargent des containers au moment de l'exécution. Le tableau suivant décrit les conteneurs compatibles avec les images basées sur Arm:

Images de conteneurs Compatible avec les images basées sur ARM
gcr.io/cos-cloud/toolbox Oui
gcr.io/cos-cloud/cos-gpu-installer Non
gcr.io/stackdriver-agents/stackdriver-logging-agent Non
gcr.io/gce-containers/konlet Non