쿠버네티스는 분산 애플리케이션을 생성, 배포, 관리하기 위한 플랫폼이다. 궁극적으로는 개별 머신에서 실행되는 하나 이상의 프로그램으로 구성되어 있다.
분산시스템 구축에 앞서, 이러한 프로그램을 포함하는 애플리케이션 컨테이너 이미지의 빌드 분산 시스템 구성방법을 고려해야 한다.
공유 라이브러리에 대한 의존성은 프로그래머의 랩톱에서 개발된 애플리케이션이 운영계 OS로 이관됐을 때 동작하지 않는 공유 라이브러리를 포함하고 있을 경우 문제를 일으킨다. 개발 및 운영 환경이 정확히 동일한 OS 버전을 공유하더라도, 개발자가 운영계에 배포하는 패키지 내에 의존관계에 있는 파일을 포함시키는 것을 잊었을 경우에도 문제가 발생할 수 있다.
불변의 이미지와 인프라 가치에 대해 주장했는데, 이 불변성은 컨테이너 이미지가 제공하는 것이다. 의존성 관리 및 캡슐화의 모든 문제를 쉽게 해결해준다.
애플리케이션 개발을 진행할 때는 다른 사람과 쉽게 공유할 수 있는 방식으로 애플리케이션을 패키징하는 것이 유용하다. 기본 컨테이너 런타임 엔진인 도커를 사용하면 실행파일을 쉽게 패키징하고, 추후에 다른 사람이 쉽게 내려 받을 수 있도록 이를 레지스트리로 푸시할 수 있다.
이러한 레지스트리를 사용해 사용자는 프라이빗 이미지를 쉽게 관리하고 배포할 수 있으며, 이미지 빌더 서비스는 지속배포 시스템과 손쉬운 통합 환경을 제공한다.
컨테이너 임지는 애플리케이션과 이에 관련된 의존성들을 루트 파일시스템에서 하나의 아티팩트로 패키징한다. 가장 많이 사용되는 컨테이너 이미지 포맷은 도커 이미지 포맷으로 OCI 오픈 컨테이너 이니티액티브에 의해 OCI 이미지 형식으로 표준화 됐다.
쿠버네티스는 도커 및 기타 런타임 환경을 제공함으로써 도커 및 OCI호환 이미지 모두를 지원한다. 도커 이미지에는 컨테이너 이미지 내용을 기반으로 실행 애플리케이션이 구동될 수 있도록 컨테이너 런타임이 사용하는 메타데이터를 포함한다.