本文档介绍了如何在 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 图表配置,请执行以下操作:
使用
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、服务注解和其他设置的默认值。下表总结了 Google Kubernetes Engine (GKE) 和 Amazon EKS 的平台专用默认值:
| 属性 | 默认 | 平台 | |
|---|---|---|---|
| GKE | Amazon EKS | ||
storageClasses |
- name: my_scprovisioner: kubernetes.io/no-provisionervolumeBindingMode: WaitForFirstConsumer |
- name: hyperdisk-balanced-rwoprovisioner: pd.csi.storage.gke.ioparameters: type: hyperdisk-balanced |
- name: aws-gp3provisioner: ebs.csi.aws.comparameters: type: gp3- name: aws-standardprovisioner: ebs.csi.aws.comparameters: type: standard |
locations |
- name: usnamespace: ""zones:- name: "us-a"shortName: "a"replicas: 1rootServers: 1singleServer: true- name: "us-b"shortName: "b"- name: "us-c"shortName: "c" |
- name: us-east1zones:- name: us-east1-bshortName: a- name: us-east1-cshortName: b- name: us-east1-dshortName: c |
- name: us-east-1zones:- name: us-east-1ashortName: a- name: us-east-1cshortName: b- name: us-east-1dshortName: 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 个根服务器。
后续步骤
了解如何使用 Helm 图表来 在 Kubernetes 上为 Spanner Omni 创建多集群部署。