マイルストーン 101 以降、Container-Optimized OS では、Arm ベースの OS イメージが公開されています。これらのイメージは、Compute Engine で Tau T2A VM を作成するために使用できます。Tau T2A で機能するワークロードの種類については、ワークロードの推奨事項をご覧ください。Google Kubernetes Engine(GKE)で Arm ワークロードを実行する方法については、GKE での Arm ワークロードをご覧ください。
ARM ベース イメージの表示
Arm ベースの Container-Optimized OS イメージは、接頭辞 cos-arm64 の付いた cos-cloud プロジェクトでホストされます。また、次のコマンドを実行して、現在利用可能なすべてのリリースをコマンドラインに表示することもできます。
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 ベースの Container-Optimized OS イメージでは、x86 ベースのイメージと同じバージョニング スキームと LTS マイルストーンのライフサイクルが共有されます。ARM ベースの Container-Optimized OS イメージには、同種のイメージ ファミリー cos-arm64-dev、cos-arm64-beta、cos-arm64-stable、cos-arm64-[MILESTONE]-lts もあります。
Arm イメージと x86 イメージの違い
Arm ベースと x86 ベースの Container-Optimized OS イメージでは、同じソースコードが共有されますが、ビルド構成とコンパイル構成は異なります。つまり、同じバージョンであっても、ARM ベースの Container-Optimized OS イメージは、x86 ベースの Container-Optimized OS イメージと機能的に同一ではない場合があります。
以降のセクションでは、Arm ベースと x86 ベースの Container-Optimized OS イメージの違いについて説明します。
Kernel
Container-Optimized OS Arm ベースのイメージは、x86 ベースのイメージとは異なる独立したカーネル構成になっています。ARM ベースイメージの最も顕著な違いは、SCSI インターフェースではなく NVMe インターフェースを使用し、Virtionet ではなく Google Virtual NIC(gVNIC)をネットワーキングに使用していることです。ARM ベースのイメージでは、Container Threat Detection 機能も働きません。
Cloud Logging エージェント
Container-Optimized OS Arm ベースのイメージでは、Cloud Logging エージェントとして fluent-bit を使用し、x86 ベースのイメージでは fluentd を使用します。OS イメージに組み込まれているデフォルトのロギング構成のみを使用している場合は、違いはありません。ただし、カスタムの fluentd 構成がある場合は、ワークロードを Arm ベースの Container-Optimized OS イメージに移行すると、障害が発生する可能性があります。詳細については、Cloud Logging エージェントをご覧ください。
自動更新
Container-Optimized OS ARM ベースのイメージで、自動更新はサポートされていません。
GPU アクセラレータ
Container-Optimized OS Arm ベースのイメージで、グラフィック プロセッシング ユニット(GPU)ハードウェア アクセラレータの使用はサポートされていません。
create-with-container コマンドでインスタンスを作成する
Container-Optimized OS ARM ベースのイメージでは、create-with-container コマンドを使用した VM インスタンスの作成がサポートされていません。インスタンスの作成時にコンテナを起動する場合は、cloud-init を使用して Arm ベース インスタンスを構成できます。
コンテナ イメージ
Container-Optimized OS には、実行時にコンテナをダウンロードするツールが含まれています。次の表では、ARM ベースのイメージと互換性があるコンテナを示します。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-05-16 UTC。"],[[["\u003cp\u003eContainer-Optimized OS now offers Arm-based images, identified by the \u003ccode\u003ecos-arm64\u003c/code\u003e prefix, which can be utilized to create Tau T2A VMs on Compute Engine and run Arm workloads on GKE.\u003c/p\u003e\n"],["\u003cp\u003eArm-based images share the same versioning scheme and LTS milestone lifecycle as x86-based images, including similar image families like \u003ccode\u003ecos-arm64-dev\u003c/code\u003e, \u003ccode\u003ecos-arm64-beta\u003c/code\u003e, and \u003ccode\u003ecos-arm64-stable\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eWhile Arm-based and x86-based images have the same source code, there are key differences in kernel configurations, such as Arm using NVMe for storage and gVNIC for networking, as well as using fluent-bit for cloud logging.\u003c/p\u003e\n"],["\u003cp\u003eArm-based Container-Optimized OS images do not support automatic updates, GPU accelerators, or the \u003ccode\u003ecreate-with-container\u003c/code\u003e command, requiring \u003ccode\u003ecloud-init\u003c/code\u003e for initial container configuration.\u003c/p\u003e\n"],["\u003cp\u003eCertain container images that work with x86-based versions will not work with the Arm-based Container-Optimized OS images, such as \u003ccode\u003ecos-gpu-installer\u003c/code\u003e, \u003ccode\u003estackdriver-logging-agent\u003c/code\u003e, and \u003ccode\u003ekonlet\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Using Arm-based Container-Optimized OS images\n\nStarting with [Milestone 101](/container-optimized-os/docs/release-notes/m101),\nContainer-Optimized OS publishes Arm-based OS images. The images can be used\nto create [Tau T2A VMs](/compute/docs/instances/arm-on-compute) on Compute\nEngine. To learn more about what types of workloads work well with Tau T2A, see\n[Workload Recommendations](/compute/docs/instances/arm-on-compute#workload_recommendations).\nTo learn how you can run Arm workloads on Google Kubernetes Engine (GKE), see\n[Arm workloads on GKE](/kubernetes-engine/docs/concepts/arm-on-gke).\n\nView Arm-based images\n---------------------\n\nArm-based Container-Optimized OS images are hosted under the `cos-cloud`\nproject with the prefix `cos-arm64`. You can also see all available\nreleases on command line by running the following command: \n\n gcloud compute images list --project cos-cloud --no-standard-images --filter=\"name~'cos-arm64-*'\"\n\nThe output is similar to the following: \n\n NAME PROJECT FAMILY DEPRECATED STATUS\n cos-arm64-101-17162-40-5 cos-cloud cos-arm64-101-lts READY\n cos-arm64-beta-101-17162-40-5 cos-cloud cos-arm64-beta READY\n cos-arm64-dev-105-17228-0-0 cos-cloud cos-arm64-dev READY\n cos-arm64-stable-101-17162-40-5 cos-cloud cos-arm64-stable READY\n\nArm-based Container-Optimized OS images share the same\n[versioning scheme](/container-optimized-os/docs/concepts/versioning) and [LTS\nmilestone lifecycle](/container-optimized-os/docs/concepts/versioning#lifecycle_of_an_lts_milestone)\nwith x86-based images. There are also similar image families `cos-arm64-dev`,\n`cos-arm64-beta`, `cos-arm64-stable` and `cos-arm64-[MILESTONE]-lts` for\nArm-based Container-Optimized OS images.\n\nDifferences between Arm and x86 images\n--------------------------------------\n\nThe Arm-based and x86-based Container-Optimized OS images share the same\n[source code](/container-optimized-os/docs/resources/sources#image_source),\nbut the build and compile configurations are different. This means that an\nArm-based Container-Optimized OS image might not be functionally identical\nwith a x86-based Container-Optimized OS image even if they have the same\nversion.\n\nThe following sections describe the differences between Arm-based\nand x86-based Container-Optimized OS images.\n\n### Kernel\n\nContainer-Optimized OS Arm-based images have a separate kernel configuration\nthat is different from x86-based images. The most noticeable difference is that\nArm-based images use NVMe interface for storage instead of SCSI interface, and\n[Google virtual NIC (gVNIC)](/compute/docs/networking/using-gvnic) for\nnetworking instead of Virtionet. The\n[Container Threat Detection](/security-command-center/docs/concepts-container-threat-detection-overview)\nfeature also doesn't work on Arm-based images.\n\n### Cloud Logging agent\n\nContainer-Optimized OS Arm-based images use\n[fluent-bit](https://github.com/fluent/fluent-bit) as\n[Cloud Logging agent](/container-optimized-os/docs/how-to/logging) and\nx86-based images use fluentd. You shouldn't see any difference if you only rely\non the default logging configuration built into the OS images. However, if you\nhave custom fluentd configurations, you might experience breakage when migrating\nworkloads to Arm-based Container-Optimized OS images. For more information,\nsee the [Cloud Logging agent](/container-optimized-os/docs/how-to/logging).\n\n### Automatic updates\n\n[Automatic updates](/container-optimized-os/docs/concepts/auto-update) are not\nsupported on Container-Optimized OS Arm-based images.\n\n### GPU accelerators\n\nUsing graphics processing unit (GPU) hardware accelerators is not supported on\nContainer-Optimized OS Arm-based images.\n\n### Create instances with the `create-with-container` command\n\nContainer-Optimized OS Arm-based images don't support creating VM instances\nwith the [`create-with-container`](/container-optimized-os/docs/how-to/create-configure-instance#simple)\ncommand. You can use\n[`cloud-init`](/container-optimized-os/docs/how-to/create-configure-instance#using_cloud-init_with_the_cloud_config_format)\nto configure Arm-based instances if you want to start containers when instances\nare created.\n\n### Container images\n\nContainer-Optimized OS includes tools that download\n[containers](/container-optimized-os/docs/resources/sources#container_source) at\nruntime. The following table describes which containers are compatible with\nArm-based images:"]]