더북(TheBook)

컨테이너에서 동작하는 애플리케이션이 어떤 것인지는 아직 언급도 하지 않았다. 왜냐하면 쿠버네티스는 자신이 실행하는 애플리케이션이 어떤 것인지 따지지 않기 때문이다. 클라우드에 적합하게 마이크로서비스 아키텍처로 설계된 애플리케이션을 여러 컨테이너에 걸쳐 실행할 수도 있고, 모놀리식 아키텍처로 설계된 레거시 애플리케이션을 단일 컨테이너로 실행할 수도 있다. 또한 리눅스 애플리케이션 또는 윈도우 애플리케이션일 수도 있는데, 어떤 애플리케이션이든 그 구성을 동일한 API를 사용하는 YAML 파일로 기술하면 이들 모두를 하나의 클러스터에서 실행할 수 있다. 쿠버네티스의 가장 큰 장점은 모든 애플리케이션을 (모놀리식 아키텍처의 오래된 닷넷 또는 자바 애플리케이션이든, 새로 작성된 Node.js 또는 Go 애플리케이션이든 상관없이) 모두 똑같은 방식으로 기술하고 배포하고 관리할 수 있다는 것이다.

쿠버네티스를 사용하기 위해 알아야 할 이론은 여기까지다. 하지만 실습 예제를 시작하기 전에 먼저 지금까지 설명한 개념의 정확한 이름을 알아보자. 애플리케이션을 기술한 YAML 파일은 애플리케이션 매니페스트(application manifest)라고 한다. 이런 이름이 붙은 것은 파일 내용이 애플리케이션을 구성하는 모든 컴포넌트의 목록이기 때문이다. 그리고 쿠버네티스에서 애플리케이션을 구성하는 컴포넌트를 리소스(resource)라고 하며, 리소스 역시 여러 종류가 있다. 그림 1-4는 그림 1-3의 다이어그램에 각 리소스의 종류를 표기한 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.