소개

완료됨

Azure Pipelines를 사용하여 Docker 컨테이너 배포 자동화에 설명된 지침에 따라 릴리스 파이프라인을 향상시켜 ASP.NET Core 애플리케이션을 Docker 컨테이너로 빌드하고 게시한 다음 Azure 앱 Service에 배포할 수 있었습니다. 컨테이너 기반 프로젝트로 마이그레이션하면 제품 팀에 많은 이점이 있습니다. 또한 컨테이너 기술의 채택은 미래를 위해 다양하고 혁신적인 기회를 실현할 수 있는 잠재력을 가집니다.

개발 조직이 확장되면 제공하는 솔루션의 복잡성도 증가합니다. 다양한 제품과 서비스가 상호 의존적으로 변함에 따라 지정된 애플리케이션 내의 다양한 구성 요소에 대해 다양한 개발 및 운영 요구 사항이 발생합니다. 아키텍처 효율성을 향상시키는 한 가지 방법은 해당 구성 요소를 별도의 마이크로 서비스로 리팩터링하는 것입니다.

마이크로 서비스는 독립형이며 특정 비즈니스 기능을 충족하도록 설계된 소규모의 독립형 서비스입니다. 컨테이너는 이러한 서비스를 빌드하고 배포하기 위한 훌륭한 기술 기반을 제공하지만, 사용 중인 이러한 컨테이너를 어떻게 관리해야 하는지에 대한 새로운 질문이 발생합니다.

이것이 바로 Kubernetes와 같은 오케스트레이션 기술이 유용할 수 있는 곳입니다. Kubernetes는 컨테이너화된 워크로드 및 서비스의 관리를 위해 설계된 플랫폼입니다. 다양한 환경에서 배포, 통합 및 모니터링해야 하는 컨테이너 수가 증가하는 조직에 적합합니다.

이 모듈에서는 Tailspin Toys 웹 팀의 일원이 되어 Azure에서 Kubernetes를 사용하는 한 가지 방법을 살펴보게 됩니다. 여러 Docker 컨테이너를 빌드, 게시하고 Kubernetes 클러스터에 배포하도록 릴리스 파이프라인을 업데이트하는 방법을 알아봅니다.

이 모듈에서는 컨테이너 앱을 빌드하고 배포하는 데 필요한 핵심 태스크에 중점을 두지만 Azure Pipelines의 다른 모든 기능을 Kubernetes에 대한 컨테이너 배포에 계속 사용할 수 있다는 사실을 이해하는 것이 중요합니다. 기존 애플리케이션에서와 마찬가지로 테스트를 통합하고, 여러 단계를 정의하고, 다른 작업을 할 수 있습니다. 이 모듈에서는 본래 목적에 집중하기 위해 해당 작업에 대한 설명은 생략하겠습니다.

학습 목표

이 모듈을 완료한 후에는 다음을 수행할 수 있습니다.

  • Kubernetes의 이점 및 사용하는 경우
  • Kubernetes 클러스터를 지원하는 Azure 리소스 만들기
  • Kubernetes 클러스터에 여러 Docker 컨테이너를 빌드, 게시 및 배포하도록 기본 릴리스 파이프라인 업데이트
  • 프로젝트의 빌드, 릴리스, 배포 모니터링

필수 구성 요소

이 학습 경로의 모듈은 진행 과정을 구성합니다. 처음부터 이 시리즈의 진행 상황을 따르려면 Azure DevOps 시작Azure DevOps로 애플리케이션 빌드 학습 경로를 완료합니다.

처음부터 이 학습 경로를 시작하려면 Azure DevOps를 사용하여 애플리케이션 배포 링크를 따릅니다. 이 모듈은 Azure Pipelines를 사용하여 Docker 컨테이너 배포 자동화가 중단된 지점에서 시작됩니다.

또한 이 모듈에서는 Kubernetes에 대한 기본적인 지식이 있다고 가정합니다. 그렇다고 해서 모듈을 완료하는 데 해당 지식이 반드시 필요하지는 않습니다. 이 항목을 처음 접하는 경우 먼저 Azure 학습 경로에서 컨테이너 관리 학습 경로를 완료하는 것이 좋습니다.

참고 항목

Azure Pipelines는 다양한 언어 및 애플리케이션 유형을 지원합니다. 이 모듈에서는 .NET 애플리케이션을 사용하지만 여기에서 학습한 패턴을 즐겨 사용하는 프로그래밍 언어 및 프레임워크를 사용하는 고유한 프로젝트에 적용할 수 있습니다.

팀 소개

이전 모듈에서는 Tailspin Toys의 Space Game 웹 팀을 만났습니다. 이 모듈에서는 Space Game 웹 팀이 다시 등장합니다.

Cartoon depiction of Andy.

Andy는 개발 책임자입니다.

Cartoon depiction of Amita.

Amita는 QA를 담당합니다.

Cartoon depiction of Tim.

Tim은 운영을 담당합니다.

Cartoon depiction of Mara.

Mara는 최근에 개발자로 합류했으며 Andy의 부하 직원입니다.

Mara는 이전에 DevOps를 사용해 본 경험이 있으며, 팀에서 Azure DevOps를 사용하는 더욱 자동화된 프로세스를 도입하도록 돕고 있습니다.