kubernetes란 컨테이너 오케스트레이션의 도구 이다.
k와 s사이에 8개의 글자기 있다는 의미로 k8s로 줄여쓴다.
컨테이너 오케스트레이션이란?
이름 그대로 여러 개의 컨테이너를 관리하는 일을 말한다.
만약 여러 대의 물리적인 서버가 있고 이런 여러 대의 서버에 여러 개의 컨테이너가 있다고 하면 이를 각각 모니터링 하고 만약 장애가 생겨서 컨테이너를 업데이트 하게 되면 시간이 걸리게 된다.
오케스트레이션은 이러한 과정을 줄여서 생성 관리의 수고를 줄여준다.
정의파일(매니페스트 파일)을 작성하면 이 파일에 따라서 컨테이너를 생성, 관리 해준다.
클러스터, 마스터 노드와 워커 노드
마스터노드와 워커 노드로 구성된 쿠버네티스 시스템을 클러스터라고 한다.
마스터 노드에서는 컨테이너를 실행하지는 않지만 컨테이너를 관리하는 역할을 한다. 컨테이너 엔진도 선책되지 않는다.대신 워커 노드에서 실향되는 컨테이너를 관리하는 역할 을 한다.
클러스터는 사람이 개입하지 않아도 마스터 노드에 설정된 내용에 따라 워커 노드가 관리되며 자율적으로 동작한다.
상태 유지 기능
쿠버네티스는 컨테이너를 생성하거나 삭제할 수 있지만 명령어를 입력하는 방식을 사용하지 않는다.
"컨테이너 00개, 볼륨 XX개"같은 어떤 상태를 유지하라는 YAML파일에 정의하면 자동으로 컨테이너를 생성하거나 삭제하면서 이 상태를 만들고 유지한다.
예를 들어서 모종의 이유로 컨테이너가 망가졌다면 쿠버네티스가 알아서 망가진 컨테이너를 삭제하고 새로운 컨테이너로 대체한다.
리소스 용어 정리
1. 파드
컨테이너의 관리 단위, 컨테이너와 볼륨을 묶은 것으로 파드에 컨테이너가 하나부터 여러개가 들어갈 수 있다.
2. 서비스
파드들을 이끄는 반장이라고 보면 된다.
서비스가 관리하는 파드들을 모두 동일한 구성을 가진다. 다른 구성을 가질 경우 별도의 서비스가 관리하게 된다.
로드 밸런서 처럼 서비스는 자신의 고유 IP가 있고 요청이 들어오면 통신을 파드들에게 분산해준다.
3. 레플리카 세트
파드의 수를 관리하는 반장이다.
장애 등으로 파드가 종료 되었다면 모자란 파드를 보충하거나 저으이 파일에 파드의 수가 감소한 만큼 파드 수를 감소시킨다.
레플라카 세트가 관리하는 동일한 구성의 파드들을 레플리카라고 부른다.
4. 디플로이먼트
배포(디플로이)를 관리하는 요소로 레플리카세트랑 같이 사용된다.
Coding, Software, Computer Science 내가 공부한 것들 잘 이해했는지, 설명할 수 있는지 적는 공간