總覽
Apigee Hybrid 預設支援最長 55000 毫秒的目標 io.timeout.millis。請參閱目標端點傳輸規格。
如要提高目標端點的逾時上限,請對執行階段設定進行下列變更:
- 設定 Istio 與 Message Processor(MP) 之間的
virtualhosts[].requestTimeout。請參閱虛擬主機。 - 設定 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
- 您一次只能升級一個環境群組 (虛擬主機)。使用
--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 監控程式從控制層提取環境群組相關詳細資料,ARC 就會在內部建立 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
設定個別環境,變更目標逾時限制
如果只有安裝中的一或多個環境有目標端點速度緩慢的 Proxy,您可以個別設定環境,變更目標逾時限制。這樣可避免影響其他環境。
如要設定個別環境來變更目標逾時限制,可以使用 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 -
您一次只能升級一個環境。針對要更新的每個環境,升級
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 說明文件中的「Three big concepts 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