Zielzeitüberschreitungslimit in Apigee Hybrid konfigurieren

Übersicht

Ab Version 1.14.2 unterstützt Apigee Hybrid das Zeitlimit für das Ziel von bis zu 10 Minuten.

Apigee Hybrid unterstützt standardmäßig Ziel-io.timeout.millis bis zu 55.000 Millisekunden. Weitere Informationen finden Sie unter Spezifikation des TargetEndpoint Transport-Attributs.

Wenn Sie Umgebungen in Ihrer Hybridinstallation aktivieren möchten, um das Zeitlimit für mehrere langsame Zielendpunkte zu erhöhen, nehmen Sie die folgenden Änderungen an Ihrer Laufzeitkonfiguration vor:

  • Konfigurieren Sie virtualhosts[].requestTimeout zwischen Istio und Message Processor(MP). virtualhosts
  • conf_http_HTTPTransport.io.timeout.millis zwischen Message Processor und Zielen konfigurieren

Sie können diese Einstellungen für einzelne oder für alle Umgebungen in Ihrer Installation konfigurieren.

Virtualhost konfigurieren, um das Zeitlimit für Anfragen zu ändern

„requestTimeout“ ist die maximale Zeit (in Sekunden), die für einen virtuellen Host festgelegt ist, damit eine Anfrage vom MP verarbeitet wird.

Zum Konfigurieren des Zeitlimits für Anfragen können Sie die virtualhosts[].requestTimeout-Attribute verwenden. Nehmen Sie die folgenden Änderungen an Ihrer overrides.yaml-Datei vor:

  1. Fügen Sie der Datei overrides.yaml die folgende Stanza hinzu:
    virtualhosts:
    - name: ENV_GROUP_NAME
      requestTimeout: 600   # Increase requestTimeout to 600 seconds
    
  2. Sie dürfen jeweils nur eine Umgebungsgruppe (virtualhost) upgraden. Geben Sie die Umgebungsgruppe mit --set envgroup=ENV_GROUP_NAME an: Wiederholen Sie folgende Befehle für alle Umgebungsgruppen, die in der Datei overrides.yaml erwähnt werden:

    Probelauf:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set envgroup=ENV_GROUP_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ENV_GROUP_RELEASE_NAME ist der Name, mit dem Sie zuvor das Diagramm apigee-virtualhost installiert haben. Normalerweise ist dies ENV_GROUP_NAME.

    Aktualisieren Sie das Diagramm:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set envgroup=ENV_GROUP_NAME \
      -f OVERRIDES_FILE
    
  3. Prüfen Sie den Status der ApigeeRoute (AR).

    Durch die Installation von virtualhosts wird ApigeeRouteConfig (ARC) erstellt. Dieses Element erstellt intern ApigeeRoute (ARC), nachdem der Apigee-Watcher die Umgebungsgruppendetails aus der Steuerungsebene abgerufen hat. Prüfen Sie daher, ob die entsprechende AR ausgeführt wird:

    kubectl -n APIGEE_NAMESPACE get arc
    
    NAME                                STATE   AGE
    apigee-org1-dev-egroup                       2d
    
    kubectl -n APIGEE_NAMESPACE get ar
    
    NAME                                        STATE     AGE
    apigee-org1-dev-egroup-cb9a8a              running   2d
    

Einzelne Umgebungen konfigurieren, um das Zeitlimit für das Ziel zu ändern

Wenn sich die Proxys mit langsamen Zielendpunkten nur in einer oder wenigen Umgebungen Ihrer Installation befinden, können Sie die Umgebungen einzeln konfigurieren, um das Zeitlimit für das Ziel zu ändern. So werden andere Umgebungen nicht beeinträchtigt.

Wenn Sie das Zeitlimit für das Ziel für einzelne Umgebungen ändern möchten, können Sie die envs[].components.runtime-Attribute verwenden. Nehmen Sie die folgenden Änderungen an Ihrer overrides.yaml-Datei vor:

  1. Fügen Sie der Datei overrides.yaml die folgende Stanza hinzu:
    envs:
    - name: ENV_NAME
      components.
        runtime:
          cwcAppend:
            conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. Sie dürfen jeweils nur eine Umgebung upgraden. Aktualisieren Sie das apigee-env-Diagramm für jede Umgebung, die Sie aktualisieren:

    Probelauf:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    
    • ENV_RELEASE_NAME ist ein Name, der verwendet wird, um Installationen und Upgrades des Diagramms apigee-env nachzuverfolgen. Dieser Name muss sich von den anderen Helm-Release-Namen in Ihrer Installation unterscheiden. Normalerweise entspricht dies ENV_NAME. Wenn Ihre Umgebung jedoch denselben Namen wie Ihre Umgebungsgruppe hat, müssen Sie unterschiedliche Release-Namen für die Umgebung und die Umgebungsgruppe verwenden, z. B. dev-env-release und dev-envgroup-release. Weitere Informationen zu Releases in Helm finden Sie in der Helm-Dokumentation unter Three big concepts class="external".
    • ENV_NAME ist der Name der Umgebung, die Sie aktualisieren.
    • OVERRIDES_FILE ist die bearbeitete Datei overrides.yaml.
  3. Aktualisieren Sie das Diagramm:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
  4. Prüfen Sie, ob sie aktiv ist, indem Sie den Status der entsprechenden Umgebung prüfen:

    kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    my-org-my-env-123abc            running     2d
    

Alle Umgebungen konfigurieren, um das Zeitlimit für das Ziel zu ändern

Änderungen an Ihrem runtime-Abschnitt wirken sich auf das Zielzeitlimit für alle Umgebungen in Ihrer Installation aus. Sie können diese Einstellungen für einzelne Umgebungen mit den runtime-Properties überschreiben.

  1. Fügen Sie der Datei overrides.yaml die folgende Stanza hinzu:
    runtime:
      cwcAppend:
        conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. Aktualisieren Sie das apigee-env-Diagramm für jede Umgebung in Ihrer Installation:

    Probelauf:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    Aktualisieren Sie das Diagramm:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE