본문 바로가기
2022-2/seminar

공통세미나 | 1장. 쿠버네티스 소개

by 이망고_ 2022. 1. 12.

먼저 공부하고 모르는 것 질문 

* 자기껄로 완전히 이해한 과정이 필요하다. 그렇지 않았다면 복습하고 질문하기

* 가상 환경과 가상머신의 차이가?

 

컨테이너 역사

1970년에 개발된 chroot 기술 기반

리눅스/ 유닉스 OS에서 15년 이상 사용 

표준이미지를 관리 (도커파일도 여전히 관리하면서)

chroot

root를 변경해서 작업공간을 분리

LXC(LinuX Container)

시스템 레벨의 가상화

리눅스 커널 레벨에서 제공하는 격리된 가상 공간

호스트의 리눅스를 그대로 이용 

 

세가지 기능을 활용하여 가상 공간을 제공

croupus(control groups)

CPU, 메모리, 디스크, 네트워크 자원 할당하여 완벽한 가상 공간 제공

namespaces

프로세스 트리, 사용자 계정, 파일 시스템, IPC 별도로 격리시켜 호스트와 별개의 공간을 만듦

SELinux(Security-Enhanced Linux)

가상화된 공간의 보안도 호스트와 같은 수준 제공

 

LXC 단점

격리된 공간에 대한 지원만 함

개발 및 서버 운영에 필요한 부가 기능 부족

도커(Docker)

리눅스 커널의 cgroups, namespaces, SELinux 기능을 기반

이미지, 컨테이너의 생성 및 관리 기능 제공

LXC, libcontainer 기반으로 구현

쿠버네티스

컨테이너 오케스트레이션 툴 (도커 스웜, ESC, Nomad)

컨테이너를 운영 (생성, 삭제, 장애 복구, 스케쥴링, 로드밸런싱, 클러스터링)

 

도커와 쿠버네티스의 차이

도커: 컨테이너 관리

쿠버네티스: 산재된 컨테이너 관리

 

컨테이너 핵심 기술

컨트롤 그룹(cgroups) : 자원 할당, 서버 자체의 리소스 얼마나 쓸 것인지 

네임스페이스(namespace) : 누가 쓸 것인지, 독립된 공간 보장

통합 파일 시스템(Union Filesystem) : 이미지로 실행

컨트롤 그룹

컨테이너 제약 조건의 한계치 조정

네임스페이스

프로세스 상호 작용을 다음 유형으로 격리(컨테이너)

프로세스가 갖는 다른 프로세스, 네트워킹, 파일 시스템, 사용자 컴포넌트의 가시성 제한

통합 파일 시스템

컨테이너는 이미지(특정 시점의 상태)로 실행

새파일 시스템을 생성하지 않고 새로운 컨테이너 즉시 생성 가능

 

컨테이너가 너무 멋진 이유

클라우드 제공 업체들(CSP)도 컨테이너 생태계를 깊이 수용

CSP 기반의 쿠버네티스 활용 => 클러스터 최적화, 구성, 배포에 집중 가능(AWS, GCP, Azure)