본문 바로가기

Cloud/Kubernetes

쿠버네티스의 리소스

리소스 용도
노드 컨테이너가 배치되는 서버
네임스페이스 쿠버네티스 클러스터 안의 가상 클러스터
파드 컨테이너의 집합 중 가장 작은 단위, 컨테이너의 실행 방법 정의
레플리카세트 같은 스펙을 갖는 파드를 여러 개 생성, 관리
디플로이먼트 레플리카 세트의 리비전 관리
서비스 파드의 집합에 접근하기 위한 경로 정의
인그레스 서비스를 쿠버네티스 크러스터 외부로 노출
컨피그맵 설정 정보를 정의하고 파드에 전달
퍼시스턴트볼륨 파드가 사용할 스토리지의 크기 및 종류를 정의
퍼시스턴트볼륨클레임 퍼시스턴트 볼륨을 동적으로 확보
스토리지클래스 퍼시스턴트 볼륨이 확보하는 스토리지의 종류를 정의
스테이트풀세트 같은 스펙으로 모두 동일한 파드를 여러 개 생성하고 관리
상주 실행을 목적으로 하지 않는 파드를 여러 개 생성하고 정상적인 종료 보장
크론잡 크론 문법으로 스케줄링되는 잡
시크릿 인증 정보 같은 기밀 데이터 정의
네임스페이스 안에서 조작 가능한 쿠버네티스 리소스 규칙 정의
롤바인딩 쿠버네티스 리소스 사용자와 롤을 연결지음
클러스터롤 클러스터 전체적으로 조작 가능한 쿠버네티스 리소스 규칙 정의
클러스터롤바인딩 클러스터 전체적으로 사용자와 클러스터 롤을 연결지음
서비스 계정 파드가 쿠버네티스 리소스를 조작할 때 사용하는 계정

이 중 실행 단위가 되는 디플로이먼트-레플리카세트-파드의 관계를 살펴본다.

 알면 좋은 리소스들

1. 파드

- 컨테이너가 모인 집합체의 단위. 하나 이상의 컨테이너

- 같은 파드는 복제될 수 있지만 한 파드 안의 컨테이너는 모두 같은 노드에 배치되어야 함

2. 디플로이먼트

- 디플로이먼트는 배포의 기본단위가 된다.

- 레플리카세트와 비슷하지만 리비전 관리가 가능하다. 이를 통해 롤백을 수행할 수 있다.

3. 서비스

- 파드의 집합에 대한 경로나 서비스 디스커버리(클라이언트의 주소가 바뀌어도 이름으로 접근 가능)를 제공

- 레이블 셀렉터로 정해짐

4. 인그레스

- 클러스터 외부로 서비스를 공개하기 위해 NodePort를 사용할 수 있지만 이는 L4 단계까지만 가능

- L7 (HTTP/HTTPS) 레벨 제어를 위해 사용

- 로드밸런스 가능

5. 잡

- 하나 이상의 파드를 생성해 지정된 수의 파드가 정상 종료될 때까지 이를 관리하는 리소스

- 배치 작업 위주에 적합

- 파드를 병렬로 실행하여 스케일아웃 가능

- 크론잡의 경우 잡에 스케줄링 기능을 넣은 것