먼저 Kubernetes란???
Kubernetes : 구글에서 개발한 컨테이너 오케스트레이션
다음은 Kubernetes가 구성되는 개념인 Object와 Controller에 대해서 정리해보려고한다.
Object란 "하나의 의도를 담은 레코드" 라고 쿠버네티스 공식문서에 나와있다.
- 여기서 의도를 담은 레코드란 무엇일까??
레코드마다 음악이 다르듯이 Kuberntes에서도 각 object들이 어떤 의미를 가지고 행하는것인지 하는게 아닐까?? 라고 추측해본다 (주관적인 생각)
Kubernets에서 기본적인 구성단위가 되는건 크게 Basic Object와 Basic Object를 추가관리하는 Controller로 나뉜다고한다.
Basic Object
- Pod
쿠버네티스에서 가장 기본적인 배포단위, 컨테이너를 포함하는 단위이며 Pod는 하나 이상의 컨테이너를 가지고있다.
- Service
Pod와 볼륨을 이용하여 컨테이너를 정의한 후 여러개의 Pod를 서비스하며 로드밸런싱을 이용해 하나의 IP와 Port를 제공한다.
- Volume
Pod가 기동될때 기본적으로 로컬디스크를 생성하는데 이 로컬디스크는 비영구적이며 Container가 재시작될때마다 사라진다.
데이터를 저장하기 위해서는 Pod가 기동할때 컨테이너에 마운트하여 사용한다.
- Namespace
쿠버네티스에서 논리적으로 분리한 단위라고 생각하면된다. Pod나 Services 등은 네임스페이스별로 생성/관리 되며 사용자역시 네임스페이스별로 나뉜다. Redhat Openshift에서는 Project 라고 네이밍하였다.
Controller
- Replicaset
- Deployment
- Statefulset
- Daemonset
- Job
위와 같이 쿠버네티스를 구성하는 Basic Object와 Controller의 종류를 정리해보았다.
Controller에대한 정리는 아래 포스트를 참고하기바란다.
'MSA > Kubernetes' 카테고리의 다른 글
Kubernetes 기본개념 - 구조 (0) | 2021.11.18 |
---|---|
Service Mesh란?? (0) | 2021.10.19 |
Kubernetes 개념 - Controller (0) | 2021.10.19 |