학습 과정: 모놀리식을 GKE 앱으로 변환 - 개요


이 튜토리얼 시리즈는 Kubernetes와 Google Kubernetes Engine(GKE)을 처음 사용하는 개발자를 대상으로 합니다. 이 시리즈에서는 샘플 모놀리식 앱인 Cymbal Books를 GKE 클러스터에서 실행되는 모듈식 컨테이너화된 앱으로 변환하는 방법을 알아봅니다.

이 튜토리얼 시리즈를 시작하기 전에 Python 프로그래밍 및 웹 애플리케이션 개발에 대한 경험이 있으면 도움이 됩니다. 모든 코드가 제공되므로 직접 코드를 작성할 필요는 없지만 기본 Python 코드를 읽고 이해할 수 있으면 따라하기가 더 쉬워집니다. 또한 명령줄을 사용하여 명령어를 실행하는 데 익숙해야 합니다.Google Cloud, 컨테이너화 또는 Kubernetes를 처음 접하는 경우 걱정하지 마세요. 이 개념은 이 시리즈에서 설명됩니다.

비용

이 튜토리얼을 무료로 완료할 수 있습니다. 하지만 이 시리즈의 마지막 튜토리얼에 나온 단계를 수행하면Google Cloud 계정에 비용이 청구됩니다. GKE를 사용 설정하고 Cymbal Books 앱을 GKE 클러스터에 배포하면 비용이 청구됩니다. 이러한 비용에는 가격 책정 페이지의 설명대로 GKE의 클러스터당 요금과 Compute Engine VM 실행 요금이 포함됩니다.

불필요한 요금이 청구되지 않도록 이 튜토리얼을 완료한 후 GKE를 중지하거나 프로젝트를 삭제하세요.

앱을 컨테이너화해야 하는 이유

앱을 컨테이너화해야 하는 이유가 궁금할 수 있습니다. 다음 목록에서는 컨테이너화된 앱의 몇 가지 이점을 설명합니다.

  • 격리: 각 구성요소는 자체 컨테이너에서 독립적으로 실행됩니다. 한 구성요소를 변경하거나 업데이트해도 나머지 앱은 중단되지 않습니다.
  • 확장성: 수요에 따라 개별 구성요소를 확장할 수 있습니다. 앱의 한 부분에 부하가 많이 발생하는 경우 해당 부분만 확장할 수 있습니다. 전체 앱을 확장할 필요는 없습니다.
  • 오류 격리: 한 구성요소의 문제를 격리하며 다른 구성요소에 영향을 미치지 않습니다. 이렇게 격리하면 나머지 시스템에 영향을 주지 않고 문제를 더 쉽게 디버그하고 해결할 수 있습니다.
  • 더 빠른 개발 및 배포: 팀이 앱의 여러 구성요소를 동시에 작업할 수 있습니다. 독립적으로 개발, 테스트, 배포할 수 있으므로 개발 주기를 단축할 수 있습니다.
  • 리소스 효율성: 컨테이너는 리소스 사용량을 최적화하는 데 도움이 되므로 앱 실행 비용을 줄일 수 있습니다.
  • 여러 환경에서 일관성 유지: 각 컨테이너는 개발, 테스트, 프로덕션과 같은 여러 환경에서 동일한 방식으로 실행됩니다.

이 시리즈의 튜토리얼

이 시리즈는 다음 5개의 튜토리얼로 구성되어 있습니다.

  1. 모놀리식 이해
  2. 모놀리식 모듈화
  3. 컨테이너화를 위한 모듈식 앱 준비
  4. 모듈식 앱 컨테이너화
  5. GKE 클러스터에 앱 배포

각 튜토리얼은 이전 튜토리얼을 기반으로 하며 앱 모듈화, 컨테이너화, 배포의 주요 개념과 관행을 이해하는 데 도움이 됩니다. 이 시리즈를 마치면 GKE에서 실행되는 앱과 모듈화, 컨테이너화, Kubernetes 기본사항에 대한 확실한 이해를 갖게 됩니다.

시작하려면 모놀리식 이해를 참조하세요.