| CoreOS | |
| <nopad> | |
| <colbgcolor=#4a4a4a,#303030><colcolor=#fff> 개발 | CoreOS, Inc.[1] |
| 커널 | Linux |
| 기반 | Gentoo |
| 패키지 관리자 | 없음(불변형 이미지 기반) |
| 최초 출시 | 2013년 10월 3일 |
| 최종 버전 | 2512.3.0[2] |
| 지원 플랫폼 | x86-64 |
| 라이선스 | Apache License 2.0 |
| 상태 | 개발 중단[3] |
| 후속 | Fedora CoreOS, RHEL CoreOS, Flatcar Container Linux |
| 링크 | GitHub |
1. 개요
CoreOS는 미국의 스타트업 CoreOS, Inc.가 2013년부터 개발한 경량 리눅스 배포판인 CoreOS Linux(이후 Container Linux로 개명)를 가리키는 이름이자, 이 배포판을 만든 회사 자체를 가리키는 이름이다. 대규모 서버 클러스터에서 애플리케이션을 컨테이너 형태로만 실행하는 것을 전제로 설계된 것이 특징이며, 이 때문에 전통적인 패키지 관리자를 갖추지 않고 시스템 이미지 전체를 통째로 교체하는 방식으로 업데이트가 이루어졌다. 2018년 Red Hat에 인수되었고, 이후 배포판 자체는 2020년에 단종되었지만, 회사가 만들었던 etcd나 rkt 같은 도구들은 오늘날까지도 컨테이너·클라우드 네이티브 생태계에 깊은 흔적을 남기고 있다.2. 역사
2.1. 창립과 초기 개발
CoreOS, Inc.는 2013년 Alex Polvi(CEO)와 Brandon Philips(CTO)가 미국 샌프란시스코에서 공동 창업했다. 두 사람은 "인터넷의 보안성과 신뢰성을 높인다"는 목표를 내걸고, 구글이 자사의 대규모 서버 인프라를 운영하며 쓰던 방식—즉 애플리케이션을 표준화된 단위로 격리해 실행하고, 시스템 자체는 자동으로 업데이트되도록 만드는 방식—을 누구나 쓸 수 있는 형태로 만드는 것을 목표로 삼았다. 회사는 Google Ventures, Sequoia Capital, Y Combinator, Andreessen Horowitz 등으로부터 총 4,800만 달러의 투자를 유치했다.CoreOS Linux의 첫 정식 버전은 2013년 10월 3일 출시되었다. 이후 Docker가 컨테이너 생태계의 사실상 표준으로 떠오르자, CoreOS는 처음부터 Docker 컨테이너 실행을 전제로 시스템 전체를 설계한 배포판으로 빠르게 주목받았다.
2.2. rkt와 appc, 그리고 OCI 설립으로 이어진 갈등
CoreOS는 Docker의 컨테이너 이미지·런타임 방식에 여러 우려를 제기하며, 자체적으로 rkt(락킷)라는 대안 컨테이너 런타임과 appc(App Container)라는 별도의 이미지·런타임 규격을 만들어 공개했다. 하나의 컨테이너 생태계 안에 서로 호환되지 않는 두 개의 표준(Docker 방식과 appc)이 공존하는 구도가 되자, 업계 전반에서 파편화에 대한 우려가 커졌다.이 갈등은 결국 Docker와 CoreOS가 함께 2015년 6월 22일 Open Container Initiative(OCI)를 공동 설립하는 것으로 일단락되었다. OCI 설립을 계기로 컨테이너 포맷과 런타임에 대한 중립적인 개방 표준이 만들어지기 시작했고, Docker가 기증한 코드를 바탕으로 나온 runc가 그 표준의 참조 구현체 역할을 맡게 되었다.
2.3. Red Hat 인수와 배포판 단종
2018년 1월 30일, Red Hat은 CoreOS, Inc.를 2억 5,000만 달러에 인수한다고 발표했다. Red Hat은 CoreOS의 컨테이너·Kubernetes 관련 기술력을 자사의 엔터프라이즈 Kubernetes 플랫폼인 OpenShift 강화에 활용하고자 했다고 밝혔다.인수 이후 CoreOS Linux(Container Linux)는 Red Hat이 이미 운영하던 Fedora 프로젝트 산하로 흡수되어 Fedora CoreOS라는 후속 프로젝트로 재편되었고, 독립 프로젝트로서의 Container Linux는 2020년 5월 26일 서비스 종료(End of Life)를 맞았다. 마지막 정식 릴리스는 2512.3.0(2020년 5월 22일 발행)이다.
3. 기술적 특징
3.1. 불변형(Immutable) 설계
CoreOS Linux는 Gentoo를 기반으로 만들어졌지만, 사용자가 패키지를 하나씩 설치·관리하는 일반적인 배포판과는 근본적으로 다른 철학을 취했다. 루트 파일시스템이 읽기 전용으로 유지되며, `apt`나 `yum` 같은 전통적인 패키지 관리자가 아예 존재하지 않는다. 대신 사용자가 실행하고 싶은 애플리케이션은 예외 없이 Docker나 rkt 같은 컨테이너 런타임 위에서 컨테이너 형태로 실행하도록 설계되어 있었다.3.2. 자동 업데이트: 듀얼 파티션 방식
CoreOS는 시스템 자체의 업데이트 방식에서도 독특한 접근을 취했다. 디스크를 두 개의 파티션(A/B)으로 나눠, 현재 시스템이 실행 중인 파티션과는 별개의 파티션에 새 버전을 통째로 내려받아 설치한 뒤, 재부팅 시점에 두 파티션의 역할을 맞바꾸는 방식이다. 이는 Chrome OS가 쓰던 업데이트 모델에서 영감을 받은 것으로, 업데이트 도중 시스템이 불완전한 상태로 남는 위험을 줄이고, 문제가 생기면 이전 파티션으로 즉시 되돌아갈 수 있게 해 주는 구조였다.4. 관련 오픈소스 프로젝트
CoreOS는 배포판 자체 외에도 여러 오픈소스 도구를 개발했으며, 이 중 일부는 배포판 단종 이후에도 컨테이너·클라우드 네이티브 생태계에서 핵심적인 위치를 차지하고 있다.- etcd: 분산 환경에서 설정값을 일관되게 공유하기 위한 분산 키-값 저장소다. 이후 Kubernetes의 클러스터 상태를 저장하는 핵심 저장소로 채택되면서, CoreOS가 남긴 유산 중 가장 널리 쓰이는 결과물로 꼽힌다.
- rkt: appc 규격을 구현한 컨테이너 런타임으로, Docker에 대한 대안으로 개발되었다. CoreOS가 Red Hat에 인수된 이후 개발 우선순위에서 밀려나다가, 결국 별도 공지 없이 사실상 개발이 중단되었다.
- fleet: 여러 대의 CoreOS 서버를 하나의 클러스터처럼 묶어 컨테이너를 스케줄링하는 도구였다. Kubernetes가 사실상 업계 표준으로 자리 잡으면서 자연스럽게 대체되었다.
- Quay: 컨테이너 이미지를 저장·배포하는 레지스트리 서비스로, Red Hat 인수 이후로도 Quay라는 이름 그대로 Red Hat의 제품 라인에 남아 있다.
- Tectonic: CoreOS가 만든 엔터프라이즈용 Kubernetes 배포 플랫폼이었다.
5. 후속 프로젝트
Container Linux가 단종된 이후, 그 설계 철학은 몇 갈래로 나뉘어 이어지고 있다.- Fedora CoreOS: Fedora 프로젝트 산하에서 커뮤니티 주도로 개발되는 후속 배포판으로, Container Linux의 불변형·컨테이너 중심 설계를 계승했다.
- RHEL CoreOS(RHCOS): Red Hat의 엔터프라이즈용 Kubernetes 플랫폼인 OpenShift 전용으로 만들어진 배포판으로, 독립적인 릴리스 주기 없이 OpenShift 버전에 맞춰 함께 배포된다.
- Flatcar Container Linux: Red Hat 소속이 아닌 별도 커뮤니티(Kinvolk, 이후 Microsoft에 인수)가 원본 Container Linux의 설계와 이름을 최대한 그대로 계승해 만든 독립 포크다.