Starting with Milestone 101, Container-Optimized OS publishes Arm-based OS images. The images can be used to create Tau T2A VMs on Compute Engine. To learn more about what types of workloads work well with Tau T2A, see Workload Recommendations. To learn how you can run Arm workloads on Google Google Kubernetes Engine (GKE), see Arm workloads on GKE.
Viewing Arm-based images
Arm-based Container-Optimized OS images are hosted under the
project with the prefix
cos-arm64. You can also see all currently available
releases on command line by running the following command:
gcloud compute images list --project cos-cloud --no-standard-images --filter="name~'cos-arm64-*'"
The output is similar to the following:
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
Arm-based Container-Optimized OS images share the same
versioning scheme and LTS
with x86-based images. There are also similar image families
Arm-based Container-Optimized OS images.
Differences between Arm and x86 images
The Arm-based and x86-based Container-Optimized OS images share the same source code, but the build and compile configurations are different. This means that an Arm-based Container-Optimized OS image might not be functionally identical with a x86-based Container-Optimized OS image even if they have the same version.
The following sections describe the differences between Arm-based and x86-based Container-Optimized OS images.
Container-Optimized OS Arm-based images have a separate kernel configuration that is different from x86-based images. The most noticeable difference is that Arm-based images use NVMe interface for storage instead of SCSI interface, and Google virtual NIC (gVNIC) for networking instead of Virtionet. The Container Threat Detection feature also doesn't work on Arm-based images.
Cloud Logging agent
Container-Optimized OS Arm-based images use fluent-bit as Cloud Logging agent and x86-based images use fluentd. You shouldn't see any difference if you only rely on the default logging configuration built into the OS images. However, if you have custom fluentd configurations, you might experience breakage when migrating workloads to Arm-based Container-Optimized OS images. For more information, see the Cloud Logging agent.
Container-Optimized OS Arm-based images are not CIS compliant. The CIS Google Container-Optimized OS Benchmark was published with x86 in mind, which means that Arm-based images might not comply with all the benchmarks.
Automatic updates are not supported on Container-Optimized OS Arm-based images.
Using graphics processing unit (GPU) hardware accelerators is not supported on Container-Optimized OS Arm-based images.
Creating instances with the
Container-Optimized OS Arm-based images don't support creating VM instances
command. You can use
to configure Arm-based instances if you want to start containers when instances
Container-Optimized OS includes tools that download containers at runtime. The following table describes which containers are compatible with Arm-based images:
|Container images||Compatible with Arm-based images|