단일 리전 GKE 클러스터 및 워크로드

단일 위치에서 리소스 관리에 최적화된 비용 효율적인 Google Kubernetes Engine (GKE) 클러스터와 워크로드를 만드세요. 이 가이드에서는 기본 웹 애플리케이션을 배포하는 데 사용할 수 있는 다음 템플릿을 설명합니다.

  • 단일 리전 GKE 클러스터 템플릿: 단일 리전 애플리케이션에 필요한 기본 인프라를 만듭니다. 이 템플릿은 리소스 관리에 최적화된 안전한 비공개 GKE 클러스터를 설정합니다.

  • 단일 리전 GKE 워크로드(프리뷰): 기본 웹 애플리케이션의 구성이 포함된 Helm 차트를 배포합니다. 워크로드는 CPU 부하에 따라 확장되도록 구성되어 있으며 자발적 중단 중에 애플리케이션 가용성을 보장합니다.

예를 들어 다음 비즈니스 요구사항을 해결하기 위해 클러스터 및 워크로드 템플릿을 배포할 수 있습니다.

비즈니스 요구 구현
내부 비즈니스 라인 애플리케이션 내부 애플리케이션에는 특정 리전의 엄격한 데이터 상주, 예측 가능한 내부 사용량에 대한 비용 효율성, 높은 안정성이 필요합니다. 단일 리전 배포를 사용하여 데이터 지역성을 보장합니다. 자동 확장을 사용하여 내부 사용자 수요에 대한 리소스를 효율적으로 관리합니다.
리전별 이커머스 백엔드 전자상거래 플랫폼은 지속적인 서비스를 보장하기 위해 특정 지역에서 고가용성이 필요하고, 할인 행사 기간의 트래픽 급증을 처리할 수 있는 확장성이 필요하며, 고객 거래 및 데이터를 위한 강력한 보안이 필요합니다. 멀티 영역 클러스터 구성을 만들면 리전 고가용성이 제공됩니다. 보안 부팅 구성을 사용하여 민감한 고객 데이터의 보안 태세를 강화합니다.
지역 데이터 처리 및 분석 플랫폼 대규모 데이터 세트를 처리하고 분석하는 플랫폼에는 규정 준수 및 성능을 위한 데이터 지역성, 간헐적인 일괄 작업을 위한 비용 최적화 컴퓨팅, 데이터에 대한 보안 액세스가 필요합니다. 단일 리전 배포를 사용하면 데이터가 지리적 경계 내에 유지됩니다. 대규모 처리 작업 및 유휴 기간에 맞게 리소스를 확장합니다.

아키텍처

다음 이미지는 템플릿의 구성요소와 연결을 보여줍니다.

디자인 캔버스에서 노드 풀에 연결된 클러스터

다음은 이 템플릿의 구성요소 구성을 설명합니다.

  • GKE Standard 클러스터: 워크로드가 실행되는 비용 효율적인 단일 리전 클러스터입니다.

    다음 표에서는 이 템플릿의 클러스터 구성을 설명합니다.

    구성 목적
    locationus-central1로 설정되어 있습니다. 클러스터 리소스를 단일 지리적 영역으로 제한하여 데이터 지역성을 보장하고 리전 간 데이터 전송 비용과 지연 시간을 최소화합니다.
    initial_node_count1로 설정되어 있습니다. 클러스터가 처음 프로비저닝될 때 클러스터의 기본 노드 풀에 만들 초기 노드를 정의합니다. 리전 클러스터에서는 영역당 노드 수입니다.
    release_channel{"channel":"REGULAR"}로 설정되어 있습니다. GKE 클러스터가 안정적이고 예측 가능한 업데이트를 수신하여 새로운 기능과 안정성 간의 균형을 유지합니다.
    enable_intranode_visibilitytrue로 설정되어 있습니다. 네트워크 모니터링, 문제 해결, 보안 분석에 필요한 VPC 흐름 로그에서 노드 내 트래픽의 가시성을 사용 설정합니다.
    control_plane_endpoints_config{"dns_endpoint_config":{"allow_external_traffic":true}}로 설정되어 있습니다. Virtual Private Cloud (VPC) 네트워크 외부에서 클러스터를 관리할 수 있도록 GKE 컨트롤 플레인이 공개적으로 액세스할 수 있도록 구성되어 있습니다.
  • GKE 노드 풀: 애플리케이션의 컨테이너를 실행하는 작업자 노드 그룹입니다.

    다음 표에서는 이 템플릿의 노드 풀 구성을 설명합니다.

    구성 목적
    locationus-central1로 설정되어 있습니다. 이 노드 풀이 생성된 리전을 지정합니다. 클러스터의 위치와 마찬가지로 이렇게 하면 노드 풀 리소스가 단일 지리적 영역에 있게 됩니다.
    autoscaling{"max_node_count":3, "min_node_count":1}로 설정되어 있습니다. 이 노드 풀의 클러스터 자동 확장 처리를 구성합니다. 노드 풀이 항상 하나 이상의 노드를 유지하도록 하고 비용과 리소스 소비를 제어하기 위해 상한을 3개 노드로 설정합니다.
    node_config{"machine_type":"e2-medium", "oauth_scopes":["https://www.googleapis.com/auth/cloud-platform"], "shielded_instance_config":{"enable_secure_boot":true}}로 설정되어 있습니다. 이 풀 내 노드의 그룹 구성입니다. 머신 유형은 범용 워크로드에 적합한 CPU와 메모리의 균형입니다. 서비스 계정에 부여된 액세스 권한을 정의합니다. 보안 VM 인스턴스의 보안 부팅을 사용 설정하여 부팅 수준 멀웨어로부터 보호합니다.

