Helm-Diagrammkonfiguration für Spanner Omni erstellen

In diesem Dokument wird beschrieben, wie Sie eine Helm-Konfiguration für Spanner Omni in Kubernetes erstellen.

Übersicht

Sie konfigurieren Helm-Diagramme für Spanner Omni-Deployments in Kubernetes. Sehen Sie sich die verfügbaren Konfigurationsoptionen an, um Ihre Bereitstellung anzupassen. Die Helm-Vorlage enthält das Attribut global.platform, mit dem Standardwerte für wichtige Einstellungen wie StorageClass und Dienstannotationen basierend auf der ausgewählten Plattform festgelegt werden.

Informationen dazu, wie das Helm-Chart plattformspezifische Standardwerte für Google Kubernetes Engine (GKE) und Amazon Elastic Kubernetes Service (Amazon EKS) anwendet. Diese Standardeinstellungen umfassen Konfigurationen wie Speicherklassen, Datenspeicherorte und Dienstanmerkungen. Passen Sie diese Einstellungen an Ihre spezifischen Bereitstellungsanforderungen für jede Plattform an.

Hinweis

Installieren Sie Helm, falls noch nicht geschehen.

Helm-Diagrammkonfiguration vorbereiten

So erstellen Sie eine Helm-Chart-Konfiguration:

  1. Verwenden Sie den Befehl helm show values, um die Konfigurationsoptionen für das Erstellen eines Deployments aufzurufen:

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

    In der Dokumentation zum Erstellen einer Bereitstellung wird das Flag --set verwendet, um verschiedene Optionen anzugeben. Sie können diese Optionen auch in einer YAML-Datei angeben und das Flag -f im Befehl helm verwenden. Zur einfacheren Bereitstellung enthält die Helm-Vorlage das Attribut global.platform, das die Standardwerte für StorageClass, Dienstannotationen und andere Einstellungen basierend auf der Plattform bestimmt.

  2. In der folgenden Tabelle sind die plattformspezifischen Standardwerte für Google Kubernetes Engine (GKE) und Amazon EKS zusammengefasst:

Attribut Standard Plattform
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"

Die Anzahl der Root-Server pro Zone muss eine ungerade Zahl zwischen 1 und 9 (einschließlich) sein, um die Konsistenz zu gewährleisten. Wenn die Anzahl der Server eine gerade Zahl ist, können Bereitstellungen fehlschlagen. Weisen Sie beim Konfigurieren Ihrer Zonen Server als Stammserver zu. Wir empfehlen, eine für die Entwicklung oder das Testen und drei für hochverfügbare Produktionszonen zu verwenden.

Nächste Schritte