ARM ベースの Container-Optimized OS イメージの使用

マイルストーン 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-devcos-arm64-betacos-arm64-stablecos-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 いいえ