2.3 애플리케이션 매니페스트에 배포 정의하기
애플리케이션 매니페스트는 쿠버네티스의 가장 매력적인 기능이다. 하지만 그만큼 배우기 어려운 기능이기도 하다. 애플리케이션 배포 오류의 원인을 찾기 위해 수백 줄짜리 YAML 스크립트를 뒤적이다 보면, 쿠버네티스 API는 사용자를 헷갈리게 하려고 만든 것이 아닌가 싶다. 이런 생각이 든다면 이 스크립트는 우리 애플리케이션을 속속들이 기술하는 것이 목적임을 떠올리자. 이 스크립트는 형상 관리 도구를 사용하여 버전 관리를 할 수 있으며, 다른 쿠버네티스 클러스터로 옮기더라도 동일한 배포가 가능하다.
매니페스트는 JSON 또는 YAML 포맷으로 작성할 수 있다. 쿠버네티스 API의 정식 스크립트 포맷은 JSON이지만, 매니페스트를 작성할 때는 가독성이 더 뛰어나고 파일 하나에 더 많은 리소스를 정의할 수 있는 YAML을 많이 쓴다. 무엇보다 YAML에는 주석을 작성할 수 있다는 큰 장점이 있다. 예제 2-1은 간단한 애플리케이션의 매니페스트 스크립트다. 우리가 앞서 실행했던 애플리케이션을 실행하는 단일 파드가 정의되어 있다.