A partir del hito 101, Container-Optimized OS publica imágenes del SO basadas en Arm. Las imágenes se pueden usar para crear VMs de 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 obtener información sobre cómo puedes ejecutar cargas de trabajo de Arm en Google Kubernetes Engine (GKE), consulta Cargas de trabajo de Arm en GKE.
Cómo ver 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 en la línea de comandos. Para ello, ejecuta el siguiente comando:
gcloud compute images list --project cos-cloud --no-standard-images --filter="name~'cos-arm64-*'"
El resultado es similar a este:
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 versiones y el ciclo de vida de los hitos de LTS que las 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 las imágenes de Container-Optimized OS basadas en Arm.
Diferencias entre las imágenes de Arm y x86
Las imágenes de Container-Optimized OS basadas en Arm y 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 podría 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 en x86.
Kernel
Las imágenes de Container-Optimized OS basadas en Arm tienen una configuración del 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 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 dependes de la configuración de registro predeterminada integrada en las imágenes del SO. Sin embargo, si tienes configuraciones personalizadas de fluentd, es posible que experimentes interrupciones cuando migres cargas de trabajo a imágenes de Container-Optimized OS basadas en Arm. Para obtener más información, consulta 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
No se admite el uso de aceleradores de hardware de unidades de procesamiento gráfico (GPU) en 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 contenedores en el tiempo de ejecución. En la siguiente tabla, se describen los contenedores compatibles con las 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 |