為 Spanner Omni 建立 Helm 資訊套件設定

本文說明如何為 Kubernetes 上的 Spanner Omni 建立 Helm 設定。

總覽

您會為 Kubernetes 上的 Spanner Omni 部署作業設定 Helm 資訊套件。查看可用的設定選項,自訂部署作業。Helm 範本包含 global.platform 屬性,可根據您選擇的平台,為 StorageClass 和服務註解等重要設定設定預設值。

瞭解 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.2.0
    

    建立部署作業的說明文件使用 --set 標記指定各種選項。您也可以在 YAML 檔案中指定這些選項,並在 helm 指令中使用 -f 標記。為方便部署,Helm 範本包含 global.platform 屬性,可根據平台決定 StorageClass、服務註解和其他設定的預設值。

  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"

每個區域的根伺服器數量必須是介於 1 到 9 之間的奇數 (含),以確保一致性仲裁。如果伺服器數量為偶數,部署作業可能會失敗。設定區域時,請將伺服器指定為根伺服器。建議您使用一個可用區進行開發或測試,並使用三個可用區來確保正式環境的高可用性。

後續步驟