관리 메뉴

IT & Life

리뷰 REVIEW : Docker 및 컨테이너를위한 최고의 Linux 배포판 본문

프로그래밍/Linux

리뷰 REVIEW : Docker 및 컨테이너를위한 최고의 Linux 배포판

미운앙마 2017. 11. 4. 16:00

https://www.infoworld.com/article/3235229/linux/review-the-best-linux-distros-for-docker-and-containers.html#tk.ifw_nsdr_ndxprmomod

 

 

Alpine Linux, CoreOS Container Linux, RancherOS, Red Hat Project Atomic 및 VMware Photon OS 비교

 


일반적으로 "컨테이너 운영 체제"라고 알려진이 패키지는 생산에서 컨테이너를 실행하는 유일한 방법은 아니지만 컨테이너 지원 외에 다른 것에 대한 리소스를 낭비하지 않는 기반을 제공합니다.

 

컨테이너 배포 시스템을 사용하는 업계의 상태는 초기 Linux 배포판과 매우 비슷합니다. 경쟁 요소 인 생태계 구성 요소로 둘러싸인 하나의 핵심 요소 (이 경우 Docker 컨테이너)가 있습니다. 전통적인 리눅스 배포판이 다른 패키지 관리자, 데스크탑 환경, 시스템 유틸리티, 서비스 및 응용 프로그램을 번들하는 것처럼 대부분의 컨테이너 배포본은 다양한 구성 요소를 혼합하여 일치시켜 최적의 솔루션을 고려합니다. 예를 들어 분산 구성 및 서비스 검색을 예로들 수 있습니다. Etcd, Consul 및 ZooKeeper와 같은 여러 가지 솔루션이 있습니다.


각 배포판에는 스택에 포함 할 내용에 대해 다른 접근 방식이 적용됩니다. 한 가지 극단적 인 경우 CoreOS Container Linux 및 Red Hat Project Atomic과 같이 상위 수준의 스택만을 지원하도록 설계된 배포판이 있습니다. 기능의 상당 부분이 독점 관리 계층에 투입되어 다른 어떤 용도로도 OS를 사용할 희망이 거의 없습니다. RancherOS 및 VMware Photon OS와 같은 다른 배포판은 유연성을 높이고 여러 생태계 구성 요소 및 오케스트레이션 시스템을 지원합니다. 이는 관리자에게 실험을 실시하고 벤더 종속을 피할 수있는 좋은 방법을 제공합니다.

 

 

알파인 리눅스

 

많은 공식 Docker 이미지의 기본 운영 체제 인 Alpine Linux 는 작업을 수행하기에 좋은 선택입니다. 크기가 5 메가 바이트에 불과한 Alpine Linux는 Solaris와 경쟁하고 대규모 하드웨어 시스템에서 실행되도록 고안된 몇 년 전의 전체 Linux Linux 배포판과는 정반대입니다. 이 새로운 종류의 Linux는 임베디드 하드웨어에서 실행되도록 설계되었으며 최소한의 리소스를 사용하므로 컨테이너에 완벽한 선택입니다.

임베디드 시스템 OS로서의 Alpine Linux의 유산은 내 리뷰에서 분명했습니다. 구성 옵션의 대부분은 임베디드 시스템을 기본으로하며, 많은 영역의 문서가 희박하거나 존재하지 않습니다. 분명히 해커가 주로 사용하는 시스템 인 Alpine Linux를 사용하면 회사는 응용 프로그램을 빌드하는 데 몇 가지 장애물을 해결해야합니다.

 

Alpine Linux의 생산 배치에는 빠른 시작, 최소 설치 공간, 다른 곳에서는 찾을 수없는 기본 보안 태세 등 몇 가지 이점이 있습니다. 시스템 바이너리에서부터 C 라이브러리에 이르는 모든 것이 작고, 빠르며 안전한 배포를 위해 설계되었습니다. 여기에는 팽창이 없습니다.

