학습 과정: 애플리케이션 확장 - 프로덕션 고려사항

이 튜토리얼 집합에서는 주요 Google Kubernetes Engine(GKE) Enterprise 버전 기능 및 서비스를 학습하는 데 집중할 수 있도록 일부 계획 고려사항이 간소화되었습니다. 이 튜토리얼 집합에 설명된 것과 비슷한 고유한 Google Kubernetes Engine(GKE) Enterprise 버전 환경을 만들기 전에 몇 가지 추가적인 계획을 고려해야 합니다. 이러한 고려사항에는 클러스터 관리 수준, 네트워킹, 가용성 유형이 포함되어 있습니다.

네트워킹

GKE 클러스터에는 신중한 IP 주소 계획이 필요합니다. 선택한 네트워킹 옵션은 GKE 클러스터의 아키텍처에 영향을 미칩니다. 이러한 옵션 중 일부는 구성 후 변경할 수 없으며, 변경하려면 클러스터를 다시 만들어야 합니다.

이 튜토리얼 집합에서는 항상 VPC 네이티브 모드 네트워킹을 사용하는 Autopilot 모드 클러스터를 사용합니다. VPC 네이티브 클러스터는 GKE 노드에서 별칭 IP 주소 범위를 사용하며 공유 VPC에서 클러스터를 만드는 데 필요합니다. VPC 기반 클러스터는 Google Cloud 경로를 사용하지 않고도 경로 기반 클러스터보다 더 쉽게 확장되므로 라우팅 제한을 초과할 가능성이 적습니다.

자체 GKE Enterprise 환경을 만들고 워크로드를 배포하기 전에 다음 네트워킹 안내를 검토하세요.

클러스터 모드

이 튜토리얼 집합에서는 Autopilot 모드를 사용하는 리전별 GKE Enterprise 클러스터를 만듭니다. Autopilot 클러스터는 프로덕션 워크로드에 사용할 수 있는 최적화된 클러스터 구성으로 사전 구성됩니다. 또는 기본 인프라에서 더 많은 고급 구성 유연성을 얻기 위해 표준 모드 클러스터를 사용할 수 있습니다.

보다 포괄적인 개요는 클러스터 구성 옵션으로 시작하는 계획 문서를 검토하세요.

네임스페이스

네임스페이스를 사용하면 애플리케이션을 구성하고 구성요소를 서로 격리할 수 있습니다. 각 네임스페이스에는 포드, 서비스, 배포와 같은 자체 리소스 집합이 있습니다. 예를 들어 모든 프런트엔드 서비스의 네임스페이스와 백엔드 서비스의 네임스페이스를 만들 수 있습니다. 이 그룹화를 사용하면 서비스를 쉽게 관리하고 액세스를 제어할 수 있습니다.

이 튜토리얼 집합에서는 Cymbal Bank 샘플 애플리케이션의 포드 및 서비스를 단일 네임스페이스에 배포합니다. 이 접근 방법은 배포 복잡성을 줄여주지만 프로덕션 환경에서와 같이 네임스페이스를 사용하여 서로 다른 팀 및 사용자에게 리소스를 할당할 수 없습니다. 또한 팀이 Fleet에서 자체 리소스를 갖고 별개의 "테넌트"로 작동할 수 있도록 Fleet, 네임스페이스, 권한을 구성하는데 도움이 되는 GKE Enterprise 팀 관리 기능도 활용할 수 없습니다. 여러 네임스페이스를 사용하는 프로덕션에 즉시 사용 가능한 보다 안전한 Cymbal Bank 샘플 애플리케이션 예시를 위해서는 Cymbal Bank 애플리케이션 아키텍처를 참조하세요.

포드 중단 예산

포드 중단 예산(PDB) 정책은 시스템을 변경할 때 포드가 동시에 작동 중지되는 것을 방지하여 앱 성능을 보장하고 복제된 애플리케이션에서 동시에 사용 불가능한 포드 수를 제한하는 데 도움이 됩니다.

이 튜토리얼 집합에서는 PDB를 구성하고 사용하지 않습니다. 장애를 시뮬레이션하는 튜토리얼을 완료하면 서비스 및 노드가 모두 예상한 대로 응답합니다. 자체 워크로드를 배포하면 노드의 PDB가 노드 드레이닝을 차단할 수 있습니다.

PDB를 사용하는 경우 노드 차단 및 드레이닝을 시도하기 전에 구성을 검토하세요. 노드가 성공적으로 드레이닝되지 않으면 예약된 유지보수 이벤트에 문제가 있을 수 있습니다.

다음 단계

마이크로서비스 기반 애플리케이션을 실행하는 단일 GKE 클러스터 배포를 위한 첫 번째 튜토리얼을 완료하여 시작합니다.