CentOS 단종 Rocky Linux 로 바꾸면 해결? 컨테이너는 OS를 고민할 필요가 없습니다!
언제까지 오픈소스 OS로 돌려막기를 하실건가요? 클라우드 네이티브를 도입하면 OS를 고민할 필요가 없습니다!!
개요
2024년 6월 CentOS 단종으로 인하여, 많은 분들이 CentOS를 대체할 수 있는 Red Hat Enterprise Linux, Rocky Linux, Alma Linux, Suse Linux 로의 교체 및 신규 도입에 대한 고민을 하고 있습니다.
하지만 CentOS에서 Rocky Linux등 다른 오픈소스 OS로 교체한다고 해서 근본적인 문제가 해결되지는 않습니다.
해결 방법은 하드웨어 및 OS로부터 완전히 자유로워 질 수 있는 컨테이너 기술 기반으로 변화하는 것입니다.
컨테이너는 OS를 가상화하는 기술이기 때문에 특정 OS 및 환경에 종속되지 않고 자유롭게 사용할 수 있습니다.
지금부터 컨테이너 기술에 기반하여 중복 투자를 막는 방법을 알려드리겠습니다.
주요 용어
- 컨테이너 기술
- 컨테이너는 애플리케이션을 패키징, 공유 및 배포하기 위한 최신 기술입니다.
- 컨테이너화된 애플리케이션과 마이크로서비스는 모든 기능이 하나의 소프트웨어로 패키징되는 모놀리식 애플리케이션과는 달리, 단일 작업에 특화된 목적으로 설계되었습니다.
- 커널
- 모든 OS의 핵심은 메모리, CPU, 파일 시스템, 네트워크 리소스, 스트림 드라이버 등 사용 가능한 모든 리소스를 관리하고 이를 실행 중인 프로그램(프로세스, 작업)에 최적으로 할당하는 실시간 실행환경입니다. 실시간 실행 환경을 커널이라고도 합니다.
컨테이너 OS와 관련한 주요 이슈들
컨테이너에는 OS가 없다
컨테이너에는 운영체제(OS)를 가지고 있지 않습니다. 컨테이너는 격리된 환경을 제공하여 애플리케이션을 실행하는 기술이며, 호스트 운영 체제의 리소스 및 커널을 공유합니다.
아래의 몇 가지 이유를 통해 컨테이너에는 별도의 운영 체제가 없다는 것을 증명할 수 있습니다.
- 운영 체제 커널 공유
- 컨테이너는 호스트 운영 체제의 커널을 공유합니다. 이것은 하드웨어를 가상화하는 기술과는 대조적입니다. 가상 머신(VM)은 각각 자체 운영 체제와 커널을 갖지만 컨테이너는 커널을 공유하므로, 운영 체제의 중요한 부분을 재생성하지 않습니다.
- 가볍고 빠름
- 다양한 얘기지만 컨테이너는 OS 를 설치하지 않기 때문에 가상 머신에 비해 훨씬 가볍고 빠릅니다. 컨테이너는 애플리케이션과 종속성만을 포함하며, 호스트 운영 체제와 커널은 공유됩니다. 이로 인해 컨테이너가 시작되고 실행되는데 소요되는 시간이 매우 짧고, 시스템 리소스 사용량도 적습니다.
- 동일 운영 체제
- 컨테이너는 일반적으로 호스트와 동일한 운영 체제 버전 및 유형을 공유합니다. 예를 들어, 호스트가 Linux 운영 체제를 사용한다면 컨테이너도 Linux 운영 체제를 사용합니다. 호스트 운영 체제와 동일한 커널을 공유하므로 호스트와의 호환성이 유지됩니다.
- 컨테이너 이미지는 운영체제가 아님
- 컨테이너 이미지는 컨테이너를 실행하는 데 필요한 모든 파일 및 설정을 포함합니다. 이 이미지는 호스트 운영 체제와 커널을 공유하는 컨테이너 환경을 만들어내는데 사용됩니다. 이미지에는 애플리케이션과 종속성, 실행 환경 및 설정 정보가 포함되며, 운영 체제는 아닙니다.
요약하면, 컨테이너는 호스트 운영 체제와 커널을 공유하며, 호스트와 동일한 운영 체제를 사용합니다. 따라서 컨테이너 자체에 별도의 운영 체제가 내장되어 있지 않습니다.
실제 OS와 컨테이너에서의 OS의 차이점은?
컨테이너는 가상 머신이 아닙니다. 이는 호스트 시스템(따라서 항상 호스트의 Linux 커널에서)에서 실행되는 일반 프로세스일 뿐이며 시스템의 나머지 부분과 분할하기 위한 여러 기술입니다.
- 컨테이너는 호스트 운영 체제와 다른 Linux 배포판을 사용할 수 있습니다.
- 컨테이너 기술은 호스트 운영 체제와 독립적으로 동작할 수 있도록 설계되어 있습니다. 호스트 운영 체제와 독립적으로 실행될 수 있는 모든 필수 라이브러리와 종속성을 컨테이너 이미지에 포함시키기 때문입니다.
-
- 따라서 호스트 운영 체제가 CentOS라고 해도 다른 Linux 배포판(예: Ubuntu, Debian, Fedora, 등)의 파일 시스템 및 라이브러리를 포함할수 있습니다. 컨테이너는 호스트 운영 체제와 무관하게 실행될 수 있습니다. 이러한 호환성은 컨테이너 기술의 중요한 장점 중 하나입니다.
-
- 컨테이너에서 OS 사용 시 주의 할 점은?
-
-
- 컨테이너 이미지의 운영 체제 버전 및 종류를 명확히 지정해야 합니다.
-
-
-
- 호스트 운영 체제와 컨테이너 이미지 간에 일부 호환성 문제가 발생할 수 있으므로, 특정 라이브러리나 기능이 필요한 경우에는 이러한 사항을 고려해야 합니다.
- 이러한 이유로 컨테이너 이미지를 만들 때 명시적으로 사용하려는 운영 체제와 버전을 정확하게 지정하고, 컨테이너 실행 시 호스트 운영 체제와의 호환성을 확인해야 합니다.
-
OS를 해결하기 위해 OS를 바꾸는 것은 중복 투자일 뿐 의미 없음
무료 리눅스인 CentOS 단종으로 인한 상용 리눅스를 고민하시거나 Windows OS 대한 비용으로 인한 고민이 있으신가요?
CentOS 를 Rocky Linux 로 바꾸는 것은 근본적인 해결책이 아닌 “호미로 막을 것을 가래로 막는 것” 입니다.
비슷한 영어 속담으로는 “‘A little leak will sink a great ship”이라는 말이 있습니다.
이는 “작은 구멍이 큰 배를 가라 앉힌다” 라는 말로 문제의 본질을 이해하고 근본적인 해결을 하지 않으면 큰 위기로 이어질 수 있다는 것입니다.
마무리하며….
결론으로 “컨테이너에는 OS 가 없나요?” 라는 질문에 대한 답변은
- 네 , 없습니다. → 컨테이너는 호스트OS 의 커널을 사용하기 때문에 OS가 필요하지 않습니다.
- 컨테이너에서 실행되는 모든 프로세스는 호스트 시스템 커널에서 실행됩니다.
- 컨테이너는 단일 커널이 여러 개의 개별 커널인 것처럼 가상( 즉 OS 가상화) 할 수 있도록 하는 기술입니다.
OS 의 문제로 다른 대체 OS 를 찾는 것은 “호미로 막을 것을 가래로 막는 것” 과 같은 중복 투자와 의미 없는 작업일 수 있습니다.
- 컨테이너를 통해 OS 종속에서 벗어나면 라이센스 , 보안 소프트웨어 비용, 인건비 등 더 많은 혜택이 있습니다.
JBoss Datagrid Queue 자료구조 구현 방법: Infinispan 설명
/in JBoss, Tech Talk/by 오픈마루 마케팅0Infinispan (http://infinispan.org/)은 레드햇/JBoss의 오픈소스 분산 메모리 Key/Value 데이터 그리드 솔루션입니다.
JBoss EAP 시작 파라미터 살펴보기: Command Line 파라미터 설명
/in JBoss, Tech Talk/by 오픈마루 마케팅0JBoss EAP 6에서 인스턴스 시작 시, 참조되는 바인딩 주소와 각종 디렉터리를 지정하는 시작 파라미터들에 대해 설명한다.
Drools 6.0 성능 비교: Phreak와 Rete 알고리즘 비교
/in Tech Talk/by 오픈마루 마케팅0Drools 6.0에서는 지금까지의 ReteOO 대신 Phreak ( Lazy Matching)라는 새로운 룰 엔진 알고리즘이 도입되었다.