쿠버네티스 이해하기
쿠버네티스는 컨테이너를 실행하는 플랫폼이다. 컨테이너화된 애플리케이션의 시작, 롤링 업데이트, 서비스 수준 유지, 수요에 따른 스케일링, 보안 접근 등 다양한 기능을 제공한다.
쿠버네티스의 두 가지 핵심 개념은 애플리케이션 정의에 사용되는
API
와 애플리케이션이 실제로 동작하는 클러스터
다.쿠버네티스 클러스터의 목적은 애플리케이션을 실행하는 것이다. YAML 파일에 애플리케이션을 기술하고 이 파일을 쿠버네티스 API에 전달하면, 쿠버네티스가 파일에 기술된 애플리케이션 구성을 이해하고 클러스터 현재 상태와 비교한다.
쿠버네티스가 관리하는 것은 컨테이너 뿐이 아닌 분산 데이터베이스가 들어있다. 이 분산 데이터베이스에는 애플리케이션 구성 정보는 물론이고 API 키나 데이터베이스 접속 패스워드 같은 비밀값도 함께 저장할 수 있다. 쿠버네티스는 이들 정보를 자연스럽게 컨테이너에 전달해준다.
쿠버네티스는 스토리지도 제공한다. 이를 이용하여 컨테이너 외부에 데이터를 저장할 수 있으며 유상태 애플리케이션이라도 고가용성을 확보할 수 있다.
애플리케이션을 기술한 YAML 파일은 애플리케이션 매니페스트 라고 한다.