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-Bereitstellungen in Kubernetes. Sehen Sie sich die verfügbaren Konfigurationsoptionen an, um die Bereitstellung anzupassen. Die Helm-Vorlage enthält die Eigenschaft global.platform, mit der 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, Datenstandorte 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 0.1.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, Dienstanmerkungen 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"

Nächste Schritte