# 컨트롤러 ## 대표적인 컨트롤러 7개 - [[디플로이먼트]] [[Deployment]] - 대등한 관계에 있는 여러 개의 파드로 수평한 클러스터를 구성할 때 사용한다. 정해진 개수만큼 파드가 기동하도록 관리하며, 가동 중인 파드를 차례대로 교체하거나 규모를 조절할 수 있는 기능을 갖추고 있다 - [[스테이트풀렛]] StatfulSet - 파드와 퍼시스턴트 볼륨을 조합하여 데이터의 보관에 초첨을 둔 컨트롤러다. 파드와 퍼시스턴트 볼륨에 번호를 매겨 관리함으로써 본질적으로 일시적인 존재인 파드가 상태를 가지는 워크로드를 처리할 수 있도록 해준다. - [[잡]] [[Job]] - 배치 처리를 하는 컨테이너가 정상 종료 할 때까지 재실행을 반복하는 컨트롤러다. 파드 실행 횟수, 동시 실행수, 실행 횟수의 상한을 설정할 수 있으며, 지워질 때까지 로그를 보존한다. 데이터 처리나 과학 분야의 게산 작업 등에 사용된다. - [[크론잡]] [[CronJob]] - 지정한 시각에 정기적으로 앞서 소개한 잡을 생성한다. [[UNIX]]에서 사용되는 [[cron]]과 같은 형식으로 잡의 생성 시각을 설정할 수 있다. 잡을 실행 완료한 파드를 몇 개까지 보관할 수 있은지 설정할 수 있어, 정기적으로 실행되어야 하는 배치 처리에 적합하다 - [[데몬셋]] [[DaemonSet]] - [[K8s]] 클러스터의 모든 노드에서 같은 파드를 실행하기 위해 존재한다. 예를 들면, 클러스터 네트워크를 구성하는 파드는 데몬셋에 의해 모든 노드에서 실행되며, 새로운 노드가 추가되면 해당 노드에서 자동으로 실행된다. 시스템 운영의 자동화에 적합하다. ## 워크로드와 컨트롤러의 대응 ^ 워크로드 타입 | 컨트롤러 타입 ^ 다루는 스텝 ^ | 프런트엔드 처리 | 디플로이먼트 | 디플로이먼트\\ 오토스케일\\ 인그레스\\ 서비스 | | 백엔드 처리 | 스테이트풀셋 | 스테이트풀셋\\ 스토리지\\ 서비스 | | 배치 처리 | 잡\\ 크론잡 | 잡\\ 크론잡 | | 시스템 운영 | 데몬셋 | 스테이트풀셋\\ 클러스터 가상화 |