원래 CoreOS Linux라고 명명된 CoreOS의 Container Linux는 컨테이너 내에서 애플리케이션을 배포하고 관리하는 데 필요한 기능을 제공하는 오픈 소스 운영 체제(OS)입니다. Linux 커널을 기반으로 하는 Container Linux by CoreOS는 최소한의 운영 오버헤드를 보장하는 관리 기능과 함께 대규모 확장을 위해 설계되었습니다.
CoreOS의 Container Linux는 포함된 기술에 의존하여 컨테이너를 생성 및 배포할 뿐만 아니라 컨테이너 오케스트레이션 관리자가 조정하는 컨테이너 클러스터를 생성 또는 조인합니다. OS는 컨테이너가 분산 시스템에서 실행될 수 있도록 하여 애플리케이션 성능을 향상시키고 장애 조치 중 워크로드 가동 시간을 보호할 수 있습니다. CoreOS도 가볍습니다. ISO 이미지에는 263.2MB의 공간이 필요합니다. 따라서 더 무거운 범용 OS보다 워크로드에 더 많은 리소스를 사용할 수 있습니다.
보안 및 클러스터 관리를 위한 중요 기능
컨테이너 Linux는 etcd를 사용합니다. 데몬은 클러스터 노드가 구성 데이터를 공유할 수 있는 공통 레지스트리를 제공하기 위해 클러스터의 모든 서버에 설치됩니다. 클러스터 호스트 전체에서 일관된 구성을 위해 서버 추상화를 강화합니다. etcd 데몬은 응용 프로그램에 대한 가시성을 제공하는 서비스 검색 기능도 제공합니다. OS는 Docker를 추상화 계층으로 지원하며 Docker 컨테이너 시스템을 포함합니다. 여기에는 회사의 컨테이너 가상화 엔진이자 Docker 경쟁업체인 CoreOS Rkt도 포함됩니다.
CoreOS는 초기화 및 프로세스 관리를 위해 OS 패키지의 또 다른 중앙 데몬인 systemd를 사용합니다. CoreOS는 사용자가 클러스터 관리를 위해 Rkt 또는 오픈 소스 Kubernetes에 의존할 것을 권장합니다.
CoreOS는 보안을 위해 격리된 사용자 공간 인스턴스를 사용합니다. 이러한 인스턴스는 cgroups라고 하는 Linux 커널의 제어 그룹을 기반으로 합니다. -- 하이퍼바이저를 사용하고 가상 머신(VM)을 만드는 대신 기능. 이것은 네임스페이스 격리를 제공하고 모든 프로세스에 대한 프로세서, 메모리 및 디스크 I/O와 같은 리소스 사용을 관리합니다. 기본 Linux 커널을 공유하지만 각 컨테이너는 별도의 Linux 시스템으로 작동합니다. Container Linux는 안전한 작업을 위해 자동 업데이트 기능인 CoreUpdate도 제공합니다. CoreUpdate는 관리자가 업데이트를 요청할 때까지 기다리지 않고 커널 및 시스템 수준 구성 요소에 업데이트를 푸시합니다. OS 패치를 유지하고 커널 변경 사항과 일관성을 유지하는 데 도움이 됩니다.
OS는 x86 및 x64 프로세서에서 작동합니다. 소프트웨어 개발자 또는 관리자는 베어메탈 시스템에서 OS를 사용하거나 플랫폼을 VM으로 실행할 수 있습니다. 또한 Amazon Web Services Elastic Compute Cloud(AWS EC2), Microsoft Azure 및 Google Compute Engine(GCE)과 같은 퍼블릭 클라우드 인스턴스와 OpenStack 및 기타 클라우드 프레임워크에서 실행됩니다. CoreOS는 사용자가 매달 100만 개의 고유한 OS 인스턴스를 생성하는 것으로 추정합니다.