Crea una configuración de gráfico de Helm para Spanner Omni

En este documento, se explica cómo crear una configuración de Helm para Spanner Omni en Kubernetes.

Descripción general

Configurarás gráficos de Helm para las implementaciones de Spanner Omni en Kubernetes. Revisa las opciones de configuración disponibles para personalizar tu implementación. La plantilla de Helm incluye una propiedad global.platform, que establece valores predeterminados para parámetros de configuración clave, como StorageClass y anotaciones de servicio, según la plataforma que elijas.

Comprende cómo el gráfico de Helm aplica valores predeterminados específicos de la plataforma para Google Kubernetes Engine (GKE) y Amazon Elastic Kubernetes Service (Amazon EKS). Estos valores predeterminados abarcan configuraciones como clases de almacenamiento, ubicaciones de datos y anotaciones de servicio. Personaliza estos parámetros de configuración para que se alineen con los requisitos de implementación específicos de cada plataforma.

Antes de comenzar

Si aún no lo hiciste, instala Helm.

Prepara una configuración del gráfico de Helm

Para crear una configuración de gráfico de Helm, haz lo siguiente:

  1. Usa el comando helm show values para revisar las opciones de configuración disponibles para crear una implementación:

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

    La documentación para crear una implementación usa la marca --set para especificar varias opciones. También puedes especificar estas opciones en un archivo YAML y usar la marca -f en el comando helm. Para facilitar la implementación, la plantilla de Helm incluye la propiedad global.platform, que determina los valores predeterminados para StorageClass, las anotaciones de servicio y otros parámetros de configuración según la plataforma.

  2. En la siguiente tabla, se resumen los valores predeterminados específicos de la plataforma para Google Kubernetes Engine (GKE) y Amazon EKS:

Propiedad Predeterminado Plataforma
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"

¿Qué sigue?