단일 위치에서 리소스 관리에 최적화된 비용 효율적인 Google Kubernetes Engine (GKE) 클러스터 및 워크로드를 만듭니다. 이 가이드에서는 기본 웹 애플리케이션을 배포하는 데 사용할 수 있는 다음 템플릿을 설명합니다.
단일 리전 GKE 클러스터 템플릿: 단일 리전 애플리케이션에 필요한 기본 인프라를 만듭니다. 이 템플릿은 리소스 관리에 최적화된 안전한 비공개 GKE 클러스터를 설정합니다.
단일 리전 GKE 워크로드 (미리보기): 기본 웹 애플리케이션의 구성이 포함된 Helm 차트를 배포합니다. 워크로드는 CPU 부하를 기반으로 확장되도록 구성되며 자발적 중단 중에 애플리케이션 가용성을 보장합니다.
예를 들어 클러스터 및 워크로드 템플릿을 배포하여 다음과 같은 비즈니스 요구사항을 해결할 수 있습니다.
| 예 | 비즈니스 요구 | 구현 |
|---|---|---|
| 내부 비즈니스 라인 애플리케이션 | 내부 애플리케이션에는 특정 리전의 엄격한 데이터 상주, 예측 가능한 내부 사용을 위한 비용 효율성, 높은 안정성이 필요합니다. | 단일 리전 배포를 사용하여 데이터 지역성을 보장합니다. 자동 확장을 사용하여 내부 사용자 수요에 맞게 리소스를 효율적으로 관리합니다. |
| 리전 전자상거래 백엔드 | 전자상거래 플랫폼에는 지속적인 서비스를 보장하기 위한 특정 리전의 고가용성, 판매 이벤트 중에 트래픽 급증을 처리하기 위한 확장성, 고객 거래 및 데이터를 위한 강력한 보안이 필요합니다. | 멀티 영역 클러스터 구성을 만들면 리전 고가용성이 제공됩니다. 보안 부팅 구성을 사용하여 민감한 고객 데이터의 보안 상태를 강화합니다. |
| 리전 데이터 처리 및 분석 플랫폼 | 대규모 데이터세트를 처리하고 분석하는 플랫폼에는 규정 준수 및 성능을 위한 데이터 지역성, 간헐적인 일괄 작업을 위한 비용 최적화된 컴퓨팅, 데이터에 대한 보안 액세스가 필요합니다. | 단일 리전 배포를 사용하면 데이터가 지리적 경계 내에 유지됩니다. 대규모 처리 작업 및 유휴 기간에 맞게 리소스를 확장합니다. |
아키텍처
다음 이미지는 템플릿의 구성요소와 연결을 보여줍니다.
다음은 이 템플릿의 구성요소 구성을 설명합니다.
GKE Standard 클러스터: 워크로드가 실행되는 비용 효율적인 단일 리전 클러스터입니다.
다음 표에서는 이 템플릿의 클러스터 구성을 설명합니다.
구성 목적 location이us-central1로 설정되어 있습니다.클러스터 리소스를 단일 지리적 영역으로 제한하여 데이터 지역성을 보장하고 리전 간 데이터 전송 비용과 지연 시간을 최소화합니다. initial_node_count가1로 설정되어 있습니다.클러스터가 처음 프로비저닝될 때 클러스터의 기본 노드 풀에 만들 초기 노드를 정의합니다. 리전 클러스터에서는 영역당 노드 수입니다. release_channel이{"channel":"REGULAR"}로 설정되어 있습니다.GKE 클러스터가 안정적이고 예측 가능한 업데이트를 수신하도록 보장하여 새로운 기능과 안정성 간의 균형을 제공합니다. enable_intranode_visibility가true로 설정되어 있습니다.네트워크 모니터링, 문제 해결, 보안 분석에 필요한 VPC 흐름 로그에서 노드 내 트래픽의 가시성을 사용 설정합니다. control_plane_endpoints_config가{"dns_endpoint_config":{"allow_external_traffic":true}}로 설정되어 있습니다.GKE 컨트롤 플레인은 Virtual Private Cloud (VPC) 네트워크 외부에서 클러스터를 관리할 수 있도록 공개적으로 액세스할 수 있도록 구성됩니다. GKE 노드 풀: 애플리케이션의 컨테이너를 실행하는 워커 노드 그룹입니다.
다음 표에서는 이 템플릿의 노드 풀 구성을 설명합니다.
구성 목적 location이us-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 클러스터 템플릿을 구성하고 배포하여 웹 워크로드가 실행되는 기본 인프라를 만듭니다.
복제 및 배포하여 단일 리전 GKE 클러스터 템플릿을 애플리케이션으로 사용합니다.
선택한 배포 프로젝트에 GKE 클러스터가 생성됩니다.
구성요소를 구성합니다. 자세한 내용은 다음을 참조하세요.
배포 를 클릭합니다. 몇 분 후에 애플리케이션이 배포됩니다.
애플리케이션 세부정보 패널에서 출력 탭을 클릭합니다.
애플리케이션의 cluster_id 를 확인합니다. Helm 차트를 배포할 때 이 정보를 사용합니다.
웹 워크로드 배포
단일 리전 GKE 워크로드 템플릿을 사용하여 만든 클러스터에 웹 워크로드를 배포합니다. 웹 워크로드 구성이 포함된 Helm 차트를 배포합니다.
Google 카탈로그 페이지의 단일 리전 GKE 워크로드 템플릿에서 새 애플리케이션 만들기 를 클릭합니다.
이름 필드에 애플리케이션의 고유한 이름을 입력합니다.
GKE 배포 대상 영역에서 다음을 수행합니다.
프로젝트 목록에서 단일 리전 GKE 클러스터 애플리케이션에서 GKE 클러스터를 배포한 프로젝트를 선택합니다.
리전 목록에서 GKE 클러스터를 배포한 리전을 선택합니다.
클러스터 목록에서 배포된 GKE 클러스터를 선택합니다.
네임스페이스 목록에서 GKE 클러스터를 배포한 네임스페이스를 입력합니다. 이름을 변경하지 않은 경우
default를 입력합니다.애플리케이션 만들기 를 클릭합니다.
애플리케이션이 생성되고 구성 파일이 표시됩니다.
Helm 차트 패널에서 다음을 수행합니다.
구성 세부정보를 검토합니다.
(선택사항) 고유한 요구사항을 충족하도록 구성을 맞춤설정합니다.
클러스터에 Helm 차트를 배포하려면 배포 를 클릭합니다.
자세한 단계는 애플리케이션 배포를 참조하세요.
몇 분 후에 Helm 차트 구성이 GKE 클러스터에 배포됩니다.
다음 단계
- 템플릿을 복제하고 맞춤설정하는 방법은 빠른 시작: Google 템플릿 맞춤설정 및 배포를 참조하세요.
- 애플리케이션 템플릿을 설계하여 자체 구성을 정의합니다.
- 아키텍처 프레임워크를 사용하여 일반적인 아키텍처 권장사항을 확인합니다.Google Cloud