Container-Optimized OS 개요

Google의 Container-Optimized OS는 Docker 컨테이너를 실행하는 데 최적화된 Compute Engine VM용 운영체제 이미지입니다. Container-Optimized OS는 Google이 유지관리하며 오픈소스 Chromium OS 프로젝트를 기반으로 합니다. Container-Optimized OS를 사용하면 Google Cloud Platform에서 Docker 컨테이너를 빠르고 효율적으로 안전하게 가져올 수 있습니다.

특징 및 장점

Container-Optimized OS는 다음과 같은 이점을 제공합니다.

  • 컨테이너 즉시 실행: Container-Optimized OS 인스턴스는 Docker 런타임 및 cloud-init가 미리 설치된 상태로 제공됩니다. Container-Optimized OS 인스턴스를 사용하면 호스트에서 설정 작업을 할 필요 없이 VM을 생성하는 동시에 Docker 컨테이너를 가져올 수 있습니다.
  • 공격에 노출되는 영역 축소: Container-Optimized OS는 공간을 적게 차지하므로 인스턴스에서 공격에 노출될 만한 영역이 줄어듭니다.
  • 기본적으로 잠김: Container-Optimized OS 인스턴스에는 잠긴 방화벽과 기타 보안 설정이 기본적으로 포함됩니다.
  • 자동 업데이트: Container-Optimized OS 인스턴스는 주간 업데이트를 백그라운드에서 자동으로 다운로드하도록 구성되며, 재부팅만 하면 최신 업데이트를 사용할 수 있습니다.

제한사항

Container-Optimized OS는 다른 운영체제에서 흔히 제공하는 몇 가지 일반적인 기능을 제한적으로만 지원하거나 전혀 지원하지 않습니다.

  • Container-Optimized OS에는 패키지 관리자가 포함되어 있지 않으므로 소프트웨어 패키지를 인스턴스에 곧바로 설치할 수 없습니다. 하지만 CoreOS 도구 상자를 사용하면 격리된 컨테이너에서 디버깅 및 관리 도구를 설치하고 실행할 수 있습니다.
  • Container-Optimized OS는 컨테이너화되지 않은 애플리케이션의 실행을 지원하지 않습니다.
  • Container-Optimized OS 커널은 잠겨 있으므로 타사 커널 모듈이나 드라이버를 설치할 수 없습니다.
  • Container-Optimized OS는 Google Cloud Platform 환경 외부에서 지원되지 않습니다.

Container-Optimized OS 사용

Container-Optimized OS는 Google Cloud Platform의 Kubernetes Engine 및 기타 Kubernetes 배포판의 기본 노드 OS 이미지입니다. Kubernetes Engine에 Container-Optimized OS를 사용하는 방법에 대한 자세한 내용은 Kubernetes Engine 빠른 시작을 참조하세요.

또한 Container-Optimized OS를 사용하여 최소한의 설정으로 Compute Engine 인스턴스에서 Docker 컨테이너를 신속하게 가져올 수 있습니다. 자세한 내용은 인스턴스 만들기 및 구성을 참조하세요.

Container-Optimized OS의 /usr/bin/toolbox에 미리 설치된 CoreOS 도구 상자 유틸리티를 사용하여 ping, gcloud 명령줄 도구, pstree, htop, emacs 등의 도구를 실행할 수 있습니다. 자세한 내용은 도구 상자로 디버깅을 참조하세요.

Container-Optimized OS의 사용 사례

Container-Optimized OS는 대부분의 Docker 컨테이너를 실행하는 데 사용할 수 있습니다. 다음 요구 사항이 있는 경우 Container-Optimized OS를 Compute Engine 인스턴스의 운영체제로 사용하는 것이 좋습니다.

  • 최소한의 설정으로 Docker 컨테이너 또는 Kubernetes를 지원해야 하는 경우
  • 공간을 적게 차지하고 컨테이너에 맞게 보안이 강화된 운영체제가 필요한 경우
  • Compute Engine 인스턴스에서 Kubernetes 실행 검증과 테스트가 완료된 운영체제가 필요한 경우

다음과 같은 경우에는 Container-Optimized OS가 부적절할 수 있습니다.

  • 애플리케이션이 컨테이너화되지 않았거나 컨테이너화된 애플리케이션이 Container-Optimized OS에서 사용할 수 없는 커널 모듈, 드라이버, 기타 추가 패키지에 의존하는 경우
  • Linux 제공업체(Canonical, Core OS, Redhat, SUSE 등)의 전문 고객지원이 필요한 경우
  • 이미지와 OS 애플리케이션이 Google Cloud Platform 외부에서 완전하게 지원되기를 원하는 경우

Google Cloud Platform에서 컨테이너화된 애플리케이션을 실행하는 데 사용 가능한 다른 운영체제에 대해 알아보려면 GCP의 컨테이너를 참조하세요. Compute Engine은 다른 주요 운영체제를 위한 이미지를 제공합니다(컨테이너 최적화 이미지 포함).