소개
옷과 선물을 판매하는 Contoso 아웃도어 회사에서 소프트웨어 개발자로 새 일을 시작했다고 가정해 보겠습니다. 사업이 잘되고 있는 Contoso는 최근 아이템 재고가 있는지 여부를 나타내는 웹 사이트를 Docker 컨테이너에서 호스트되는 마이크로 서비스로 리팩토링했습니다.
마이크로 서비스 기반 개발 접근 방식에서 각 마이크로 서비스는 개발 및 배포 관점에서 다른 마이크로 서비스로부터 자율적으로 사용할 수 있도록 모델과 데이터를 소유합니다. 컨테이너 내에서 마이크로 서비스를 호스트하는 것은 이를 위한 일반적인 방법입니다. 이러한 종류의 시스템은 스케일 아웃 및 관리가 복잡합니다. 많은 컨테이너를 구성, 추가, 제거 및 업데이트하는 프로세스를 고려해야 합니다. 이 프로세스를 컨테이너 관리라고 합니다.
예를 들어, 하루 중 특정 시간에 캐싱을 처리하는 컨테이너 인스턴스의 수를 늘려야 할 수 있습니다. 또는 상품 인벤토리를 확인하는 컨테이너 인스턴스에 대한 업데이트가 있을 수도 있습니다.
컨테이너 관리 작업을 위해 컨테이너 오케스트레이터를 사용할 수 있습니다. Kubernetes는 이러한 오케스트레이터 중 하나입니다. 컨테이너화된 워크로드를 관리하고 오케스트레이션하기 위한 확장성 있는 오픈 소스 플랫폼입니다.
이 모듈에서는 Kubernetes와 Kubernetes가 해결하는 문제, .NET 웹 API, 웹앱을 Kubernetes 클러스터에 배포하는 방법에 대해 설명합니다.
학습 목표
이 모듈에서는 다음을 수행합니다.
- 오케스트레이터의 개념과 오케스트레이터가 필요한 이유를 알아보세요.
- Docker 컨테이너에서 호스트되는 기존 .NET 마이크로 서비스를 Docker Hub로 푸시합니다.
- Docker Hub에서 로컬 Kubernetes 인스턴스에 마이크로 서비스를 배포합니다.
- Kubernetes 클러스터에서 컨테이너 인스턴스를 스케일링하는 방법을 알아봅니다.