マイルストーン 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
プロジェクトでホストされます。また、次のコマンドを実行して、現在利用可能なすべてのリリースをコマンドラインに表示することもできます。
gcloud compute images list --project cos-cloud --no-standard-images --filter="name~'cos-arm64-*'"
出力は次のようになります。
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 ベースのイメージと互換性があるコンテナを示します。
コンテナ イメージ | ARM ベースイメージとの互換性 |
---|---|
gcr.io/cos-cloud/toolbox | はい |
gcr.io/cos-cloud/cos-gpu-installer | いいえ |
gcr.io/stackdriver-agents/stackdriver-logging-agent | いいえ |
gcr.io/gce-containers/konlet | いいえ |