Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Konfigurieren einer benutzerdefinierten Docker-Registrierung für Datenservices und Routen

Konfigurieren Sie eine interne oder externe Docker-Registrierung für Datenservices und Routen in einer Dynamic Engine-Umgebung.

Standardmäßig wird ein Docker-Registrierungsdienst (docker-registry) in Ihrer Dynamic Engine-Infrastruktur implementiert, um Images zu speichern, die aus Datenservices und Routen erstellt wurden.
  • Sie können die Einrichtung des internen Standard-Registrierungsdienstes während der Implementierung oder des Upgrades Ihrer Dynamic Engine-Instanz anpassen.
  • Sie können auch die Einrichtung Ihrer Dynamic Engine-Umgebung anpassen, um eine eigene private externe Registrierung zu verwenden.

Vorbereitungen

  • Die benutzerdefinierten Ressourcendefinitionen dynamic-engine-crd müssen mit dem Helm-Chart oci://ghcr.io/talend/helm/dynamic-engine-crd installiert worden sein. Führen Sie andernfalls die folgenden Befehle für die Installation aus:
    1. Suchen Sie die zu verwendende Diagrammversion:
      • Führen Sie den folgenden Helm-Befehl aus:
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine-crd --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 den folgenden Befehl aus, um das Helm-Chart 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 Chart-Version, 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.

Warum und wann dieser Vorgang ausgeführt wird

Die interne Docker-Registrierung wird über alle Dynamic Engine-Umgebungen hinweg gemeinsam verwendet und wird im Namespace qlik-dynamic-engine mit globalen Konfigurationswerten implementiert. Daher muss sie mit der Implementierung oder dem Upgrade Ihrer Dynamic Engine-Instanz angepasst werden, nicht mit einer spezifischen Dynamic Engine-Umgebung. Externe Docker-Registrierungen werden aber auf Umgebungsbasis konfiguriert.

Anhand dieser Architektur können Sie unterschiedliche Registrierungsstrategien für verschiedene Umgebungen implementieren. Sie können zum Beispiel Folgendes konfigurieren:

  • Entwicklungsumgebung: Verwenden Sie eine freigegebene interne Registrierung.
  • Staging-Umgebung: Verwenden Sie eine dedizierte externe Registrierung.
  • Produktionsumgebung: Verwenden Sie die gleiche externe Registrierung wie beim Staging.
Konfigurationsoptionen für die Docker-Registrierung
Registrierungstyp Anpassungsverfahren
Interne Registrierung Weitere Informationen finden Sie unter „Konfigurieren einer internen Docker-Registrierung für Datenservices und Routen“.

In diesem Beispiel wird gezeigt, wie Sie Pod-Autoskalierung konfigurieren, um eine reibungslose Implementierung einer großen Anzahl Datenservices und Routen zu gewährleisten.

Externe Registrierung Weitere Informationen finden Sie unter „Herstellen einer Verbindung zu einer externen Docker-Registrierung für Datenservices und Routen“.

Dynamic Engine stellt eine Verbindung zu Ihrer eigenen Docker-Registrierung her und verwendet diese, aber der Registrierungsdienst muss außerhalb von Dynamic Engine konfiguriert werden. Dynamic Engine bietet keinen Mechanismus zum Konfigurieren der Registrierung.

Konfigurieren einer internen Docker-Registrierung für Datenservices und Routen

Passen Sie die interne Docker-Registrierung an, die Images für Datenservices und Routenservices speichert, wenn Sie Ihre Dynamic Engine-Instanz implementieren oder aktualisieren.

Warum und wann dieser Vorgang ausgeführt wird

Im Beispiel unten aktivieren Sie HPA in der internen Docker-Registrierung und legen einen benutzerdefinierten Wert für die Anzahl der zu erstellenden Replikate und die maximale Anzahl an Replikaten fest. HPA steht für horizontale Pod-Autoskalierung, eine Kubernetes-Funktion, mit der die Anzahl der Pods als Reaktion auf die Nachfrage automatisch angepasst wird. Ein Pod ist ein Kubernetes-Objekt, das eine Gruppe von einem oder mehreren Containern darstellt.

