概要
Apigee ハイブリッドは、デフォルトで最大 55,000 ミリ秒のターゲット io.timeout.millis をサポートしています。ターゲット エンドポイントのトランスポート仕様をご覧ください。
ターゲット タイムアウトの上限を増やして、ターゲット エンドポイントの遅延に対応するには、ランタイム構成に次の変更を加えます。
- Istio と Message Processor(MP)間の
virtualhosts[].requestTimeoutを構成します。virtualhosts をご覧ください - MP とターゲット間の
conf_http_HTTPTransport.io.timeout.millisを構成する
これらの設定は、個々の環境またはインストール内のすべての環境に対して構成できます。
リクエスト タイムアウトの上限を変更するように仮想ホストを構成する
requestTimeout は、MP でリクエストが処理される仮想ホストに設定された最大時間(秒単位)です。
リクエスト タイムアウトの上限を構成するには、virtualhosts[].requestTimeout プロパティを使用します。overrides.yaml ファイルに次の変更を加えます。
- 次のスタンザを
overrides.yamlファイルに追加します。virtualhosts: - name: ENV_GROUP_NAME requestTimeout: 600 # Increase requestTimeout to 600 seconds
- 一度にアップグレードできる環境グループ(virtualhost)は 1 つだけです。
--set envgroup=ENV_GROUP_NAME を使用して環境グループを指定します。overrides.yaml ファイルに記載されている環境グループごとに、次のコマンドを繰り返します。ドライランを実行します。
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 は、以前に
apigee-virtualhostチャートをインストールしたときに使用した名前です。通常は ENV_GROUP_NAME です。チャートをアップグレードします。
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE
- ApigeeRoute(AR)の状態を確認します。
virtualhostsをインストールすると、ApigeeRouteConfig(ARC)が作成されます。これにより、Apigee ウォッチャーがコントロール プレーンから環境グループ関連の詳細を pull した時点で、ApigeeRoute(AR)が内部で作成されます。このため、対応する AR の状態が実行中であることを確認します。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
ターゲット タイムアウトの上限を変更するように個々の環境を構成する
ターゲット エンドポイントが遅いプロキシがインストール内の 1 つまたは少数の環境のみにある場合は、環境を個別に構成してターゲット タイムアウトの上限を変更できます。これにより、他の環境への影響を回避できます。
ターゲット タイムアウトの制限を変更するように個々の環境を構成するには、envs[].components.runtime プロパティを使用します。overrides.yaml ファイルに次の変更を加えます。
-
次のスタンザを
overrides.yamlファイルに追加します。envs: - name: ENV_NAME components. runtime: cwcAppend: conf_http_HTTPTransport.io.timeout.millis: 600000 # Increase io.timeout.millis to 600000 milliseconds -
一度にアップグレードできる環境は 1 つだけです。更新する各環境の
apigee-envチャートをアップグレードします。ドライランを実行します。
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server
- ENV_RELEASE_NAME は、
apigee-envチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_NAMEと同じにします。ただし、環境と環境グループの名前が同じである場合は、環境と環境グループに対して異なるリリース名(dev-env-releaseとdev-envgroup-releaseなど)を使用する必要があります。Helm のリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプト class="external" をご覧ください。 - ENV_NAME はアップグレードする環境の名前です。
- OVERRIDES_FILE は、編集した
overrides.yamlファイルです。
- ENV_RELEASE_NAME は、
-
チャートをアップグレードします。
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
-
それぞれの環境の状態をチェックして、稼働していることを確認します。
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE my-org-my-env-123abc running 2d
ターゲット タイムアウトの上限を変更するようにすべての環境を構成する
runtime スタンザを変更すると、インストール内のすべての環境のターゲット タイムアウトの上限が変更されます。runtime プロパティを使用して、個々の環境でこれらの設定をオーバーライドできます。
-
次のスタンザを
overrides.yamlファイルに追加します。runtime: cwcAppend: conf_http_HTTPTransport.io.timeout.millis: 600000 # Increase io.timeout.millis to 600000 milliseconds -
インストール内の各環境の
apigee-envチャートをアップグレードします。ドライランを実行します。
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server
チャートをアップグレードします。
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE