Questo documento spiega come creare una configurazione Helm per Spanner Omni su Kubernetes.
Panoramica
Configuri i grafici Helm per i deployment Spanner Omni su Kubernetes.
Rivedi 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 del 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 coprono configurazioni come classi di archiviazione, posizioni dei dati e annotazioni dei servizi. Personalizza queste impostazioni in base ai requisiti di implementazione specifici per ogni piattaforma.
Prima di iniziare
Se non l'hai ancora fatto, installa Helm.
Prepara una configurazione del grafico Helm
Per creare una configurazione del grafico Helm:
Utilizza il comando
helm show valuesper 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.0La documentazione per la creazione di un deployment utilizza il flag
--setper specificare varie opzioni. Puoi anche specificare queste opzioni in un file YAML e utilizzare il flag-fnel comandohelm. Per semplificare il deployment, il modello Helm include la proprietàglobal.platform, che determina i valori predefiniti perStorageClass, le annotazioni del servizio e altre impostazioni in base alla piattaforma.La tabella seguente riepiloga i valori predefiniti specifici della piattaforma per Google Kubernetes Engine (GKE) e Amazon EKS:
| Proprietà | Predefinito | Piattaforma | |
|---|---|---|---|
| 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" |
Il numero di server radice per zona deve essere un numero dispari compreso tra 1 e 9 inclusi, per garantire il quorum per la coerenza. Se il numero di server è pari, i deployment potrebbero non riuscire. Quando configuri le zone, designa i server come server radice. Ti consigliamo di utilizzarne una per lo sviluppo o i test e tre per le zone di produzione ad alta disponibilità.
Passaggi successivi
Scopri come utilizzare un grafico Helm per creare un deployment multicluster su Kubernetes per Spanner Omni.
Scopri come utilizzare un grafico Helm per creare un deployment su Kubernetes per Spanner Omni.