알파인 리눅스 (Alpine Linux)의 관리는 전통적인 리눅스 시스템과는 다르며, 배우는 데는 다소 시간이 걸릴 것입니다. 설치 및 패키지 관리는 컨테이너 운영 체제간에 고유 한 것으로, 잘 생각할 수도 있습니다. 개발 샵이 투자를 기꺼이하는 평균 이상의 개발자를 보유하고있는 경우, Alpine Linux는 오랜 시간 동안 응용 프로그램에 견고하고 안정적이며 안전한 기반을 제공 할 것입니다.

 

 

CoreOS 컨테이너 리눅스

 

CoreOS 컨테이너 스택은 Etcd에서 분산 저장 및 서비스 검색, 네트워킹을위한 Flannel, 컨테이너 오케스트레이션을위한 Kubernetes를 사용하며 Docker 외에도 자체 컨테이너 형식 인 rkt (Rocket)을 지원합니다. Rocket은 2015 년경 Docker 형식의 단점을 해결하기 위해 경쟁 컨테이너 형식을 시도했지만 이러한 단점을 해결하기 위해 Rocket은별로 이해하지 못했습니다.

 

Project Atomic과 같은 CoreOS는 전통적인 Linux와는 근본적으로 다른 것을 두려워하지 않습니다. Red Hat의 컨테이너 OS와 마찬가지로 CoreOS Container Linux 는 대부분 불변의 파일 시스템을 생성하지만 Google의 Chromium OS에서 영감을 얻은 디스크 파티션 시스템을 사용합니다. 이것은 파티션상의 오래된 파일 시스템을 보존하는 것으로 롤백은 항상 안전하고 빠릅니다.

 

문서가 상당히 훌륭하고 포괄적이지만 설치 파일을 얻기위한 2 단계 프로세스가 포함 된 설치가 다소 번거로운 것으로 나타났습니다. 그러나 CoreOS는 일단 설치되면 지속적인 "no downtime"업그레이드를 제공합니다.이 기능은 고유 한 디스크 파티션 레이아웃으로 가능합니다. CoreOS는 여기서 많은 작업을 수행했으며, 회사는 옵트 아웃 기능을 포함하여 대부분의 조직에 적합한 다양한 유지 관리 옵션을 제공합니다.

 

CoreOS는 Project Atomic과 비슷하지만, 전부 아니면 전혀없는 결정입니다. 조각을 따로 따로 따로 따로 따로 따로 따로 따로 따로 컨테이너 인프라를 만드는 OS를 사용하는 것은 플랫폼에 구워진 모든 건축 설계 결정 때문에 실제로 선택 사항이 아닙니다. 이러한 결정을 받아들이고 CoreOS의 상용 Kubernetes 배포판 인 Tectonic에 대한 비용을 지불하려는 경우 의심의 여지없이 심각하게 무거운 것을들 수 있습니다.

 

 

Rancher Labs RancherOS

 

Rancher Labs의 RancherOS 는 전적으로 컨테이너로 구성된 Linux 운영 체제입니다. 초기화 프로세스 (PID 1)조차도 Docker 컨테이너입니다. 이는 패키지 관리 시스템이 필요 없음을 의미합니다. OS 업그레이드 (및 다운 그레이드)는 다른 컨테이너와 마찬가지로 Docker로 관리됩니다.

이 접근 방식은 Project Atomic 및 CoreOS와 같은 다른 배포판에서의 아키텍처 결정과 마찬가지로 급진적이지만 결과는 놀랍지 만 단순합니다. 완전히 새로운 시스템 관리를 배우는 것은 처음에는 힘들 것으로 보이지만 어쨌든 컨테이너를 관리하려면 Docker를 알아야합니다. 두 시스템에 동일한 시스템을 사용하지 않는 이유는 무엇입니까?

 

