쿠버네티스 용어 정리

쿠버네티스는 다수의 컨테이너를 효율적으로 배포, 확장, 관리 하기 위한 오픈소스 =>도커 컴포즈의 확장판
장점
- 컨테이너 관리 자동화
- 부하분산(로드밸런싱)
- 쉬운 스케일링 -> 트래픽 정도에 따라 서버 수를 변경할 수 있다
- 셀프힐링 -> 자동 재시작 가능

 

kubectl은 쿠버네티스 명령어를 사용할 수 있게 해주는 CLI툴

 

파드란?
도커에서 프로그램 실행 단위 = 컨테이너
쿠버네티스에서 프로그램 실행 단위 = 파드
※보통 하나의 파드에 하나의 컨테이너지만 하나의 파드에 여러 컨테이너가 존재할 수 있다!

 

파드 실행방법 2가지
- CLI
- yaml => 실무에서 주로 사용하는 방식

 

도커는 컨테이너 내부와 외부의 네트워크가 독립적
쿠버네티스는 파드 내부와 외부의 네트워크가 독립적

 

Image Pull Policy
yaml 파일을 읽어들여 pod를 생성할 때 이미지를 어떻게 pull을 받아 올 건지에 대한 정책
1. Always -> 로컬 이미지x, 레지스트리에서만 가져옴(태그가 latest거나 없으면 기본값)
2. IfNotPresent -> 로컬 이키지가 없다면 레지스트리에서 가져옴
3. Never -> 로컬에서만 이미지를 가져온다.

 

서버를 pod로 띄우는 절차
1. 이미지를 다운받아 온다.
2. 이미지를 컨테이너로 띄운다.
3. 파드를 실행시킨다.

 

쿠버네티스를 통한 수평적 확장을 할 수 있다.

반대개념인 수직확장이란?
단일 서버의 물리적 스펙을 업그레이드 하는것

 

디플로이먼트란?
현업에서는 직접 파드를 배포하지 않고 디플로이먼트를 활용한다. 파드를 묶음으로 쉽게 관리할 수 있다.

 

서비스란?
외부로부터 들어오는 트래픽을 받아서 여러 파드에 균등하게 분배해주는 로드 밸런서 역할을 하는 기능

 

서비스 종류

1. NodePort: 쿠버네티스 내부에서 해당 서비스의 포트를 열고 외부에서 접속 할 수 있게 한다.
2. ClusterIp: 쿠버네티스 내부에서만 통신 할 수 있는 IP 부여, 외부에서는 요청할 수 없다.
3. LoadBalancer: 외부의 로드밸런서를 활용해 외부에서 접속할 수 있도록 연결한다.

 

쿠버네티스에서는 디플로이먼트, 서비스, 파드와 같은 리소스들을 "오브젝트"라고 부른다

 

 

컨피그맵: 환경변수를 관리하는 역할을 가진 오브젝트
시크릿: 환경변수를 분리해서 관리하는 오브젝트
볼륨이란?
파드의 데이터가 휘발성인 문제점을 해결 하기위한 방안으로 데이터를 영속 저장하기 위한 방법
로컬 볼륨: 파드내부의 공간 일부를 볼륨으로 활용하는 방식, 파드 삭제시 데이터도 삭제
퍼시스턴트 볼륨(PV): 파드 외부의 공간 일부를 볼륨으로 활용, 현업방식
퍼시스턴트 볼륨 클레임(PVC): pod와 PV의 중개 역할을 한다.

'백엔드 > etc' 카테고리의 다른 글

OAuth2.0 플로우 정리  (0) 2024.09.04
Access Token과 Refresh Token  (0) 2024.03.21
객체지향의 4가지 특징  (0) 2024.01.21