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

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Milestone 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-arm64cos-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 映像之间的区别。

内核

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

Cloud Logging 代理

基于 Arm 的 Container-Optimized OS 映像使用 Cloud Logging 代理,而基于 x86 的映像使用 flud。如果您只依赖操作系统映像中内置的默认日志记录配置,应该不会产生任何差异。但是,如果您有自定义 Flud 配置,则在将工作负载迁移到基于 ARM 的 Container-Optimized OS 映像时,可能会出现故障。如需了解详情,请参阅 Cloud Logging 代理

CIS 合规性

基于 ARM 的 Container-Optimized OS 映像不符合 CIS 要求。CIS Google Container-Optimized OS 基准在发布时考虑到了 x86,这意味着基于 ARM 的映像可能不符合所有基准。

自动更新

Container-Optimized OS Arm 映像不支持自动更新

GPU 加速器

基于 Container-Optimized OS ARM 的映像不支持使用图形处理器 (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