# Verwenden eines HTTP-Proxys für Dynamic Engine-Dienste in Air-Gap-Umgebungen

Konfigurieren Sie Dynamic Engine für die Verwendung eines HTTP-Proxys für alle HTTP/HTTPS-Anfragen von Dynamic Engine-Diensten. Dies ist für Air-Gap-Umgebungen erforderlich, in denen ausgehender Datenverkehr durch einen Proxy geleitet werden muss.

## Vorbereitungen

* Erhalten Sie die Adresse und den Port des HTTP/HTTPS-Proxy-Servers.
* 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](https://help.qlik.com/talend/en-US/dynamic-engine-changelog/Cloud/dynamic-engine-v0-21-0-release-changelog?tr=de-DE) nach der in Ihrer Dynamic Engine-Version enthaltenen Diagrammversion.
     * Verwenden Sie einen API-Aufruf an [den Dynamic Engine-Versionsendpunkt](https://talend.qlik.dev/apis/dynamic-engine/2021-03/#operation_return-all-supported-dynamic-engine-versions).

  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 &lt;helm\_chart\_version&gt; 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

In diesem Verfahren wird beschrieben, wie Sie Dynamic Engine für die Verwendung eines HTTP-Proxys für alle HTTP/HTTPS-Anfragen von Dynamic Engine-Diensten konfigurieren. Diese Konfiguration ist für Implementierungen in Air-Gap-Umgebungen erforderlich, in denen der direkte Internetzugang eingeschränkt ist und ausgehender Datenverkehr über einen Proxy geleitet werden muss.

## Prozedur

1. Erstellen Sie eine benutzerdefinierte Wertedatei für Dynamic Engine und ihre Umgebung für den HTTP-Proxy.
   ```
   cat <<EOF > $DYNAMIC_ENGINE_ID-custom-http-proxy-values.yaml
   global:
     proxy:
       enabled: true
       httpProxy: http://<proxy-server-address>[:<port>]
       httpsProxy: http[s]://<proxy-server-address>[:<port>]
   EOF

   cat <<EOF > $DYNAMIC_ENGINE_ENVIRONMENT_ID-custom-http-proxy-values.yaml
   global:
     proxy:
       enabled: true
       httpProxy: http://<proxy-server-address>[:<port>]
       httpsProxy: http[s]://<proxy-server-address>[:<port>]
   EOF
   ```
   * Legen Sie zum Aktivieren des HTTP-Proxys enabled: true fest.
   * Legen Sie zum Deaktivieren des HTTP-Proxys enabled: false fest.
   * Um den gesamten HTTP-Datenverkehr für externe Aufrufe zu blockieren, legen Sie httpProxy: ~ fest (mit null wird die Proxy-Verwendung deaktiviert).
   * Der port ist optional.
   * Das Schema kann http oder https sein.
2. Installieren oder aktualisieren Sie Dynamic Engine und ihre Umgebung mit HTTP-Proxy.
   ```
   helm upgrade dynamic-engine-$DYNAMIC_ENGINE_ID --install \
     -f $DYNAMIC_ENGINE_ID-values.yaml  \
     -f $DYNAMIC_ENGINE_ID-custom-http-proxy-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine \
     --version $DYNAMIC_ENGINE_VERSION

   helm upgrade dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID --install \
     -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml  \
     -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-custom-http-proxy-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version $DYNAMIC_ENGINE_VERSION
   ```

## Ergebnisse

Im Namespace dynamic-engine kann der Dienst dynamic-engine-operator Cloud-Endpunkte aufrufen.

Im Namespace dynamic-engine-environment werden Dienste, die mit Cloud-Endpunkte kommunizieren, nicht blockiert.