Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Konfigurieren der Autoskalierung für Datenservices und Routen

Availability-noteBeta

Konfigurieren Sie horizontale Pod-Autoskalierung (HPA) für Datenservices und Routen in einer Dynamic Engine-Umgebung.

InformationshinweisAnmerkung: Diese Vorgehensweise gilt nur für Bereitstellungen und Upgrades einer Dynamic Engine-Umgebung. Sie können diese Einstellungen mit einem anschließenden Upgrade ändern.

Warum und wann dieser Vorgang ausgeführt wird

Um Pod-Autoskalierung für Datenservices und Routen zu aktivieren, konfigurieren Sie das Diagramm dynamic-engine-environment. Mit dieser Konfiguration kann auch die maximale Anzahl Replikate (Pod-Instanzen) festgelegt werden auf die HPA skalieren kann.

Prozedur

  1. Verwenden Sie das Helm-Diagramm dynamic-engine-crd, um die benutzerdefinierten Dynamic Engine-Ressourcendefinitionen einer bestimmten Helm-Version zu installieren.
    1. Die zu verwendende Diagrammversion entspricht Ihrer Dynamic Engine-Version. Sie finden diese Version anhand einer der folgenden Methoden:
      • Führen Sie den folgenden Helm-Befehl aus:
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine --version <engine_version>
      • Sehen Sie die Version direkt über Talend Management Console ein oder suchen Sie im Dynamic Engine Änderungs-Log nach der in Ihrer Dynamic Engine-Version enthaltenen Diagrammversion.
      • Verwenden Sie einen API-Aufruf an den Dynamic Engine-Versionsendpunkt.
    2. Führen Sie im Kubernetes-Cluster den folgenden Befehl aus, um das Helm-Diagramm einer bestimmten Version zu installieren:
      helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd --version <helm_chart_version>
      Ersetzen Sie <helm_chart_version> durch die Diagrammversion, die von Ihrer Dynamic Engine-Version unterstützt wird.

      Wenn die Version nicht angegeben wird, installieren Sie die neueste verfügbare dynamic-engine-crd-Diagrammversion.

  2. Entpacken Sie nach wie vor auf dem Kubernetes-Rechner die Helm-Bereitstellungs-ZIP-Datei, die Sie zuvor heruntergeladen haben.
  3. Erstellen Sie eine benutzerdefinierte Datei mit für Autoskalierung spezifischen Werten für Datenservices und Routen.

    Example

    cat <<EOF > <environment-id>-custom-autoscaling-ds-routes.yaml
    configuration:
      dataServiceRouteDeployment:
        autoscaling:
          enabled: true
          maxReplicas: 5
    EOF

    Ersetzen Sie <environment-id> durch die ID für Ihre Dynamic Engine-Umgebung. In diesem Beispiel ist die Obergrenze der Pod-Autoskalierung auf 5 Pod-Instanzen festgelegt.

  4. Führen Sie den folgenden Befehl aus, um die Dynamic Engine-Instanz bereitzustellen:
    helm install dynamic-engine -f <engine-id>-helm-values/<engine-id>-values.yaml oci://ghcr.io/talend/helm/dynamic-engine

    Dies ist die Standardbereitstellung, da die Anpassung der Autoskalierung nur auf der Dynamic Engine Umgebungsseite benötigt wird. Es wurde also keine Anpassung für die Dynamic Engine-Instanz vorgenommen.

  5. Stellen Sie die Dynamic Engine-Umgebung mit der benutzerdefinierten Datei mit für Autoskalierung spezifischen Werten bereit.
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
    -f <environment-id>-custom-autoscaling-ds-routes.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version <engine-version>          

    Ersetzen Sie <environment-id> und <engine-version> entsprechend durch die Umgebungs-ID und die Engine-Version.

  6. Verifizieren Sie die Autoskalierungskonfiguration in der ConfigMap der Umgebung.
    Jede Dynamic Engine-Umgebung hat ihre eigene spezifische ConfigMap global-configuration. Aktualisierungen einer bestimmten ConfigMap wirken sich nur auf die Umgebung aus, zu der diese gehört.
    kubectl get configmap -n qlik-processing-env-$DYN_ENGINE_ENV_ID global-configuration -ojsonpath="{.data['global-configuration\.json']}"
     | jq -r '.dataServiceRouteDeployment'               
    Mit diesem Befehl wird die Konfiguration der Pod-Autoskalierung abgerufen. Die Ausgabe sollte den aktivierten Status und die angegebene maximale Anzahl Replikate bestätigen:
    {
      "autoscaling": {
        "enabled": "true",
        "minReplicas": "1",
        "maxReplicas": "5",
        "cpuAverageUtilization": "0",
        "memoryAverageUtilization": "0"
      }
    }         
    InformationshinweisTipp: Falls Änderungen erforderlich sind, können Sie die Inhalte der Datei <environment-id>-custom-autoscaling-ds-routes.yaml aktualisieren und helm upgrade ausführen, um die Änderungen anzuwenden:
    helm upgrade dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
    -f <environment-id>-custom-autoscaling-ds-routes.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version <engine-version>      

Ergebnisse

Nach der erfolgreichen Implementierung kann die Dynamic Engine-Umgebung die Pod-Instanzen automatisch entsprechend den Arbeitslaständerungen bis zur konfigurierten maximalen Anzahl erhöhen, wenn Datenservices und Routen ausgeführt werden.

In Talend Management Console ändert sich der Status dieser Umgebung zu Ready (Bereit), was bestätigt, dass sie zum Ausführen von Tasks oder Plänen bereit ist.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!