Milestone 101부터 Container-Optimized OS는 Arm 기반 OS 이미지를 게시합니다. 이 이미지를 사용하여 Compute Engine에서 Tau T2A VM을 만들 수 있습니다. Tau T2A에 적합한 워크로드 유형에 대해 자세히 알아보려면 워크로드 권장사항을 참조하세요.
Google Google Kubernetes Engine(GKE)에서 Arm 워크로드를 실행하는 방법은 GKE의 Arm 워크로드를 참조하세요.
Arm 기반 이미지 보기
Arm 기반 Container-Optimized OS 이미지는 cos-cloud 프로젝트 아래에 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 가상 NIC(gVNIC)를 사용한다는 것입니다. Container Threat Detection 기능은 Arm 기반 이미지에서도 작동하지 않습니다.
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:"]]