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 | Sí |
gcr.io/cos-cloud/cos-gpu-installer | No. |
gcr.io/stackdriver-agents/stackdriver-logging-agent | No. |
gcr.io/gce-containers/konlet | No. |