使用基于 ARM 的 Container-Optimized OS 映像

里程碑 101 开始,Container-Optimized OS 会发布基于 ARM 的操作系统映像。这些映像可用于在 Compute Engine 上创建 Tau T2A 虚拟机。如需详细了解哪种工作负载适合与 Tau T2A 搭配使用,请参阅工作负载建议。如需了解如何在 Google Google Kubernetes Engine (GKE) 上运行 Arm 工作负载,请参阅 GKE 上的 Arm 工作负载

查看基于 Arm 的映像

基于 ARM 的 Container-Optimized OS 映像托管在 cos-cloud 项目下,并带有 cos-arm64 前缀。您还可以通过运行以下命令,在命令行中查看当前可用的所有版本:

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 映像共享相同的源代码,但 build 和编译配置不同。这意味着基于 ARM 的 Container-Optimized OS 映像在功能上可能与基于 x86 的 Container-Optimized OS 映像在功能上有所不同。

以下部分介绍了基于 ARM 的容器和基于 x86 的 Container-Optimized OS 映像之间的区别。

内核

基于 Arm 的 Container-Optimized OS 映像具有单独的内核配置,与基于 x86 的映像不同。最明显的区别是,基于 Arm 的映像使用 NVMe 接口进行存储,而不是 SCSI 接口;使用 Google 虚拟 NIC (gVNIC) 进行网络而不是 Virtionet。Container Threat Detection 功能也不适用于基于 ARM 的映像。

Cloud Logging 代理

Container-Optimized OS 基于 Arm 的映像使用 流位作为 Cloud Logging 代理,基于 x86 的映像使用 Flud。如果您只依赖于操作系统映像中内置的默认日志记录配置,则应该不会看到任何区别。但是,如果您有自定义流畅配置,则在将工作负载迁移到基于 ARM 的 Container-Optimized OS 映像时,可能会遇到中断。如需了解详情,请参阅 Cloud Logging 代理

自动更新

基于容器的 ARM 映像不支持自动更新

GPU 加速器

基于容器优化型操作系统的映像不支持使用图形处理单元 (GPU) 硬件加速器。

使用 create-with-container 命令创建实例

基于 ARM 的 Container-Optimized OS 映像不支持使用 create-with-container 命令创建虚拟机实例。如果您希望在创建实例时启动容器,则可以使用 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