Prozedur

  1. Erstellen Sie eine benutzerdefinierte Wertedatei für die Autoskalierungs- und Replikateinstellungen:
    cat <<EOF > $DYNAMIC_ENGINE_ID-custom-internal-registry.yaml
    configuration:
      dockerRegistry:
        replicaCount: 2
        autoscaling:
          enabled: true
          maxReplicas: 5
    EOF
  2. Wenden Sie diese benutzerdefinierte Wertedatei an:
    helm install -i dynamic-engine-$DYNAMIC_ENGINE_ID -f $DYNAMIC_ENGINE_ID-values.yaml \
    -f $DYNAMIC_ENGINE_ID-custom-internal-registry.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine \
    --version $DYNAMIC_ENGINE_VERSION            

    Wenn Sie die Engine aktualisieren, verwenden Sie folgenden Befehl:

    helm upgrade -i dynamic-engine-$DYNAMIC_ENGINE_ID -f $DYNAMIC_ENGINE_ID-values.yaml \
    -f $DYNAMIC_ENGINE_ID-custom-internal-registry.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine \
    --version $DYNAMIC_ENGINE_VERSION

Nächste Maßnahme

Falls noch nicht geschehen, implementieren oder aktualisieren Sie die Dynamic Engine-Umgebung, die dieser Dynamic Engine-Instanz zugewiesen ist, und wenden Sie die standardmäßige bzw. benutzerdefinierte Wertedatei entsprechend an. Weitere Anpassungsfälle finden Sie in den betreffenden Abschnitten in diesem Handbuch.

Herstellen einer Verbindung zu einer externen Docker-Registrierung für Datenservices und Routen

Stellen Sie eine Verbindung zu einer privaten externen Docker-Registrierung für Datenservices und Routen in einer Dynamic Engine-Umgebung her.

Vorbereitungen

Vergewissern Sie sich, dass die Registrierung über HTTPS zugänglich ist.

Prozedur

  1. Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Wertedatei für die Verbindung mit der externen Registrierung zu erstellen.
    cat <<EOF > custom-routes-registry-values.yaml
    configuration:
      registry:
        url: myregistry.example.com
        path: my-specific-registry
        username: foo
        password: bar
        secretName: my-specific-registry
    EOF         

    Mit diesem Befehl wird eine Wertedatei erstellt, um die Anmeldeinformationen für die Registrierungsverbindung anzugeben. Ein Secret ist ein Kubernetes-Objekt, in dem sensible Informationen gespeichert werden.

    Wenn keine Anmeldeinformationen erforderlich sind, lassen Sie die Felder username, password und secretName leer.

  2. Führen Sie den folgenden Befehl aus, um die Dynamic Engine-Umgebung mit der benutzerdefinierten Wertedatei zu installieren oder zu aktualisieren.
    helm upgrade --install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID \
    -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml \
    -f custom-routes-registry-values.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version $DYNAMIC_ENGINE_VERSION          

    Mit diesem Befehl wird die Dynamic Engine-Umgebung aktualisiert oder installiert, je nachdem, ob sie zuvor bereits installiert war.

  3. Validieren Sie die Implementierung:
    • Prüfen Sie im entsprechenden Namespace der Dynamic Engine-Umgebung Folgendes:
      • Der Pod dpe-data-service-route-deployer wird ausgeführt.
      • Wenn für die Registrierung Anmeldeinformationen erforderlich sind, sind die Secrets my-specific-registry und dpe-data-service-route-deployer vorhanden, wobei my-specific-registry einen Wert für .dockerconfigjson enthält, der die Registrierungsauthentifizierung darstellt, sowie dpe-data-service-route-deployer mit einem Wert für REGISTRY_CREDENTIALS.
    • Nachdem Sie eine Route oder einen Datenservice implementiert haben, bestätigen Sie, dass das Image in der Registrierung vorhanden ist, indem Sie den folgenden Befehl ausführen:
      docker pull myregistry.example.com/my-specific-registry/<artifact_name>:<artifact_version>

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!