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

Google Kubernetes Engine (GKE) 배포 모델은 Kubernetes에서 자체 자동 확장 프로그램의 인프라와 구성을 자체 관리하려는 독립적인 팀에 적합합니다.

이 문서는 다음을 포함하는 시리즈의 일부입니다.

이 시리즈는 운영 오버헤드를 줄이고 Spanner 배포 비용을 최적화하려는 IT, 운영, 사이트 안정성 엔지니어링(SRE) 팀을 대상으로 합니다.

GKE 배포에는 다음과 같은 장단점이 있습니다.

장점:

  • Kubernetes 기반: Cloud Run 함수와 같은 서비스를 사용할 수 없는 팀의 경우 Kubernetes에 배포하면 자동 확장 처리를 사용할 수 있습니다.
  • 구성: 스케줄러 매개변수에 대한 제어는 Spanner 인스턴스를 소유한 팀에 속하므로 팀이 필요에 따라 자동 확장 처리를 가장 자유롭게 조정할 수 있습니다.

단점:

  • 인프라: Cloud Run 함수 설계와 비교하여 일부 장기 실행 인프라와 서비스가 필요합니다.
  • 유지보수: 각 팀이 자동 확장 처리 구성과 인프라를 담당하므로 회사 전체의 모든 자동 확장 처리 도구가 동일한 업데이트 가이드라인을 따르게 하기가 어려울 수 있습니다.
  • 감사: 각 팀의 제어 수준이 높기 때문에 중앙 집중식 감사가 더 복잡해질 수 있습니다.

이 페이지에서는 요구사항에 따라 GKE에 자동 확장기를 배포하는 두 가지 방법을 소개합니다.

  • 분리된 배포 토폴로지입니다. 분리된 배포 모델의 장점은 폴러 및 스케일러 구성요소가 별도의 서비스 계정으로 실행되도록 개별 권한을 할당할 수 있다는 점입니다. 즉, 필요에 따라 두 구성요소를 유연하게 관리하고 확장할 수 있습니다. 그러나 이 배포 모델에서는 확장기 구성요소를 리소스를 소비하는 장기 실행 서비스로 배포해야 합니다.
  • 통합 배포 토폴로지입니다. 통합 배포 모델의 장점은 폴러 및 스케일러 구성요소를 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 배포 단계별 가이드를 참고하세요.

다음 단계