297
8
장
개발자와 배포
8.3
쿠버네티스 워크로드 관리 쿠버네티스 워크로드 관리
쿠버네티스 환경에서 실행되는 애플리케이션을
워크로드워크로드
workload
라 한다. 클러스터에서 워크로
드는 하나 이상의 파드에서 각각의 라이프 사이클을 따라 실행된다. 쿠버네티스는 파드 라이프
사이클을 간편하게 관리할 수 있도록 다음과 같은 내장 워크로드 리소스를 제공한다.
디플로이먼트
deployment
와 레플리카셋
ReplicaSet
스테이트리스
stateless
애플리케이션용 워크로드다.
스테이트풀셋
StatefulSet
스테이트풀 애플리케이션을 단일 인스턴스 또는 복제 인스턴스 집합으로 실행한다.
잡
job
과 크론잡
CronJob
일회성 태스크를 정의한다. 배치 프로세스 작업을 구현할 때 편리하게 사용할 수 있다. 잡은
단일 실행, 크론잡은 일정에 맞추어 실행되는 태스크다.
데몬셋
DaemonSet
주로 노드 전체에 영향을 미치는 기능이 필요한 경우 사용한다. 이 리소스 유형의 워크로드
는 대부분 일반 스케줄러가 아닌 데몬셋 컨트롤러가 관리한다.
통상적으로 마이크로서비스는 스테이트리스 애플리케이션이다. 디플로이먼트 스펙을 담아 쿠
버네티스 매니페스트를 생성하고 배포하면 애플리케이션은 클러스터에 탑재된다. 그러나 마이
크로서비스는 데이터베이스 등의 다양한 서비스에 의존한다. 외부 요인으로 인한 마이크로서
비스 장애를 효과적으로 방지하려면 어떤 조치를 취해야 할까? 또한 마이크로서비스 코드베이
스의 변화에 따라 메모리와
CPU
사용량을 적절히 배분하는 방법은