Usa imágenes de Container-Optimized OS basadas en ARM

A partir del Milestone 101, Container-Optimized OS publica imágenes de SO basadas en ARM. Las imágenes se pueden usar para crear VMs Tau T2A en Compute Engine. Para obtener más información sobre qué tipos de cargas de trabajo funcionan bien con Tau T2A, consulta Recomendaciones de cargas de trabajo. Para aprender a ejecutar cargas de trabajo de Arm en Google Kubernetes Engine (GKE), consulta Cargas de trabajo de Arm en GKE.

Visualiza imágenes basadas en ARM

Las imágenes de Container-Optimized OS basadas en ARM se alojan en el proyecto cos-cloud con el prefijo cos-arm64. También puedes ver todas las versiones disponibles actualmente en la línea de comandos si ejecutas el siguiente comando:

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

El resultado es similar al siguiente:

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

Las imágenes de Container-Optimized OS basadas en ARM comparten el mismo esquema de control de versiones y el ciclo de vida de los eventos importantes de LTS con imágenes basadas en x86. También hay familias de imágenes similares cos-arm64-dev, cos-arm64-beta, cos-arm64-stable y cos-arm64-[MILESTONE]-lts para imágenes de Container-Optimized OS basadas en ARM.

Diferencias entre las imágenes ARM y x86

Las imágenes de Container-Optimized OS basadas en ARM y las basadas en x86 comparten el mismo código fuente, pero las configuraciones de compilación y compilación son diferentes. Esto significa que una imagen de Container-Optimized OS basada en ARM puede no ser funcionalmente idéntica a una imagen de Container-Optimized OS basada en x86, incluso si tienen la misma versión.

En las siguientes secciones, se describen las diferencias entre las imágenes de Container-Optimized OS basadas en ARM y las basadas en x86.

Kernel

Las imágenes basadas en ARM de Container-Optimized OS tienen una configuración de kernel independiente que es diferente de las imágenes basadas en x86. La diferencia más notable es que las imágenes basadas en ARM usan la interfaz NVMe para el almacenamiento en lugar de la interfaz SCSI, y la NIC virtual de Google (gVNIC) para las herramientas de redes en lugar de Virtionet. La función Container Threat Detection tampoco funciona en imágenes basadas en ARM.

Agente de Cloud Logging

Las imágenes basadas en ARM de Container-Optimized OS usan fluent-bit como agente de Cloud Logging, y las imágenes basadas en x86 usan fluentd. No deberías ver ninguna diferencia si solo te basas en la configuración de registro predeterminada integrada en las imágenes de SO. Sin embargo, si tienes configuraciones de fluentd personalizadas, es posible que experimentes fallas cuando migres cargas de trabajo a imágenes de Container-Optimized OS basadas en ARM. Para obtener más información, consulta el agente de Cloud Logging.

Actualizaciones automáticas

Las actualizaciones automáticas no son compatibles con las imágenes basadas en ARM de Container-Optimized OS.

Aceleradores de GPU

El uso de aceleradores de hardware de unidades de procesamiento de gráficos (GPU) no es compatible con las imágenes basadas en ARM de Container-Optimized OS.

Crea instancias con el comando create-with-container

Las imágenes basadas en ARM de Container-Optimized OS no admiten la creación de instancias de VM con el comando create-with-container. Puedes usar cloud-init para configurar instancias basadas en ARM si deseas iniciar contenedores cuando se crean instancias.

Imágenes de contenedor

Container-Optimized OS incluye herramientas que descargan containers en el entorno de ejecución. En la siguiente tabla, se describe qué contenedores son compatibles con imágenes basadas en ARM:

Imágenes de contenedor Compatible con imágenes basadas en 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.