쿠버네티스 기본개념
-
컨테이너 기술
애플리케이션과 그 실행 환경을 패키징하여 어디서나 일관되게 실행할 수 있도록 하는 가상화 기술이다. VM처럼 전체 OS를 만들지 않고, 애플리케이션 실행에 필수적인 것들(코드, 라이브러리, 설정파일 등)만을 감싸서 어디서든 쉽게 실행할 수 있다. -
도커
컨테이너를 생성하고 실행하는 컨테이너 런타임이다.
애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 장점이 있다. 쉽게 말해, 컨테이너를 잘 다룰 수 있게 도와주는 도구이다. -
볼륨
도커 데몬 안에서 관리하는 호스트 영역에 있는 파일 저장소이다.
컨테이너 안에 있는 것이 아니며, 컨테이너 간 특정 내용을 공유하기 위해 볼륨에 기록을 하는 것이다. -
쿠버네티스 컨테이너를 오케스트레이션하는 도구이다. 즉, 이미 도커 등과 같이 컨테이너 런타임을 통해 생성된 여러 애플리케이션이 존재하는 상태여야 한다.
- 노드
쿠버네티스의 워크로드(컨테이너)를 실행하는 워커머신이다.
클러스터에 따라 가상머신일 수도, 물리적 머신이 될 수도 있다. 노드는 워커노드와 마스터노드로 나뉜다.- 마스터 노드: Control Plane의 주요 구성 요소들이 실행되는 노드로, 클러스터의 중심 역할을 하며, 작업 스케줄링, 작업 할당 등의 역할을 한다.
- 워커 노드: 실제로 작업을 수행하는 노드이다. 마스턴드로부터 명령을 받는다.
-
클러스터
-
Pod
컨테이너가 실행되는 최소 단위이다. -
사이드카 패턴
하나의 파드에 웹 서버 역할을 하는 컨테이너(주 업무)와 깃헙으로부터 최신의 컨텐츠를 내려받는 컨테이너(보조 업무)를 조합 즉, 하나의 파드 안에 두 개 이상의 컨테이너가 실행되는 것을 의미한다. - 디플로이먼트 레플리카 셋 기능을 활용해 실행되는 어플리케이션(파드)을 무중단으로 업데이트하는 기능의 리소스. 애플리케이션을 배포하고, 관리하며, 업데이트하는 데 사용되는 컨트롤러
참고:
https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/
https://aws.amazon.com/ko/docker/