Criar uma configuração de gráfico do Helm para o Spanner Omni

Este documento explica como criar uma configuração do Helm para o Spanner Omni no Kubernetes.

Visão geral

Você configura gráficos do Helm para implantações do Spanner Omni no Kubernetes. Analise as opções de configuração disponíveis para personalizar sua implantação. O modelo do Helm inclui uma propriedade global.platform, que define valores padrão para configurações importantes, como StorageClass e anotações de serviço, com base na plataforma escolhida.

Entenda como o gráfico do Helm aplica valores padrão específicos da plataforma para o Google Kubernetes Engine (GKE) e o Amazon Elastic Kubernetes Service (Amazon EKS). Esses padrões abrangem configurações como classes de armazenamento, locais de dados e anotações de serviço. Personalize essas configurações para se alinhar aos seus requisitos específicos de implantação em cada plataforma.

Antes de começar

Instale o Helm, caso ainda não tenha feito isso.

Preparar uma configuração de gráfico do Helm

Para criar uma configuração de gráfico do Helm, faça o seguinte:

  1. Use o comando helm show values para analisar as opções de configuração disponíveis para criar uma implantação:

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

    A documentação para criar uma implantação usa a flag --set para especificar várias opções. Você também pode especificar essas opções em um arquivo YAML e usar a flag -f no comando helm. Para facilitar a implantação, o modelo do Helm inclui a propriedade global.platform, que determina os valores padrão para StorageClass, anotações de serviço e outras configurações com base na plataforma.

  2. A tabela a seguir resume os valores padrão específicos da plataforma para o Google Kubernetes Engine (GKE) e o Amazon EKS:

Propriedade Padrão 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"

A seguir