반응형
목차
선행으로서 리눅스 기초적인것을 알고있으면 쉬움
1강 - 1 도커소개
- 도커소개
- 컨테이너 기술을 지원하는 다양한 프로젝트중에하나
- 컨테이너 기술을 이전에도 있었으나 도커로인해 알려짐
- 컨테이너 기술의 사실상 표준
- 2014 가장 인기있는 클라우드 오픈소스2위
- 다양한 운영체제에서 사용가능(리눅스, 윈도우, MacOS)
- 애플리케이션에 국한되지 않고 의존성 및 파일 시스템까지 패키징 하여 빌드, 배포, 실행을 단순화
- 리눅스의 네임 스페이스와 cgroups*와 같은 커널기능을 사용하여 가상화 (cgroups는 리눅스 운영 체제에서 프로세스 그룹의 자원 할당과 제어를 관리하는 기능입니다. 이를 통해 운영 체제는 시스템 리소스를 효율적으로 관리하고 각 프로세스 그룹의 리소스 사용량을 제한할 수 있습니다. cgroups는 CPU, 메모리, 디스크, 네트워크 등 다양한 리소스를 제어할 수 있으며, 주로 컨테이너 가상화 기술에서 사용됩니다. 이를 통해 리소스 사용량을 관리하고 격리된 환경에서 프로세스 그룹을 관리할 수 있습니다.)
- 도커는 여러가지 클라우드 서비스 모델과 같이 사용이 가능하다
- 이미지: 필요한 프로그램과 라이브러리, 소스를 설치한 뒤 만든 하나의 파일
- 컨테이너: 이미지를 격리하고 독립되어진 공간에서 실행한 가상환경
- 컨테이너
- 가상환경을 사용하면 오버헤드(OverHead)*가 훨씬 적게된다. (오버헤드는 어떤 작업이나 프로세스를 수행하면서 추가로 필요한 부가적인 비용이나 부담이 발생하는것을 말한다)
- 동일한 시스템에서 실행되는 SW의 컴포넌트가 충돌하거나 다양한 종속성을가지고 있다.(ex.. 프로젝트가 개발팀이 많은 경우 java나 python기반의 다양한 언어 어플리케이션을 사용할때 생기는 컴포넌트 충돌예방)
- 컨테이너는 가상머신을 사용해서 MS(micro service)를 isolate(격리)하는 기술이다.
- 컨테이는 가상머신처럼 하드웨어를 전부 구현하지 않기 떄문에 매우 빠른 실행이 가능하다.
- 프로세스의 문제가 발생할때 컨테이너 전체를 조정해야하기 때문에 컨테이너에 하나의 프로세스를 실행하도록 하는것이 좋다.(브라우저랑 비슷함)
- 컨테이너 격리(리눅스커널)
- 리눅스 컨트롤 그룹: 프로세스로 소비할 수 있는 리소스의 양(cpu,ram,I/O,네트워크 대역대, devidce node, 등등)을 제한 - 독립된공간에서 서로간의 리소스를 먹는 양을 제어하도록 만들수있다.
- 도커의 한계
- 서비스가 커지면 커질수록 관리해야하는 컨테이너의 양이 급격히 증가한다.
- 도커를 사용하여 관리를 하더라도 쉽지않은 형태이며 배포 및 컨테이너 배치전략을 잘짜야함
- 스케일-인, 스케일- 아웃이 어렵다.
- 극복을위해서는?
- 쿠버네티스와 같은 것을 함께사용하면 관리가 상대적으로 쉬워짐)
1강에서의 의문과 해결
패키지와 도커에 이미지는 같은의미인가?
찾아본결과: 패키지와 도커 이미지는 소프트웨어를 담고있는 “파일”이라는 공통점이 있지만 용도와 사용 방식의 차이가 있다.
- 패키지는 일반적으로 운영체제에서 소프트웨어를 설치,업데이트, 제거하는데 사용되는 파일의 묶음이다. 패키지는 프로그램 또는 라이브러리와 관련된 실행파일, 구성파일, 라이브러리 파일 등을 포함할 수 있다. 패키지 관리자를 통해서 패키지를 설치하면 필요한 파일이 시스템에 배치되고 설정이 완료된다. 일반적으로 패키지는 운영체제에서 소프트웨어를 관리하기 위해서 사용된다.
- 도커 이미지는 도커에서 사용되는 실행 가능한 소프트웨어 패키지이다. 도커 이미지는 소프트웨어 실행에 필요한 모든 것을 포함하고 운영체제,실행 파일, 라이브러리, 구성파일등을 하나의 단일 ‘이미지’로 묶어서 저장한다. 도커 이미지는 독립적이고 이식성이 뛰어나다
- 요약: 패키지 == 운영체제에서 소프트웨어 관리를 위한 파일묶음 이미지 == 컨테이너를 실행하기위해 필요한 모든 파일을 포함하는 실행 가능한 소프트웨어 묶음 이다.
Uploaded by N2T
반응형