为 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.1.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 之间的奇数(含 1 和 9),以确保仲裁一致性。如果服务器数量是偶数,部署可能会失败。配置可用区时,请将服务器指定为根服务器。我们建议您在开发或测试时使用 1 个根服务器,在具有高可用性的生产可用区中使用 3 个根服务器。

后续步骤