Helm 차트 구성

다음 표에는 GKE에 기본 웹 애플리케이션을 배포하고 확장하기 위해 맞춤설정된 Helm 차트 구성이 나와 있습니다.

구성 목적
replicaCount: 2 초기 수준의 중복성을 설정하기 위해 두 개의 초기 복제본을 만듭니다.
image.repository: gcr.io/google-samples/hello-app 기본 웹 서버 Docker 이미지를 사용합니다.
resources.requests: {"cpu": "100m", "memory": "128Mi"} 각 포드에 예약된 최소 CPU 및 메모리 양을 지정하여 사용 가능한 리소스와 효율적인 예약이 가능하도록 합니다.
hpa: {"enabled": true, "minReplicas": 2, "maxReplicas": 10, "targetCPUUtilizationPercentage": 60} 수평형 포드 자동 확장 처리를 활성화하여 CPU 사용률에 따라 포드 수를 2~10개 사이로 자동 조정하여 성능과 비용 효율성을 보장합니다.
service: {"type": "ClusterIP", "port": 80} 표준 HTTP 포트에서 클러스터 내 내부 액세스를 위해 서비스를 구성합니다.
pdb: {"enabled": true, "minAvailable": 1} 포드 중단 예산을 사용 설정하여 자발적 중단 중에 하나 이상의 복제본이 사용 가능한 상태로 유지되도록 하여 고가용성을 유지합니다.

웹 애플리케이션 만들기

단일 리전 GKE 클러스터 및 워크로드 템플릿을 사용하여 웹 애플리케이션을 배포합니다.

웹 인프라 배포

단일 리전 GKE 클러스터 템플릿을 구성하고 배포하여 웹 워크로드가 실행되는 기본 인프라를 만듭니다.

  1. 단일 리전 GKE 클러스터 템플릿을 애플리케이션으로 복제 및 배포합니다.

    선택한 배포 프로젝트에 GKE 클러스터가 생성됩니다.

  2. 구성요소를 구성합니다. 자세한 내용은 다음을 참조하세요.

  3. 배포를 클릭합니다. 몇 분 후에 애플리케이션이 배포됩니다.

  4. 애플리케이션 세부정보 패널에서 출력 탭을 클릭합니다.

  5. 애플리케이션의 cluster_id를 확인합니다. Helm 차트를 배포할 때 이 정보를 사용합니다.

웹 워크로드 배포

단일 리전 GKE 워크로드 템플릿을 사용하여 만든 클러스터에 웹 워크로드를 배포합니다. 웹 워크로드 구성이 포함된 Helm 차트를 배포합니다.

  1. Google 카탈로그 페이지의 단일 리전 GKE 워크로드 템플릿에서 새 애플리케이션 만들기를 클릭합니다.

  2. 이름 필드에 애플리케이션의 고유한 이름을 입력합니다.

  3. GKE 배포 대상 영역에서 다음을 수행합니다.

    1. 프로젝트 목록에서 단일 리전 GKE 클러스터 애플리케이션에서 GKE 클러스터를 배포한 프로젝트를 선택합니다.

    2. 리전 목록에서 GKE 클러스터를 배포한 리전을 선택합니다.

    3. 클러스터 목록에서 배포된 GKE 클러스터를 선택합니다.

    4. 네임스페이스 목록에서 GKE 클러스터를 배포한 네임스페이스를 입력합니다. 이름을 변경하지 않은 경우 default을 입력합니다.

    5. 애플리케이션 만들기를 클릭합니다.

    애플리케이션이 생성되고 구성 파일이 표시됩니다.

  4. Helm 차트 패널에서 다음을 수행합니다.

    1. 구성 세부정보를 검토합니다.

    2. 선택사항: 고유한 요구사항에 맞게 구성을 맞춤설정합니다.

    3. Helm 차트를 클러스터에 배포하려면 배포를 클릭합니다.

      자세한 단계는 애플리케이션 배포를 참고하세요.

    몇 분 후 Helm 차트 구성이 GKE 클러스터에 배포됩니다.

다음 단계