본문 바로가기
책 정리/15단계로 배우는 도커와 쿠버네티스

1. 도커와 쿠버네티스 개요

by 이석준석이 2021. 8. 13.

 

쿠버네티스란?

  • 지속적 통합 (CI), 지속적 배포 (CD) 에 적합한 구조를 가진다.
    • 무중단 배포 및 스케일 업/다운
  • 클라우드와 on-premise 에서 같은 방식으로 사용할 수 있다.
    • 일관된 인터페이스로 다룰수 있도록 설계되어 있기 때문이다.
  • 마스터노드와 워커노드로 구성된다.
    • 마스터노드 : 클러스터의 관리를 담당
    • 워커노드 : 컨테이너화 된 애플리케이션을 실행한다.

컨테이너의 이해

  • 불변의 실행환경 (Immutable Infrastructure) 제공
    • 애플리케이션 실행에 필요한 Library, OS 등을 하나로 패키징하여 불변의 실행환경을 만들 수 있다.
    • 기존에는 호스트 운영체제 위에 애플리케이션을 구동하였으나, 개발환경과 배포환경이 완벽히 같음을 보장할 수는 없었기에 오류가 생길 수 있었던 점을 해결할 수 있다.
  • 가상머신 vs 컨테이너
    • 가상머신 : OS 위에서 하이퍼바이저 (VMware...) 를 사용하여 애뮬레이션한 뒤, Guest OS를 생성하는 방식
    • 컨테이너 : 리눅스 커널을 이용하여 격리된 리눅스 프로세스를 사용하는 분리상태를 만드는 방식

도커의 아키텍처

  • 도커 클라이언트
    • Docker API 를 통해 도커 데몬에 요청을 보낸다.
    • ex) docker build / docker rundocker pull...
  • 도커 데몬(서버)
    • 도커 클라이언트의 명령을 받아 이미지 / 컨테이너 / 볼륨 / 네트워크 등을 관리한다.
  • 도커 레지스트리
    • 도커 컨테이너의 이미지를 보관하는 곳이다.
  • 컨테이너
    • 하나의 프로세스라고 볼 수 있으며, 완전히 분리되어 실행되는 프로세스이다.


쿠버네티스의 기본

  • Pod
    • k8s에서 컨테이너를 실행하는 최소 단위이며, 하나의 pod에서 여러개의 컨테이너를 실행할 수 있다.
    • 내부의 컨테이너들은 localhost로 서로 통신할 수 있다.
  • 서비스
    • 클라이언트의 요청을 Pod에게 전달한다. (Pod의 IP는 구동할 때마다 변경되기 떄문이다.)
    • LB의 역할을 한다.
    • 대표 IP주소 (Cluster IP) 를 갖는다.
  • 컨트롤러
    • Pod을 제어한다.

'책 정리 > 15단계로 배우는 도커와 쿠버네티스' 카테고리의 다른 글

7. 매니페스트와 파드  (0) 2021.08.21
6. 쿠버네티스 첫걸음  (0) 2021.08.21
4. 컨테이너와 네트워크  (0) 2021.08.16
3. 컨테이너 개발  (0) 2021.08.15
2. 컨테이너 다루기  (0) 2021.08.15