본문 바로가기
쿠버네티스

데브옵스 쿠버네티스 마스터(인프런인강) (1)

by chief_sac 2023. 6. 2.
반응형

목차

선행으로서 리눅스 기초적인것을 알고있으면 쉬움

1강 - 1 도커소개


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

1강에서의 의문과 해결


  • 패키지와 도커에 이미지는 같은의미인가?

    찾아본결과: 패키지와 도커 이미지는 소프트웨어를 담고있는 “파일”이라는 공통점이 있지만 용도와 사용 방식의 차이가 있다.

    • 패키지는 일반적으로 운영체제에서 소프트웨어를 설치,업데이트, 제거하는데 사용되는 파일의 묶음이다. 패키지는 프로그램 또는 라이브러리와 관련된 실행파일, 구성파일, 라이브러리 파일 등을 포함할 수 있다. 패키지 관리자를 통해서 패키지를 설치하면 필요한 파일이 시스템에 배치되고 설정이 완료된다. 일반적으로 패키지는 운영체제에서 소프트웨어를 관리하기 위해서 사용된다.
    • 도커 이미지는 도커에서 사용되는 실행 가능한 소프트웨어 패키지이다. 도커 이미지는 소프트웨어 실행에 필요한 모든 것을 포함하고 운영체제,실행 파일, 라이브러리, 구성파일등을 하나의 단일 ‘이미지’로 묶어서 저장한다. 도커 이미지는 독립적이고 이식성이 뛰어나다
    • 요약: 패키지 == 운영체제에서 소프트웨어 관리를 위한 파일묶음 이미지 == 컨테이너를 실행하기위해 필요한 모든 파일을 포함하는 실행 가능한 소프트웨어 묶음 이다.

Uploaded by N2T

반응형