为 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 1.0.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 之间(含边界值)的奇数,以确保一致性的法定人数。如果服务器数量为偶数,部署可能会失败。配置区域时,将服务器指定为根服务器。我们建议您使用一个用于开发或测试,使用三个用于高可用性生产区域。

后续步骤