RancherOS는 빠르게 성숙하는 것 같습니다. 저의 리뷰에서 약간 부족한 문서를 발견했지만, Docker 컨테이너에 익숙한 개발자 나 관리자는 이미 대부분의 시스템을 알고있을 것입니다. RancherOS는 설치 공간 (20MB)이 적으며 자원을 효율적으로 사용합니다. 컨테이너 관리 시스템 인 Rancher와 운영 체제 인 Rancher 사이의 라인은 다소 흐려 있지만 컨테이너 관리 시스템은 무료이며 오픈 소스이므로 사용자 자신의 롤을 시도 할 이유가 없습니다. 소스 코드에 액세스해야하는 조직은 더 이상 보이지 않아야합니다.

 

Rancher 플랫폼은 Docker Swarm, Kubernetes 및 Mesos를 포함한 거의 모든 컨테이너 관리 도구 에코 시스템을 지원하며 빠르게 발전하고 있습니다. RancherOS는 전통적인 UNIX와 근본적으로 다르지만 다른 컨테이너 OS 배포보다 기본 UNIX 철학에 더 밀접하게 부합하는 것처럼 보입니다. 우아한 도구로 함께 작동하는 간단한 도구.

 

 

Red Hat Project Atomic

 

Red Hat의 Project Atomic 은 Kubernetes 서비스 조정 조직에 단단히 자리 잡고 있습니다. 일반적으로 이러한 유형의 배포는 대규모의 고 가용성 시나리오를 대상으로합니다. 단점은 근본적으로, 당신은 "말한대로 행동해야하며"규칙에 따라 애플리케이션을 설계해야한다는 것입니다.

이 박스에는 네트워킹을위한 플란넬, 분산 키 - 값 스토리지를위한 Etcd, 호스트 관리를위한 OSTree가 있습니다. OSTree는 안정적이고 분산 된 방식으로 OS를 대규모로 배포하는 비교적 새로운 방법입니다. Atomic은 OSTree와 새로운 RPM 패키지 관리자를 결합하여 RPM-OSTree를 만듭니다. RPM-OSTree는 대부분 불변의 파일 시스템을 제공합니다.

 

나는 원자력 프로젝트가 도전 과제임을 발견했다. 그것은 매우 야심적이고 많은 움직이는 부분과 함께 빠르게 움직입니다. RHEL, CentOS, Fedora, SELinux, Systemd, 기본 호스트를 제어하는 ​​사용자 정의 "Docker"명령 세트 ... 이들은 모두 혼합되어 있으며 설명서는 혼란스럽고 혼란 스럽습니다. 게다가 Chef, Salt, Puppet이없는 작은 클러스터에서는 수동으로 각 노드를 구성해야했습니다.

결론은 Project Atomic이 아직 굽을 시간이 필요하다는 것입니다. 비전이 실현되면 미래의 표준이 될 수 있습니다. 수백 개의 노드가 있지만 수천 또는 수만 개의 데이터 센터는 아니지만. 이런면에서 볼 때 비전은 일반적인 컨테이너 배치 시스템보다 Mesos의 비전에 더 가깝습니다. 귀사가 Red Hat 생태계를 살아 숨 쉬고 거기에 머무를 계획이라면 Project Atomic은 아마도 시작 가치가 있습니다.

 

 

VMware 광자 OS

 

VMware의 Photon OS 는 최소의 크기를 갖고 VMware 하이퍼 바이저 용으로 설계된 최소의 Linux 컨테이너 호스트입니다. 따라서 Photon OS는 가상 환경에서만 실행됩니다. 물리적 하드웨어에 배포 할 수 없습니다. Photon OS는 컨테이너 관리를 쉽게하기 위해 사용자 정의되지만 Atomic 또는 CoreOS처럼 근본적으로는 아닙니다. 광자 OS는 진화 단계에 가깝습니다.

 

필자의 테스트를 토대로, 포토 OS는 VMware 가상 환경에서 약속 한대로 작동합니다. Photon OS는 하드웨어 (가상)에 대한 가정을 할 수 있기 때문에 생태계는 표준 Linux와 매우 유사 해 학습 곡선을 가파르게 만든다. 네트워킹 및 스토리지는 Systemd와 호환되며 컨테이너 네트워킹을 위해 문서화 된 다양한 옵션이 있습니다. Photon OS의 설명서는 검토 된 제품 중에서 가장 좋을 수 있습니다.

 

