불변성은 클러스터에서 실행되는 컨테이너를 넘어 쿠버네티스에서 애플리케이션을 기술하는 방식으로 확장할 수 있다. 쿠버네티스의 모든 구성요소는 시스템의 원하는 상태를 나타내는 선언형 컨피규레이션 객체다. 실제 상태와 원하는 상태를 일치시켜주는 것이 쿠버네티스의 역할이다.

선언형 컨피규레이션은 명령형 컨피규레이션과 대비된다. 즉, 명령형 컨피규레이션에서 실제 상태는 원하는 상태의 선언이 아닌 일련의 명령문 실행으로 정의된다. 명령형 커맨드는 동작을 정의하는 반면, 선언형 컨피규레이션은 상태를 정의한다.

선언형 컨피규레이션의 경우 실제 상태를 기술하고 있기 때문에, 이를 이해하기 위해 실행할 필요가 없다. 또한 컨피규레이션의 영향이 구체적으로 선언된다.

선언형 컨피규레이션은 실행하기 전에 영향도를 확인할 수 있기 때문에, 에러 발생 가능성이 훨씬 더 적다. 더욱이 명령형 명령으로 불간으한 방법으로 소스 제어, 코드 리뷰, 단위 테스트 같은 전통적인 소프트웨어 개발 도구를 선언형 컨피규레이션에 사용할 수 있다. 소스 제어 시스템에 선언형 컨피규레이션을 저장하는 아이디어는 종종 인스터럭쳐 에즈 코드 IAC라고 불린다.

버전 관리 시스템에 저장된 선억적 상태와 쿠버네티스가 현재 상태를 이 선언적 상태에 일치 시키려고 하는 기능의 결합을 통해 변경에 대한 롤백을 매우 쉽고 간단하게 할 수 있다.

단순히 시스템의 이전 선언 상태를 언급하기만 하면 된다.