Spanner Omni의 Helm 차트 구성 만들기

이 문서에서는 Kubernetes에서 Spanner Omni의 Helm 구성을 만드는 방법을 설명합니다.

개요

Kubernetes에서 Spanner Omni 배포를 위한 Helm 차트를 구성합니다. 사용 가능한 구성 옵션을 검토하여 배포를 맞춤설정합니다. Helm 템플릿에는 선택한 플랫폼을 기반으로 StorageClass 및 서비스 주석과 같은 주요 설정의 기본값을 설정하는 global.platform 속성이 포함되어 있습니다.

Helm 차트가 Google Kubernetes Engine (GKE) 및 Amazon Elastic Kubernetes Service (Amazon EKS)에 플랫폼별 기본값을 적용하는 방법을 이해합니다. 이러한 기본값은 스토리지 클래스, 데이터 위치, 서비스 주석과 같은 구성을 포함합니다. 각 플랫폼의 특정 배포 요구사항에 맞게 이러한 설정을 맞춤설정합니다.

시작하기 전에

아직 Helm을 설치하지 않았다면 설치합니다.

Helm 차트 구성 준비

Helm 차트 구성을 만들려면 다음 단계를 따르세요.

  1. helm show values 명령어를 사용하여 배포를 만드는 데 사용할 수 있는 구성 옵션을 검토합니다.

    helm show values oci://us-docker.pkg.dev/spanner-omni/charts/spanner-omni --version 0.1.0
    

    배포를 만드는 문서에서는 --set 플래그를 사용하여 다양한 옵션을 지정합니다. YAML 파일에서 이러한 옵션을 지정하고 helm 명령어에서 -f 플래그를 사용할 수도 있습니다. 배포를 용이하게 하기 위해 Helm 템플릿에는 플랫폼을 기반으로 StorageClass, 서비스 주석, 기타 설정의 기본값을 결정하는 global.platform 속성이 포함되어 있습니다.

  2. 다음 표에는 Google Kubernetes Engine (GKE) 및 Amazon EKS의 플랫폼별 기본값이 요약되어 있습니다.

속성 기본값 플랫폼
GKE Amazon EKS
storageClasses - name: my_sc
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
- name: hyperdisk-balanced-rwo
provisioner: pd.csi.storage.gke.io
parameters:
  type: hyperdisk-balanced
- name: aws-gp3
provisioner: ebs.csi.aws.com
parameters:
  type: gp3
- name: aws-standard
provisioner: ebs.csi.aws.com
parameters:
  type: standard
locations - name: us
namespace: ""
zones:
- name: "us-a"
shortName: "a"
replicas: 1
rootServers: 1
singleServer: true
- name: "us-b"
shortName: "b"
- name: "us-c"
shortName: "c"
- name: us-east1
zones:
- name: us-east1-b
shortName: a
- name: us-east1-c
shortName: b
- name: us-east1-d
shortName: c
- name: us-east-1
zones:
- name: us-east-1a
shortName: a
- name: us-east-1c
shortName: b
- name: us-east-1d
shortName: c
dataStorageClass <default> premium-rwo aws-gp3
logsStorageClass <default> standard-rwo aws-standard
serviceAnnotations null networking.gke.io/load-balancer-type: "Internal"
networking.gke.io/internal-load-balancer-allow-global-access: "true"
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: "ip"
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"

다음 단계