반응형
쿠버네티스란? (kubernetes, k8s)
- 오픈소스로 만들어진 컨테이너 오케스트레이션 도구
=> 컨테이너 오케스트레이션 도구 : 수십~수백 개의 컨테이너를 잘 관리하기 위한 툴
- 컨테이너화된 어플리케이션을 자동으로 배포, 스케일링 하는 등의 관리 기능 제공
=> 각기 다른 환경 (온프레미스 서버, VM, 클라우드)에 대응 가능
컨테이너가 늘어나게 되는 이유 ?
- 아키텍처가 모놀리식에서 마이크로 서비스로 바뀜
- 확장성을 고려한 스케일링 까지 더 할 경우에도 컨테이너 증가
쿠버네티스를 사용하지 말아야 하는 경우 ?
- 여러 단계 (Tier)로 나뉘어지지않은 모놀리식 아키텍처
=> 모놀리식 아키텍처는 마이크로 서비스 분해 전략을 세우는 것이 우선 - 적은 수의 컨테이너 컨트롤 시
=> docker-compose 로 충분함 - 단순 아키텍처 + 스케일링이 필요치 않은 경우
=> 이후 트래픽 증가, 스케일링 필요 시 서버리스 서비스를 사용하면 다소 저렴한 가격에 관리형 서비스 이용 가능
=> ex) AWS Auto Scaling
쿠버네티스를 사용해야 하는 환경과 기능
* 기능
- 마이크로 서비스를 컨테이너 방식으로 운영하는 조직이 확장성을 고려할 때
- 무중단 서비스, 고가용성 추구 시
- 자가치유, 배치 실행, 구성 관리, 로드밸런싱 등
- AWS 같은 퍼블릭 클라우드 공급자에서도 비슷한 기능을 제공하지만 금액 문제로 인해 k8s를 사용하기도 함
* 쿠버네티스 활용
- 쿠버네티스를 이용한 온프레미스 상 (사설)클라우드 인프라 구성
- 저렴한 클라우드 서비스의 일부분을 도입하여 하이브리드 형태로 구성
- 쿠버네티스로 구성한 인프라를 AWS 등으로 마이크레이션 (이식성)
=> 주요 퍼블릭 클라우드 공급자들을 관리형 쿠버네티스를 지원함 (AWS EKS)
쿠버네티스 작동 원리
- 클러스터 구성과 컨테이너가 작동하는 방식
* 쿠버네티스 아키텍처
클러스터는 최소 하나 이상의 제어판 (Control Plane) 컴포넌트와 이것과 연결된 몇개의 워커 노드로 구성되어 있음
node - 워커 노드는 kubelet 이라는 프로세스가 돌아가고 있는데, 이 kubelet은 다른 노드와 서로 통신하거나
컨테이너를 실행하는 등의 task를 실행
Pod - 워커 안에는 한개 이상의 컨테이너가 자리잡고 있음
즉 워커 노드는 실제로 어필리케이션이 실행되고 있는 곳
Pod - 컨테이너 그룹, 컨테이너가 사용하는 볼륨, 컨테이너의 정보를 파드 라고 부른다 (Pod)
Control Plane - 관리를 위해 필요한 프로세스들은 전부 제어판 컴포넌트에 있음
제어판 컴포넌트는 클러스터가 잘 작동하도록 도움
API-Server (kube-apiserver)
모든 클러스터 관리의 입구 - 명령을 내릴 수 있는 관문
쿠버네티스에서 제공되는 UI나 CLI등에서 클러스터 관리를 위해 명령을 내리면 -> API 호출됨
직접 호출도 가능
kube-controller-manager (컨트롤러 매니저)
클러스터에서 무슨 일이 발생하는지를 추적하는 역할
컨테이너가 죽거나 재시작 되었을 경우 컨트롤러 매니저가 파악 가능
스케줄러 (kube-scheduler)
서버 리소스를 바탕으로 컨테이너(정확히 pod)가 노드에 배치되게 만드는 역할 담당
새로 생성된 컨테이너를 찾아 노드에 할당
키-값 저장소 etcd
ETCD 데이터 베이스 존재 -> key-value 저장소
클러스터 관리에 필요한 모든 데이터 저장
인프라를 원하는 상태로 만들기 위해 - 정상 상태에 대한 snapshot 및 관리에 필요한 메타데이터를 저장
클러스터
반응형
'Orchestration > Kubernates (k8s)' 카테고리의 다른 글
kubernetes 치트 시트 (0) | 2023.02.14 |
---|---|
[Mac OS] 파드 외부 노출 시키기 (k8s, kubernetes, pod) (0) | 2023.02.14 |
[Mac OS] Deployment 란? (디플로이먼트, Deployment) (0) | 2023.02.13 |
[Mac OS] 파드 란?(Pods, k8s, kubernetes) (0) | 2023.02.13 |
[Mac OS] 쿠버네티스 설치 (minikube 설치, minikube 실습, cozserver) (0) | 2023.02.13 |