컨트롤러 객체가 바로 이런 불편함을 해결해 준다. 컨트롤러(controller) 객체는 다른 리소스를 관리하는 쿠버네티스 리소스다. 컨트롤러는 쿠버네티스 API와 연동하며 시스템의 현재 상태를 감시하다가 ‘바람직한 상태’와 차이가 생기면 필요에 따라 그 차이를 바로잡는다. 쿠버네티스에는 여러 가지 컨트롤러 객체가 있다. 그중에서도 파드를 주로 관리하는 컨트롤러 객체는 디플로이먼트다. 앞서 설명했던 파드의 문제점을 디플로이먼트가 모두 해결해 준다. 어떤 노드가 고장을 일으켜 파드가 유실되면, 디플로이먼트가 대체 파드를 다른 노드에 실행한다. 디플로이먼트를 스케일링하고 싶다면 필요한 파드 수를 지정하면 된다. 그러면 디플로이먼트가 여러 노드에 걸쳐 필요한 수만큼 파드를 실행한다. 그림 2- 6은 디플로이먼트와 파드, 컨테이너의 관계를 나타낸 다이어그램이다.