Crea una configurazione del grafico Helm per Spanner Omni

Questo documento spiega come creare una configurazione Helm per Spanner Omni su Kubernetes.

Panoramica

Configura i grafici Helm per i deployment di Spanner Omni su Kubernetes. Esamina le opzioni di configurazione disponibili per personalizzare il deployment. Il modello Helm include una proprietà global.platform, che imposta i valori predefiniti per le impostazioni chiave come StorageClass e le annotazioni di servizio in base alla piattaforma scelta.

Scopri in che modo il grafico Helm applica i valori predefiniti specifici della piattaforma per Google Kubernetes Engine (GKE) e Amazon Elastic Kubernetes Service (Amazon EKS). Questi valori predefiniti riguardano configurazioni come le classi di archiviazione, le località dei dati e le annotazioni di servizio. Personalizza queste impostazioni in base ai requisiti di deployment specifici per ogni piattaforma.

Prima di iniziare

Se non l'hai ancora fatto, installa Helm.

Preparare una configurazione del grafico Helm

Per creare una configurazione del grafico Helm:

  1. Utilizza il comando helm show values per esaminare le opzioni di configurazione disponibili per la creazione di un deployment:

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

    La documentazione per la creazione di un deployment utilizza il flag --set per specificare varie opzioni. Puoi anche specificare queste opzioni in un file YAML e utilizzare il flag -f nel comando helm. Per semplificare il deployment, il modello Helm include la proprietà global.platform, che determina i valori predefiniti per StorageClass, le annotazioni di servizio e altre impostazioni in base alla piattaforma.

  2. La tabella seguente riassume i valori predefiniti specifici della piattaforma per Google Kubernetes Engine (GKE) e Amazon EKS:

Proprietà Predefinito Piattaforma
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"

Passaggi successivi