VMware는 전통적인 환경에서 컨테이너를 생산하는 데 앞장서고 있습니다. 얼마나 자주 컨테이너와 VM의 차이점을 설명하도록 요청 받았습니까? Photon OS를 사용하면 곧 차이는 없습니다. 컨테이너는 가벼운 VM 일 뿐이며 동일한 도구로 배포 및 관리됩니다. Photon OS는 Docker 및 Rocket 컨테이너, Docker Swarm, Kubernetes, Mesos, Google Cloud Engine, Amazon EC2 등 거의 모든 컨테이너 생태계의 주요 부분을 지원합니다.

 

필자가 리뷰 한 모든 배포판 중 VMware Photon OS는 가장 환상적이고 현재 가장 완벽하고 유용합니다. 컨테이너 사업을 둘러 보는 VM웨어의 상점이라면 다른 것을 고려하지 않을 것입니다. VMware 상점이 아니라면 Photon OS는 여전히 가치가 있습니다.

 

 

컨테이너 운영 체제 비교

 

Alpine Linux는 대부분의 모든 Docker 이미지를 지원합니다. 임베디드 응용 프로그램에 이상적인 Alpine Linux는 컨테이너를 실행하는 방법으로 생각해서는 안됩니다. 대신 Alpine Linux 가 컨테이너입니다. Alpine Linux에서 응용 프로그램을 작성하는 데 익숙한 개발자는 더 나은 컨테이너 응용 프로그램을 작성합니다.

 

초기 컨테이너 운영 체제 중 하나 인 CoreOS는 Google 기술 스택을 채택합니다. 그것은 컨테이너 인프라를 관리하는 신뢰할 수 있지만, 독단적 인 방법을 제공합니다. CoreOS는 많은 구성 요소를 오픈 소스로 사용할 수 있지만 이러한 대규모 스택을 학습하는 복잡성은 사용자가 프로덕션 배포를 위해 독점적 인 Techtonic 오케스트레이션 시스템을 구입해야한다는 것을 의미합니다. 돈이 문제가 아니며 Google 크기의 응용 프로그램을 배포해야하는 경우 CoreOS를 선택하는 것이 좋습니다.

 

RancherOS는 순수한 용기입니다. 자신의 컨테이너 인프라를 롤업하거나 최소한의 컨테이너 관리 스택을 원한다면 RancherOS를 시작할 수 있습니다. Docker Swarm, Kubernetes 및 Mesos와 같은 오픈 소스 오케스트레이션 및 일정 관리 도구를 모두 무료로 사용할 수 있으므로 Rancher 스택은 개방형 소스 지향적이고 스스로 할 수있는 회사에 호소합니다.

 

Red Hat의 Project Atomic은 기업이 인프라를 배포하는 방식을 다시 설계하는 포괄적 인 프로젝트입니다. 이 야심적인 프로젝트는 기업이 애플리케이션 배포에 대해 생각하는 방식을 바꿀 수 있지만 길은 길다. Project Atomic은 Red Hat 기술에 대한 대규모 투자로 얼리 어답터에게 가장 적합합니다.

 

VMware의 Photon OS는 해당 공급 업체의 가상 시스템 관리 기술 및 경험을 컨테이너에 제공합니다. Photon OS는 가상 머신으로 배포되며 기존 VM 도구로 관리됩니다. VM웨어는 전통적인 VM을 위해 벽면에 글씨를 쓰는 것을 보면서 컨테이너 기술을 전심으로 받아 들였고 첨단 기술을 빠르게 발전시키고 있습니다. 현재 VMware 매장을 운영하고 계시다면 Photon OS보다 더 나은 컨테이너 플랫폼을 찾기 란 어려울 것입니다.

Comments