Kubernetes
가장 유명한 오케스트레이션 오픈 소스이다.
서론
- 쿠버네티스는 구글에 의해 처음 개발됐으며 클러스터 환경에서 컨테이너화된 애플리케이션을 말한다.
- 연계되어 있고 분산되어있는 구성 요소들을 더 쉽게 관리하고 다양한 인프라에 서비스를 제공한다.
예시 사용법: 웹에서 실행되는 애플리케이션 만들기
- 1. 클라우드 환경을 만든다.
- 2. 애플리케이션을 컨테이너화 한다.
- 3. 컨테이너화 된 애플리케이션을 클라우드에 배포한다.
개괄
- 쿠버네티스, k8s, 쿠브는 컨테이너 작업(오케스트레이션)을 자동화하는 오픈 소스 플랫폼이다.
- 배포, 스케일링, 컨테이너화된 애플리케이션 관리를 포함하는 기존 수작업을 없앴습니다.
- 롤아웃, 롤백, 배포된 서비스 상태 관리를 자동화한다.
- 사용도에 따라 서비스의 크기를 키우거나 줄일 수 있어 필요한 것만 실행할 수 있도록 한다.
- 컨테이너처럼 쿠버네티스는 클러스터를 제어하여 버전을 관리하고 복제할 수 있도록 한다.
쿠버네티스 아키텍쳐
쿠버네티스 객체
- 파드(POD): 한 노드에 배포할 수 있는 가장 작은 단위, 함께 실행되어야하는 컨테이너 그룹이다.
- 서비스(Service): 파드의 논리 집합과 이에 접근하기 위해 필요한 정책을 정의하는데 사용된다.
- 볼륨(Volume): 기본적으로 파드에서 실행되고 있는 모든 컨테이너에 접근 가능한 디렉터리이다.
- 네임스페이스(Namespace): 물리 클러스터를 기반으로 하는 가상 클러스터이다.
쿠버네티스 관리자
기본 쿠버네티스 객체를 기반으로 만들어지고 추가적인 기능을 제공한다.
- ReplicaSet: 복제된 파드가 주어진 시간 동안 특정 개수만 실행 될 수 있도록 한다.
- Deployment: 현재 상태에서 원하는 상태로 바꾸기 위해서 사용한다.
- StatefulSet: 배포 순서와 볼륨 접근을 제어하기 위해 사용한다.
- DaemonSet: 복제된 파드를 클러스터의 모든 노드 또는 특정 노드에 실행하고 싶을 때 사용한다.
- Job: 어떤 작업을 실행하고 작업이 성공적으로 끝나거나 일정 시간이 지나면 종료하기 위해 사용한다.
쿠버네티스 제어판
- 쿠버네티스 제어판은 클러스터의 현재 상태가 원하는 상태가 되도록 해준다.
- 객체의 상태를 기록하고 객체의 현재 상태가 원하는 상태와 일치하는지 확인하기 위해 제어 루프를 실행한다.
- 제어판은 여러 도시를 운영하는 정부로 생각할 수 있다.
쿠버네티스 마스터
- 쿠버네티스 마스터는 클러스터 전체가 원하는 상태를 계속 유지할 수 있도록 한다.
- kubectl 명령어가 쿠버네티스 API를 통해 클러스터의 쿠버네티스 마스터와 통신할 수 있는 방법이다.
- 법과 질서를 유지하는 경찰처럼 생각하면 된다.
- kube-apiserver: 전체 클러스터를 관리하는 단일 관리 지점이다. 이 API 서버는 여러 도구 및 라이브러리와 통신하기 위한 RESTful 인터페이스를 제공한다. kubectl 명령어로 API 서버와 직접적으로 상호작용한다.
- kube-controller-manager: 다른 종류의 컨트롤러를 관리하여 클러스터의 상태를 관리한다.
- kube-scheduler: 클러스터 내의 가용 노드 간 작업량을 조정한다.
쿠버네티스 노드
- 쿠버네티스 노드는 기본적으로 작업을 실행하고 있는 클러스터 안에 있는 작업 기기(가상 서버, 물리 서버 등)이다.
- 노드들은 쿠버네티스 마스터에 의해 제어되고 애플리케이션의 원하는 상태를 유지하기 위해 계속 감시된다.
- kubelet: 노드와 쿠버네티스 마스터 간의 통신 인터페이스이다.
- kube-proxy: 각 노드의 쿠버네티스 API에 정의된 서비스를 반영하는 네트워크 프록시이다. 간단한 TCP와 UDP 스트림 포워딩을 실행할 수 있다.
참고링크
DataLit : 데이터 다루기
https://www.boostcourse.org/ds103/joinLectures/84465
'프로젝트 단위 공부 > [부스트코스] DataLit : 데이터 다루기' 카테고리의 다른 글
Ch3-1. 데이터 사이언스 발표 가이드 (0) | 2024.03.16 |
---|---|
Ch2-과제. 파이스파크 (0) | 2024.03.15 |
Ch2-3. PySpark (0) | 2023.08.01 |
Ch2-1. 하둡 (0) | 2023.07.31 |
Ch1-과제. 데이터 시각화 (0) | 2023.07.30 |