GKE에 자동 확장 처리 도구 배포

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 배포 단계별 가이드를 참조하세요.

다음 단계