선언적 배포 패턴의 핵심은 쿠버네티스의 디플로이먼트 자원이다. 디플로이먼트는 컨테이너 그룹의 업그레이드 및 롤백 프로세스를 캡슐화하며 컨테이너 그룹을 반복적이고 자동화된 동작으로 실행할 수 있다.
셀프 서비스 방식으로 네임스페이스로 격리된 환경을 제공할 수 있으며, 스케쥴러를 통해 사용자 개입을 최소화하면서 서비스를 배포할 수 있다. 그러나 마이크로서비스 수가 증가하면 새로운 버전을 지속적으로 업데이트하고 교체하는 것도 부담이 커지게 된다.
다음 버전으로 서비스 업그레이드는 새로운 버전의 파드를 시작하기, 이전 버전의 파드를 안전하게 중지하기, 새로운 파드가 성공적으로 시작되었는지 대기 및 확인하기, 실패할 경우 이전 버전으로 롤백하기 등의 동작을 포함한다.
이러한 동작은 일부 다운타임은 허용하나 동시에 여러 서비스 버전을 실행하지 않는 경우, 또는 다운타임은 없으나 업데이트가 진행되는 동안 두 버전의 서비스가 함께 실행되기 때문에 자원 사용이 증가하는 경우, 둘 중 하나의 방식으로 수행된다.
이러한 단계를 수동으로 수행하다 보면 작업자에 의한 오류가 발생할 수 있고, 적합한 스크립트를 만드는 것도 많은 노력이 필요하게 되어, 두 방법 모두 릴리스 프로세스에 병목 현상을 야기한다.