Google Kubernetes Engine(GKE) 배포 모델은 Kubernetes에서 자체 자동 확장 처리의 인프라와 구성을 자체 관리하려는 독립적인 팀에 적합합니다.
이 문서는 다음을 포함하는 시리즈의 일부입니다.
이 시리즈는 운영 오버헤드를 줄이고 Spanner 배포 비용을 최적화하려는 IT, 운영, 사이트 안정성 엔지니어링(SRE) 팀을 대상으로 합니다.
GKE 배포에는 다음과 같은 장점과 단점이 있습니다.
장점:
- Kubernetes 기반: Cloud Run Functions와 같은 서비스를 사용할 수 없는 팀의 경우 Kubernetes에 배포하면 자동 확장 처리를 사용할 수 있습니다.
- 구성: 니즈에 따라 자동 확장 처리를 적용할 수 있는 최고 권한을 부여하는 Spanner 인스턴스를 소유한 팀에서 스케줄러 파라미터를 제어합니다.
단점:
- 인프라: Cloud Run Functions 설계와 달리 일부 장기 실행 인프라와 서비스가 필요합니다.
- 유지보수: 각 팀에서 자동 확장 처리 구성과 인프라를 담당하므로 회사 전체의 모든 자동 확장 처리가 같은 업데이트 가이드라인을 따르게 하기가 어려워질 수 있습니다.
- 감사: 각 팀의 제어 수준이 높으므로 중앙 집중식 감사가 더 복잡해질 수 있습니다.
이 페이지에서는 요구사항에 따라 GKE에 자동 확장 처리를 배포하는 두 가지 방법을 소개합니다.
- 분리된 배포 토폴로지. 분리된 배포 모델의 장점은 Poller 및 Scaler 구성요소가 별도의 서비스 계정으로 실행되도록 이러한 구성요소에게 개별 권한을 할당할 수 있다는 점입니다. 즉, 니즈에 맞게 두 구성요소를 유연하게 관리하고 확장할 수 있습니다. 그러나 이 배포 모델을 사용하려면 Scaler 구성요소를 리소스를 소비하는 장기 실행 서비스로 배포해야 합니다.
- 통합 배포 토폴로지. 통합 배포 모델의 장점은 Poller 및 Scaler 구성요소를 Kubernetes 크론 작업으로 실행되는 단일 포드로 배포할 수 있다는 점입니다. 두 구성요소가 단일 포드로 배포되면 장기 실행 구성요소가 없으며 단일 서비스 계정만 있으면 됩니다.
대부분의 사용 사례에서는 통합 배포 모델을 사용하는 것이 좋습니다.
구성
자동 확장 처리 도구는 Kubernetes ConfigMap
에 정의된 구성을 통해 Spanner 인스턴스를 관리합니다.
Spanner 인스턴스 여러 개를 동일한 간격으로 폴링해야 하는 경우에는 같은 ConfigMap
에서 이러한 인스턴스를 구성하는 것이 좋습니다. 다음은 구성 하나로 Spanner 인스턴스 2개를 관리하는 구성의 예시입니다.
apiVersion: v1
kind: ConfigMap
metadata:
name: autoscaler-config
namespace: spanner-autoscaler
data:
autoscaler-config.yaml: |
---
- projectId: spanner-autoscaler-test
instanceId: spanner-scaling-linear
units: NODES
minSize: 5
maxSize: 30
scalingMethod: LINEAR
- projectId: spanner-autoscaler-test
instanceId: spanner-scaling-threshold
units: PROCESSING_UNITS
minSize: 100
maxSize: 3000
metrics:
- name: high_priority_cpu
regional_threshold: 40
regional_margin: 3
인스턴스에 일반 작업을 위한 선형 방법이 포함된 자동 확장 처리 구성 하나가 있을 수 있지만 계획된 일괄 워크로드에 대한 직접식 방법이 있는 또 다른 자동 확장 처리 구성이 있을 수도 있습니다. Poller README
파일에서 전체 구성 옵션 목록을 참조하세요.
GKE에 배포
분리된 배포 모델이나 통합된 배포 모델에서 자동 확장 처리를 GKE에 배포하는 방법은 GKE 배포 단계별 가이드를 참조하세요.
다음 단계
- Cloud Run Functions에 자동 확장 처리 도구를 배포하는 방법 알아보기
- Spanner 권장 기준에 대해 자세히 알아보기
- Spanner CPU 사용률 측정항목 및 지연 시간 측정항목 자세히 알아보기
- 핫스팟을 방지하고 Spanner에 데이터를 로드하기 위한 Spanner 스키마 설계 권장사항 알아보기
- Google Cloud에 대한 참조 아키텍처, 다이어그램, 권장사항 살펴보기 Cloud 아키텍처 센터 살펴보기