디플로이먼트 기본 요소는 쿠버네티스가 애플리케이션을 수동으로 업데이트하는 지루한 프로세스를 반복적이고 자동화된 선언적 동작으로 바꿔주는 하나의 사례다. 바로 사용 가능한 배포 전략은 기존 컨테이너를 새로운 컨테이너로 교체하는 것을 제어하고, 릴리스 전략은 서비스 컨슈머에게 새로운 버전을 제공하는 방식을 제어한다.

후자의 2가지 릴리스 전략은 전환을 작동시키는 사람의 결정을 기반으로 하며, 그 결과로서 완전 자동화는 불가하며 사람의 상호작용이 필요하게 된다. 아래 그림은 전환 되는 동안의 배포 및 릴리스 전략과 인스턴스 수를 요약해 보여준다.

20220823_135130991.jpg

모든 소프트웨어는 저마다 다르며, 복잡한 시스템을 배포하는데는 통상적으로 추가적인 단계와 체크가 요구된다. 이번 장에서는 파드 업데이트 프로세스에 대해 다뤘지만, 이 기술들은 컨피그맵이나 시크릿, 혹은 기타 종속적인 서비스 등의 파드 의존성에 대한 업데이트와 롤백과는 관련이 없다.

책을 쓴 시점에서 쿠버네티스에는 배포 프로세스에서 훅을 허용하자는 제안이 올라왔다. 사전과 사후 훅을 통해 쿠버네티스가 배포 전략을 실행하는 전후에 사용자정의 명령을 실행할 수 있다.

이런 명령을 통해 배포가 진행되는 동안 추가 작업을 수행할 수 있고, 추가적으로 배포를 중단 또는 재시도 나 계속할 수 있다. 그와 같은 사용자정의 명령은 자동화된 신규 배포 및 릴리스 전략을 향한 좋은 출발점이다.

지금 시점에서 이런 작업이 가능하려면, 업데이트 프로세스를 더 높은 레벨로 스크립트화함으로써 이 책에서 설명한 디플로이먼트 등의 기본 요소를 사용해 서비스 및 해당 의존성의 업데이트 프로세스를 관리해야 한다.

어떤 배포 전략을 사용 중인지와 상관없이, 정의된 목표 배포 상태에 이르는 필수 절차를 수행하기 위해 쿠버네티스는 언제 애플리케이션 파드가 실행되는지를 반드시 알아야 한다. 다음 장에서 다룰 정상상태 점검으로 애플리케이션이 쿠버네티스와 정상상태에 대해 통신하는 방법을 설명한다.