Apigee 已知問題

本頁面適用於 Apigee 和 Apigee Hybrid。

查看 Apigee Edge 說明文件。

選取下列一或多個選項,篩選這個頁面:

本節列出 Apigee 元件的已知問題。如要查看錯誤、新功能和其他版本資訊清單,請參閱版本資訊。

問題 ID 受影響的國家/地區 狀態 說明
543171828 hybrid 1.14.7、hybrid 1.15.7 和 hybrid 1.16.8 已修正 (Hybrid 1.16.9) apigee-logger DaemonSet 未排定在任何節點上,因此 Apigee 執行階段記錄檔不會再傳送至 Cloud Logging。

安裝或升級至受影響的版本後,kubectl get daemonset apigee-logger -n apigee 會回報所需的 0 數量,且不會建立任何記錄器 Pod。

apigee-telemetry 圖表一律會隨附預設的 logger.nodeSelector,也就是 apigee.cloud.google.com/apigee-logger-enabled: "true",因此您必須標記應執行記錄器的節點。受影響版本之前的版本會忽略元件層級節點選取器,因此即使節點未加上標籤,記錄器仍會排定在 Apigee 節點集區中。受影響的版本會正確套用元件層級的節點選取器,因此預設值現在會生效,且 DaemonSet 不會比對任何節點。

只有設定 logger.enabled: true 的部署作業會受到影響。

解決方法:選擇下列其中一項,然後升級 apigee-telemetry 圖表。

如要在每個節點上執行記錄器 (與舊版行為相同),請清除 overrides.yaml 檔案中的預設節點選取器:

logger:
  enabled: true
  nodeSelector:
    key: ""
    value: ""

如要將記錄器限制為特定節點集,請保留預設節點選取器,並為每個節點加上標籤:

kubectl label nodes NODE_NAME apigee.cloud.google.com/apigee-logger-enabled=true
534420582 Apigee
Apigee hybrid
混合式 1.15.8 版已修正 Apigee 政策和後端服務對含有重複鍵的 JSON 酬載可能會有不同的解讀方式,這可能會削弱以內容為基礎的安全檢查。

ExtractVariables 政策會使用 JSONPath,並透過 last-wins 語意解析重複的 JSON 金鑰。部分後端 (最明顯的例子是接受 proto3 JSON 的 Google Cloud API) 會合併重複的金鑰 (例如串連重複的陣列欄位)。如果 Apigee Proxy 依賴 ExtractVariables + JSONPath + RaiseFault 檢查及封鎖特殊權限要求主體,攻擊者就能將惡意內容隱藏在重複的金鑰中,讓 Apigee 政策無法偵測,但後端仍會處理。

解決方法:對於接受 proto3 JSON 的後端,請勿僅依賴 ExtractVariables 搭配 JSONPath 做為安全性邊界。在 ExtractVariables 之前,將 JSONThreatProtection 政策新增至要求流程,並設定 <ObjectEntryCount> 和其他限制,以符合 API 合約。如要強化防護,請使用 JavaScript 政策,透過 JSON.parse() 剖析要求主體,並在執行擷取作業前拒絕含有重複索引鍵的酬載。

523085517 UI OPEN 如果偵錯工作階段很大,Apigee 偵錯追蹤檢視畫面可能會閃爍或緩慢顯示。

在 Apigee UI 中查看偵錯工作階段時,交易對應和追蹤記錄詳細資料可能會反覆出現及消失 (閃爍),或需要很長時間才能算繪。如果偵錯工作階段包含大量事件,且在效能較低的機器上執行,這種行為會最明顯,而且可能難以檢查 API 要求的流程。

解決方法:在偵錯追蹤檢視畫面的「檢視選項」窗格中,取消勾選所有核取方塊,減少顯示的元素數量。您也可以嘗試在其他瀏覽器中查看偵錯工作階段。

513032450 hybrid 1.16.2 混合式 1.16.11 和混合式 1.17.1「已修正」 apigee-connect-agent 在 Go 1.26.3 工具鍊升級後,先在 RKE2-on-GKE 叢集上繫結楔形。

apigee-connect-agent Pod 無法偵測到停滯的連線。根本原因仍在調查中,但可能與測試叢集使用的 Cloud NAT 有關。

解決方法:使用多個 apigee-connect-agent Pod。第二個 Pod 會正常運作,第一個 Pod 則會在 2 小時後重設連線,然後恢復正常運作。

515424331 hybrid 1.16.3 混合式 1.16.4 版已修正 apigee-pull-push.sh 指令碼在 1.16.3 版中失敗,因為從 1.16.2 版沿用的部分映像檔未在 gcr.io/apigee-release/hybrid/ 存放區中重新標記 1.16.3 標記。

當 apigee-pull-push.sh (或任何手動 docker pull) 要求 1.16.3 標記的受影響映像檔時,登錄檔會傳回 image not known 錯誤,且指令碼會中止。透過 Apigee hybrid Helm 圖表執行的升級作業不受影響,因為圖表會直接參照正確的映像檔摘要。

解決方法:針對每個受影響的映像檔,提取 1.16.2 標記而非 1.16.3,或直接升級至 1.16.4,這會重新發布所有具有相符標記的映像檔。

512866352 hybrid 1.16.2 混合式 1.16.3 版已修正 由於 glibc 版本不符,外部密碼儲存空間 (例如 HashiCorp Vault) 無法與 apigee-redis 映像檔搭配使用。

解決方法:請勿在 Apigee Hybrid 1.16.2 上為 apigee-redis 設定外部密碼存放區 (ESS) 整合功能。在修正檔推出前,請使用預設密鑰設定。

415061771 Apigee
Apigee Hybrid
開啟 控制器錯誤訊息「物件已修改」

混合式客戶可能會在控制器記錄中,看到重複出現的「object has been modified; please apply your changes to the latest version and try again.」訊息。 這些訊息是 Apigee 和 Apigee Hybrid 內建安全機制的無害副作用,不代表 Apigee 或 Apigee Hybrid 環境有任何風險。為確保完全可靠,系統會每分鐘多次檢查及重新驗證內部設定,確保與所需設定完全相符。這些錯誤表示兩個子控制器嘗試同時更新內部「規格」;第一個更新成功,第二個更新則會產生訊息,並在稍後執行全新更新。這些純粹是內部管理更新,不會改變 API 實際處理流量的方式,因此服務應會維持穩定,完全不受影響。

499322601 hybrid 1.16.0-hotfix.1、
hybrid 1.15.2、
hybrid 1.14.4
混合型 1.16.2 版已修正 Apigee 不支援強制執行基本驗證憑證的轉送 Proxy。
495305258 Apigee (Marketplace 解決方案) OPEN 透過 Cloud Marketplace 部署 Apigee Drupal 入口網站時發生中斷情形

我們正在轉換 Apigee Drupal 入口網站 Marketplace 解決方案,改用 Infrastructure Manager,而非 Cloud Deployment Manager。在這段轉換期間,部分部署和管理功能可能無法使用。

影響:

  • 新部署項目:2026 年 4 月 1 日起,嘗試使用 Cloud Marketplace 的「部署」按鈕部署新的 Apigee Drupal 入口網站執行個體時,可能會失敗。
  • 現有部署作業:基礎資源 (例如 VM 和 Cloud SQL 資料庫) 不會受到影響,仍會正常運作。不過,如果使用 Deployment Manager 相關功能,透過 Cloud Marketplace UI 或 gcloud deployment-manager 工具管理部署作業,則可能會失敗。

解決方法:直接在個別 Google Cloud 資源 (Compute Engine、Cloud SQL 等) 執行任何設定變更或管理工作而非透過 Cloud Marketplace 使用者介面。

496552286 Apigee 開啟 在容量有限的區域中,MCP 探索 Proxy 的部署作業會失敗。

在下列地區部署 MCP 基礎架構時,可能會受到容量限制:

  • asia-east2
  • asia-northeast3
  • asia-southeast2
  • australia-southeast1
  • europe-central2
  • europe-west12
  • europe-west9
  • me-central2
  • us-central2

如果看到負載平衡器佈建失敗相關錯誤,或佈建狀態一直未變更為「已部署」,可能是因為所選區域的基礎架構容量暫時受到限制。請嘗試將 Proxy 部署至其他區域的環境。

490308770 hybrid 1.12.x、hybrid 1.15.x、hybrid 1.16.0 1.16.0-hotfix.1 和 1.15.2 版已修正 Helm 範本中的網址字串格式不正確,導致已驗證的 HTTP Proxy 設定失敗。

使用 httpProxy.username 和 httpProxy.password 設定已驗證的出站 Proxy 時,Apigee Hybrid Helm 圖表會產生格式錯誤的 http_proxy 和 https_proxy 字串。範本會錯誤地在網址中間插入雙引號,導致護欄驗證 Pod 等元件當機,並出現 net/url: invalid userinfo 錯誤。

解決方法:手動編輯 Helm 範本檔案,從 Proxy 網址建構作業的使用者名稱和密碼欄位中移除 quote 函式。舉例來說,在 apigee-operator/templates/apigee-operators-guardrails.yaml 中,修改 Proxy 環境變數定義,確保憑證不會在網址字串中個別加上引號。

482077193 混合式 1.15.0 以上版本 1.16.0-hotfix.1 版已修正 在多組織、單一命名空間設定中,Proxy 鏈結失敗,並顯示 404 route_not_found。

在 Apigee Hybrid 環境中,如果多個機構共用單一 Kubernetes 命名空間,Proxy 鏈結可能會間歇性失敗,並顯示 HTTP 404 route_not_found 錯誤。這是因為不同組織的內部鏈結閘道使用相同的 ingress_name 選取器,導致 Envoy 載入路由規則時不一致。

解決方法:在 overrides.yaml 檔案中為每個機構的鏈結閘道指派不重複的名稱,確保選取器隔離:

apigeeChainingGateway:
  name: internal-chaining-UNIQUE_SUFFIX

此外,請務必更新虛擬主機選取器和任何專屬 Kubernetes 服務,參照這個不重複的名稱。

479040521 hybrid 1.16.0 已在 Hybrid 1.16.0-hotfix.1 中修正 apigee-operator-guardrails-sa 未在 AKS/EKS 上建立,且使用 Federated Workload Identity。

在啟用 Federated Workload Identity (WIF) 的非 GKE 平台上,安裝或升級 Apigee Hybrid 1.16.0 中的 apigee-operator 圖表時,系統不會建立 Kubernetes ServiceAccount apigee-operator-guardrails-sa。

解決方法:手動修補 apigee-operator Helm 資訊套件範本:

  1. 編輯 apigee-operator Helm 圖表範本檔案 apigee-operator/templates/apigee-operator-guardrails-sa.yaml。

    更新初始 if 條件,加入 federatedWorkloadIdentity 檢查:

    {{ - if or (.Values.serviceAccountSecretProviderClass) (.Values.gcp.workloadIdentity.enabled) (.Values.gcp.federatedWorkloadIdentity.enabled) } }
  2. 編輯 apigee-operator Helm 圖表範本檔案 apigee-operator/templates/apigee-operator-guardrails.yaml (注意:這是 apigee-operator-guardrails.yaml 範本檔案,而非 apigee-operator-guardrails-sa 檔案)。

    在第 17 行的 spec: 後方,更新初始 if 條件,加入 federatedWorkloadIdentity 檢查:

    {{ - if or (.Values.serviceAccountSecretProviderClass) (.Values.gcp.workloadIdentity.enabled) (.Values.gcp.federatedWorkloadIdentity.enabled) } }
  3. 將變更套用至「apigee-operator」圖表。
479872706 混合式 1.16.0 (搭配 WIF 和轉送 Proxy 的 EKS) 混合式 1.16.0-hotfix.1 版已修正 將資料遷移至 Apigee Hybrid 1.16 後,無法載入 API 產品、應用程式和開發人員。

升級至 Apigee Hybrid 1.16.0 後,如果環境使用 Workload Identity Federation (WIF) 搭配 HTTP 轉送 Proxy,可能會因為 MART 中的憑證轉換迴歸,而無法載入管理實體 (API 產品、應用程式、開發人員)。

解決方法:更新 overrides.yaml 檔案中運算子和 MART 元件的 image.url 和 image.tag 屬性,套用 1.16.0-hotfix.1 更新:

ao:
  image:
    url: "gcr.io/apigee-release/hybrid/apigee-operators"
    tag: "1.16.0-hotfix.1"
mart:
  image:
    url: "gcr.io/apigee-release/hybrid/apigee-mart-server"
    tag: "1.16.0-hotfix.1"
482209901 hybrid 1.16.0 混合式 1.16.0-hotfix.1 版已修正 Hybrid 1.16.0 版缺少 RBAC 權限,導致 Proxy 部署作業無法完成。

1.16.0 版有已知問題,混合式叢集可能無法回報 Proxy 的部署狀態。這是因為 apigee-manager-role 角色缺少權限。

解決方法:將權限新增至 apigee-operator Helm 資訊套件範本:

  1. 編輯 apigee-operator Helm 圖表範本檔案 apigee-operator/templates/apigee-operators.yaml。
  2. 在第 584 行的 - update 動詞後方,將 - watch 動詞新增至 deployments 資源。
  3. 更新 apigee-operator Helm 版本。
418274570 hybrid 1.16.0 已修正 Hybrid 版本資訊頁面未更新 1.16.0-hotfix.1 資訊。

混合式版本資訊頁面不會顯示 1.16.0-hotfix.1 更新資訊。如要瞭解更新詳情,請參閱 Apigee hybrid 1.16.0-hotfix.1 版版本資訊。

484366184 hybrid 1.14.x、hybrid 1.15.x 已修正 (Hybrid 1.16.0) Apigee Hybrid 1.14 和 1.15 版在 apigee-ingressgateway-manager 中遇到當機迴圈,原因是使用了 Kubernetes Gateway API 1.4.0 以上版本。

Apigee Hybrid 1.16 不會受到這個問題影響。

解決方法:如要在 Apigee Hybrid 1.14 或 1.15 版中使用 Kubernetes Gateway API,請安裝 Gateway API 的 v1.3.x 版。例如:

kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/standard-install.yaml

另請參閱:

471125841 hybrid 1.14.x,hybrid 1.15.x 已在 Hybrid 1.16.x 修正 建立及部署新的 API Proxy 修訂版本時,如果更新 io.timeout.millis 值,系統可能無法一律採用新值。

API 要求有時不會採用 io.timeout.millis 的更新值。如果 TargetEndpoint 的 <LoadBalancer> 下使用多個伺服器,就會發生這種情況。

解決方法:部署 API Proxy 後,請逐一重新啟動 apigee-runtime Pod,確保變更正確套用。

480997525 Apigee 1-17-0-apigee-1 Apigee 1-17-0-apigee-2 已修正此問題 Netty 升級後,Proxy 呼叫失敗,並顯示 The URI contain illegal characters 錯誤。

在 Apigee 1-17-0-apigee-1 版中,Netty 升級至 4.1.129.Final 後,出現迴歸問題。這可能會導致 API Proxy 呼叫失敗,並顯示 400 狀態碼和 The URI contain illegal characters 錯誤訊息。這個問題已在 netty/netty#16020 中追蹤。

465834046 hybrid 1.14.3、hybrid 1.15.1、hybrid 1.16.0 以上版本 (升級) 在混合式 1.14.3、混合式 1.15.1 和混合式 1.16.0 中修正了全新安裝的問題 cert-manager 1.18 以上版本已將私密金鑰輪替政策的預設值從 Never 變更為 Always。如果 apigee-ca 的私密金鑰輪替,流量會受到影響

新版 cert-manager (v1.18 以上) 現在會自動輪替私密金鑰。輪替 apigee-ca 憑證的金鑰時,會導致服務中斷。

解決方法:如要避免這個問題,請選擇下列其中一個選項:

  • 請勿將 cert-manager 升級至高於 1.17.x 的版本。
  • 編輯 cert-manager 命名空間中的 apigee-ca 憑證,並將 spec.privateKey.rotationPolicy 設為 Never。請按照下列程序編輯 apigee-ca 憑證,並升級 cert-manager:
    1. 檢查 apigee-ca 憑證的內容,確認是否已設定 rotationPolicy:
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      在輸出內容中尋找 spec.privateKey 下的值:

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          # Note: rotationPolicy would appear here if it is set.
          size: 256
        secretName: apigee-ca
      ...
    2. 如果未設定 rotationPolicy,或設為 Always,請編輯 apigee-ca 憑證,將 rotationPolicy 的值設為 Never:
      1. 請先執行模擬測試:
        kubectl patch Certificate \
          --dry-run=server \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
      2. 修補憑證:
        kubectl patch Certificate \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
    3. 確認 rotationPolicy 的值已設為 Never:
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      輸出內容大致如下:

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          rotationPolicy: Never
          size: 256
        secretName: apigee-ca
      ...
    4. 升級 cert-manager。下列指令會下載並安裝 cert-manager v0.14.2:
      kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v0.14.2/cert-manager.yaml

請參閱:

458417250 Apigee 1-16-0-apigee-4 已在 Apigee 1-16-0-apigee-6 修正 訊息處理器傳回 500 錯誤,並顯示 "Duplicate Header "authorization""。

如果要求中有多個授權標頭,Apigee 輸入閘道不會將這些標頭串連成單一標頭,這會導致訊息處理器傳回 500 錯誤,並顯示 "Duplicate Header "authorization"" 訊息。

解決方法:如果要求中有多個授權標頭,請將這些標頭串連成單一標頭。例如:

curl -s https://my-hostname.net/mocktarget/echo \
          -H 'authorization: a, b'

462685598 UI OPEN

Apigee UI 目前不提供使用 Google-owned and Google-managed encryption key佈建 Apigee 組織的選項。

佈建訂閱組織時,Apigee UI 不提供選取 Google-owned and Google-managed encryption key 的選項。

解決方法:使用 Apigee API 建立 Google-owned and Google-managed encryption key訂閱制組織。

如 Apigee API 說明文件所述,建立 Apigee 機構時,您可以透過不提供 runtimeDatabaseEncryptionKeyName、apiConsumerDataEncryptionKeyName 和 controlPlaneEncryptionKeyName 欄位的值,建立機構。 Google-owned and Google-managed encryption key

460431753 Apigee、Apigee Hybrid OPEN Apigee Model Armor 政策不支援 WebSocket。

Apigee Model Armor 政策 (包括 SanitizeUserPrompt 和 SanitizeModelResponse) 目前在處理 WebSocket 連線的 API Proxy 中使用時,無法正常運作。如要進一步瞭解 WebSocket 設定,請參閱「 透過 Apigee 使用 WebSocket」。

433759657 Apigee 1-16-0-apigee-3 以上版本已修正

升級至 1-16-0-apigee-3 後,部分 Apigee 機構可能會遇到 HTTP 500 錯誤,這是因為 Java 呼叫政策中的 java.lang.NoClassDefFoundError 所致。錯誤訊息應如下所示:

{"fault":{"faultstring":"Failed to execute JavaCallout. org/apache/commons/lang/StringUtils","detail":{"errorcode":"steps.javacallout.ExecutionError"}}}

如果 Java 呼叫政策錯誤地依附於 Apigee 內部使用的程式庫,而非提供自己的依附元件,就會發生這個錯誤。

敬請採取行動:為避免發生這個問題,開發人員必須確保所有 Java 呼叫都獨立運作,並使用專屬程式庫,避免依賴 Apigee 的內部類別路徑。

在採用 Apache Commons JAR 程式庫的 API Proxy 中,匯入 Apache Commons JAR 檔案,將其納入 Proxy 的資源。詳情請參閱「Java 資源規範」。

451841788 hybrid 1.14.3 和 hybrid 1.15.1 已修正 即使未啟用營利功能,Apigee Hybrid 仍需要 mintTaskScheduler.serviceAccountPath 屬性。

即使未啟用營利功能,如果未設定 mintTaskScheduler.serviceAccountPath 屬性,apigee-org 圖表升級作業仍可能失敗:

Error: UPGRADE FAILED: execution error at (apigee-org/templates/mint-task-scheduler-gsa-secret.yaml:12:63): mintTaskScheduler.serviceAccountPath is required!

解決方法:移除 apigee-org/templates/mint-task-scheduler-gsa-secret.yaml 和 apitee-org/templates/mint-task-scheduler-sa.yaml 檔案。

您可以選擇將檔案移至 Helm 資訊圖表目錄以外的其他位置。或者,如果日後想啟用營利功能,可以按照「步驟 2:下載 Apigee Helm Chart」中的操作說明,再次下載這些檔案。

例如,從 helm-charts/ 目錄:

  1. ls apigee-org/templates/

    輸出內容:

    apigee-org-guardrails.yaml              mart-sa.yaml
    apigee-proxy-chaining-certificate.yaml  mint-task-scheduler-gsa-secret.yaml
    apigee-proxy-chaining-route.yaml        mint-task-scheduler-sa.yaml
    ax-hash-salt-secret.yaml                NOTES.txt
    connect-agent-gsa-secret.yaml           organization.yaml
    connect-agent-sa.yaml                   udca-gsa-secret.yaml
    data-encryption-secret.yaml             udca-sa.yaml
    encryption-keys-secret.yaml             watcher-gsa-secret.yaml
    _helpers.tpl                            watcher-sa.yaml
    mart-gsa-secret.yaml
    
  2. (選用:)
    cp apigee-org/templates/mint-task-scheduler-gsa-secret.yaml /tmp/
    cp apigee-org/templates/mint-task-scheduler-sa.yaml /tmp/
  3. rm apigee-org/templates/mint-task-scheduler-gsa-secret.yaml
  4. rm apigee-org/templates/mint-task-scheduler-sa.yaml
  5. ls apigee-org/templates/

    輸出內容:

    apigee-org-guardrails.yaml              mart-gsa-secret.yaml
    apigee-proxy-chaining-certificate.yaml  mart-sa.yaml
    apigee-proxy-chaining-route.yaml        NOTES.txt
    ax-hash-salt-secret.yaml                organization.yaml
    connect-agent-gsa-secret.yaml           udca-gsa-secret.yaml
    connect-agent-sa.yaml                   udca-sa.yaml
    data-encryption-secret.yaml             watcher-gsa-secret.yaml
    encryption-keys-secret.yaml             watcher-sa.yaml
    _helpers.tpl
    
451375397 hybrid 1.14.3 混合式 1.15.1 版已修正

apigee-pull-push.sh 指令碼可能會傳回 No such image 錯誤訊息,例如:

Error response from daemon: No such image: gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:latest

解決方法:編輯 HELM_CHARTS_DIR/apigee-operator/etc/tools/apigee-pull-push.sh 指令碼,將 docker_tag() 函式中的第 114 行從:

  docker tag "${source}/$i" "${dest}/$i:${TAG}"

收件者:

  docker tag "${source}/$i:${TAG}" "${dest}/$i:${TAG}"
405936071 hybrid 1.15.0 已修正 (Hybrid 1.15.1)

如果在 overrides.yaml 檔案中指定 metrics.serviceAccountRef 或 metrics.serviceAccountSecretProviderClass,遙測角色會指定錯誤的服務帳戶。

解決方法:在 apigee-operator/ 圖表中修補 _helper.tpl,然後重新套用。

  1. 編輯 apigee-operator/templates/_helpers.tpl,並移除下列粗體行:

    {{- define "metricsSA" -}}
      {{- $metricsName := "apigee-metrics" }}
      {{- $telemetryName := "apigee-telemetry" -}}
      {{- $generatedName := include "orgScopeEncodedName" (dict "name" .Values.org) -}}
      {{- if .Values.gcp.workloadIdentity.enabled -}}
      {{- printf "%s-sa" $metricsName -}}
      {{- else if .Values.serviceAccountSecretProviderClass -}}  <-- DELETE
      {{- .Values.serviceAccountSecretProviderClass -}}          <-- DELETE
      {{- else if .Values.metrics.serviceAccountRef -}}          <-- DELETE
      {{- .Values.metrics.serviceAccountRef -}}                  <-- DELETE
      {{- else if .Values.multiOrgCluster -}}
      {{- printf "%s-%s" $metricsName $generatedName -}}
      {{- else -}}
      {{- printf "%s-%s" $metricsName $telemetryName -}}
      {{- end -}}
    {{- end -}}

    完成的區段應如下所示:

    {{- define "metricsSA" -}}
      {{- $metricsName := "apigee-metrics" }}
      {{- $telemetryName := "apigee-telemetry" -}}
      {{- $generatedName := include "orgScopeEncodedName" (dict "name" .Values.org) -}}
      {{- if .Values.gcp.workloadIdentity.enabled -}}
      {{- printf "%s-sa" $metricsName -}}
      {{- else if .Values.multiOrgCluster -}}
      {{- printf "%s-%s" $metricsName $generatedName -}}
      {{- else -}}
      {{- printf "%s-%s" $metricsName $telemetryName -}}
      {{- end -}}
    {{- end -}}
  2. 重新套用 apigee-operator 圖表。

    helm upgrade operator apigee-operator/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f overrides.yaml
419856132 混合式 1.14.2 以上版本 已在 Hybrid 1.14.3 和 Hybrid 1.15.0 中修正 如果叢集已安裝 gateway.networking.k8s.io/v1,apigee-ingressgateway-manager 可能無法升級。

如需解決方法,請按照已知問題 416634326 中的步驟操作。

378686709 Apigee
Apigee Hybrid
Apigee 中已修正 (須撥打支援電話)
Hybrid 1.14.3 和 Hybrid 1.15.1 中已修正 (須執行程序)

在 Apigee 代理項目基本路徑中使用萬用字元 (*) 可能會與其他明確基本路徑衝突,導致 404 錯誤。舉例來說,如果為部署在相同環境中的兩個 Proxy 使用下列基本路徑,則呼叫 Proxy-2 時可能會導致 404 錯誤:

Proxy-1: /a/v1/b
Proxy-2: /a/*/c

在這種情況下,對明確基本路徑的呼叫會成功解析,但如果萬用字元路徑評估為 /a/v1/c,對 Proxy-2 的呼叫可能會傳回 404。

已修正:Apigee 和 Hybrid 1.14.3 以上版本已修正這個問題。不過,修正程式預設為停用。如要在基本路徑中啟用萬用字元,請按照下列步驟操作:

  • 如有需要,Apigee 機構的客戶應聯絡 Apigee 支援團隊,啟用修正功能。
  • 如果客戶使用 Apigee Hybrid 機構,請視需要按照下列程序啟用修正檔。

程序:如要在 Apigee Hybrid 中啟用 Apigee Proxy 基礎路徑的萬用字元 (*):

  1. 升級至 Hybrid 1.14.3 以上版本前,請在 overrides.yaml 檔案中新增下列節:
    runtime:
      cwcAppend:
        conf_message-processor-communication_classificationV2.enabled: "true"
    
  2. 將變更套用至 apigee-env 圖表。針對安裝作業中的每個環境重複執行變更。
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
    • ENV_RELEASE_NAME 是用來追蹤 apigee-env 圖表安裝和升級作業的名稱。這個名稱不得與安裝作業中的其他 Helm 版本名稱重複。通常與 ENV_NAME 相同。不過,如果環境與環境群組的名稱相同,您必須為環境和環境群組使用不同的發布名稱,例如 dev-env-release 和 dev-envgroup-release。如要進一步瞭解 Helm 中的版本,請參閱 Helm 說明文件中的「Three big concepts」(三大概念)。
    • ENV_NAME 是要升級的環境名稱。
    • OVERRIDES_FILE 是覆寫檔案。
  3. 升級至 Hybrid 1.14.3 以上版本。
382565315 hybrid 1.13.0、
hybrid 1.13.1、
hybrid 1.13.2、
hybrid 1.14.0
已修正:Hybrid 1.13.3 和 Hybrid 1.14.1

在 SecurityPolicy 中使用 LogTimer 可能會導致記憶體流失。

在某些情況下,Apigee hybrid 的記錄器執行緒可能會耗盡所有可用記憶體。舉例來說,如果記錄項目頻繁記錄與 Javacallout 相關的權限錯誤,可能會導致 OOM。

421190799 Apigee Apigee 1-15-0-apigee-7 已修正

Apigee 擴充功能處理器不支援超過 100 KB 的資料處理,做為要求和回應主體事件的一部分。

432315283 Apigee OPEN

更新 KeyStore 或 TrustStore 時,如果未建立新的 KeyStore 或 TrustStore,執行階段更新可能會失敗,並導致下列間歇性錯誤:

  {"fault":{"faultstring":"SSL Handshake failed sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target","detail":{"errorcode":"messaging.adaptors.http.flow.SslHandshakeFailed"}}}

這項錯誤會間歇性發生,因為 KeyStore 或 TrustStore 更新可能會在一個執行階段 Pod 上失敗,但在其他 Pod 上成功。如要避免這個問題,請建立新的金鑰儲存區或信任儲存庫,藉此更新金鑰儲存區或信任儲存庫。按照「 憑證到期時」一節所述,將參照重新指向新的 KeyStore 或 TrustStore。

412740465 混合式 1.14.0 以上版本 混合式 1.14.3 和混合式 1.15.1 版本已修正此問題

自 Apigee hybrid 1.14.0 版起,系統不會再自動新增 Zipkin 追蹤標頭 (x-b3-*)。

不適用

Apigee Hybrid 開啟 如果使用 httpProxy 設定非 API Proxy 轉送,但未設定 envs.httpProxy,則 Proxy 設定不會套用至 Apigee 執行階段對 Pub/Sub 等服務或其他 Google Cloud API 的外部呼叫。

如果您只指定 httpProxy,也必須確保 *.googleapis.com 已加入 Apigee Runtime Pod 的允許清單,才能連線至這些服務。

請參閱「設定 API Proxy 的轉送 Proxy」。

416634326 hybrid 1.14.2 以上版本 混合式 1.14.3 和混合式 1.15.1 版本已修正此問題

Apigee Hybrid 叢集中存在 istio.io 自訂資源定義 (CRD) 時,可能會導致 apigee-ingressgateway-manager Pod 發生故障。

將 Apigee Hybrid 從舊版升級至 1.14.2 以上版本時,如果存在現有的 istio.io CRD,可能會導致 apigee-ingressgateway-manager Pod 的 discovery 容器中出現就緒探測失敗。

解決方法:Apigee hybrid 1.14.2 以上版本不需要 istio.io CRD。解決這個問題的方法有兩種:

  • 如果您在叢集中只使用 Istio 執行 Apigee,請刪除 istio.io CRD。
  • 更新 apigee-ingressgateway-manager clusterrole,為 istio.io 新增權限。

完成上述任一選項後,您必須重新啟動 apigee-ingressgateway-manager Pod。

刪除 CRD

  1. 將叢集中的 istio.io CRD 列入 CSV 檔案:
    kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io > istio-crd.csv
  2. 選用:將 CRD 儲存在本機,以備日後需要重新建立:
    kubectl get crd $(cat istio-crd.csv) -o yaml > istio-crd.yaml
  3. 刪除 istio.io CRD:

    模擬測試:

    kubectl delete crd $(cat istio-crd.csv) --dry-run=client

    執行:

    kubectl delete crd $(cat istio-crd.csv)

更新叢集角色

  1. 取得目前的 apigee-ingressgateway-manager clusterrole:
    kubectl get clusterrole apigee-ingressgateway-manager-apigee -o yaml > apigee-ingressgateway-manager-apigee-clusterrole.yaml
  2. 將叢集角色複製到新位置:
    cp apigee-ingressgateway-manager-apigee-clusterrole.yaml apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml
  3. 在檔案結尾加入下列額外權限:
    - apiGroups:
      - gateway.networking.k8s.io
      resources:
      - gatewayclasses
      - gateways
      - grpcroutes
      - httproutes
      - referencegrants
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - networking.istio.io
      resources:
      - sidecars
      - destinationrules
      - gateways
      - virtualservices
      - envoyfilters
      - workloadentries
      - serviceentries
      - workloadgroups
      - proxyconfigs
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - security.istio.io
      resources:
      - peerauthentications
      - authorizationpolicies
      - requestauthentications
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - telemetry.istio.io
      resources:
      - telemetries
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - extensions.istio.io
      resources:
      - wasmplugins
      verbs:
      - get
      - list
      - watch
    
  4. 套用角色:
    kubectl -n APIGEE_NAMESPACE apply -f apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml

完成上述選項後,請重新啟動 apigee-ingressgateway-manager Pod。

  1. 列出要重新安裝或重新建立的 ingress-manager Pod:
    kubectl get deployments -n APIGEE_NAMESPACE

    輸出內容範例:

    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager       1/1     1            1           32d
    apigee-ingressgateway-manager   2/2     2            2           32d
    
  2. 重新啟動 ingress-manager Pod:
    kubectl rollout restart deployment -n APIGEE_NAMESPACE apigee-ingressgateway-manager
  3. 幾分鐘後,監控 apigee-ingressgateway-manager Pod:
    watch -n 10 kubectl -n APIGEE_NAMESPACE get pods -l app=apigee-ingressgateway-manager

    輸出內容範例:

    NAME                                             READY   STATUS    RESTARTS   AGE
    apigee-ingressgateway-manager-12345abcde-678wx   3/3     Running   0          10m
    apigee-ingressgateway-manager-12345abcde-901yz   3/3     Running   0          10m
    
414499328 hybrid 1.14.1 已在 Hybrid 1.14.3 和 Hybrid 1.15.0 中修正

ApigeeTelemetry 可能會卡在 creating 狀態。

這個問題曾發生在 OpenShift 安裝作業中。

解決方法:修改 apigee-operator 圖表範本,建立正確的 clusterrole 存取權。

  1. 編輯 helm-charts/apigee-operator/templates/apigee-operators.yaml 範本檔案,找出 -apigee-manager-role- clusterrole 的定義。開頭為:
    kind: ClusterRole
    metadata:
      name: apigee-manager-role-{{ include 'namespace' }}
    rules:
      ...
                  
  2. 找出 - apiGroups: apiregistration.k8s.io 區塊,並將 apiservices/finalizers 資源新增至資源清單:
    - apiGroups:
      - apiregistration.k8s.io
      resources:
      - apiservices
      - apiservices/finalizers
      verbs:
      - create
      - delete
      - get
      - patch
      - update
      
  3. 找出 - apiGroups: authorization.k8s.io 區塊,並在該區塊結尾後方新增 - apiGroups: apigee.cloud.google.com 區塊,並加入以下文字:
    - apiGroups:
      - apigee.cloud.google.com
      resources:
      - apigeetelemetries/finalizers
      verbs:
      - get
      - patch
      - update
    

    例如:

    - apiGroups:
      - authorization.k8s.io
      resources:
      - subjectaccessreviews
      verbs:
      - create
      - get
      - list
    - apiGroups:
      - apigee.cloud.google.com
      resources:
      - apigeetelemetries/finalizers
      verbs:
      - get
      - patch
      - update
    
  4. 將變更套用至「apigee-operator」圖表:

    模擬測試:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    升級圖表:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE \
    
402739748 Apigee OPEN

API 產品的路徑數量上限為 50 個。如果新增其他路徑,系統會顯示錯誤訊息: Operation group limit of 51 exceeded in Operation Config

解決方法:使用萬用字元模式合併資源路徑和作業,詳情請參閱「 設定資源路徑」。

解決方法:建立多個 API 產品。這項解決方法已通過驗證,適用於在 API 產品中新增大量 API Proxy 的使用者。與 API 產品相關聯的應用程式需要更新,納入新的應用程式,但憑證和用戶端要求詳細資料不需要變更。

291294211 Apigee OPEN

使用營利功能時,如果按照安裝費用類型選取資料,則無法使用自訂報表和統計資料 API。

解決方法:先在用戶端擷取所有費用類型,再進行篩選。

391140293 Apigee
Apigee Hybrid
已修正

Istio 輸入 Pod 的資源調度作業可能會導致 503 錯誤。

Istio 輸入 Pod 的資源調度有時可能會導致 503 錯誤。如果發生 503 錯誤,負載平衡器的記錄檔會顯示以下訊息:statusDetails: backend_connection_closed_before_data_sent_to_client。

解決方法:手動調度 Istio Ingress Pod。

368155212 hybrid 1.14.0
hybrid 1.14.1
已修正:Hybrid 1.14.2

ESS 和 非 ESS 如果機構採用「增強型 Proxy 限制」,則無法輪替 Cassandra 憑證。

執行階段流量不受影響。

401624396 hybrid 1.13.x
hybrid 1.14.x
OPEN 還原從多區域設定擷取的 GCP 或 HYBRID 雲端服務供應商備份時,Apigee 還原工作失敗。這個問題不會影響CSI還原作業。

使用 GCP 和 HYBRID 從多區域設定建立的備份 雲端服務供應商 包含快照建立時所有混合區域的相關資訊。由於這些區域已不存在,還原工作會與 Cassandra 的目前狀態衝突,並失敗並顯示下列錯誤:Unrecognized strategy option passed to NetworkTopologyStrategy。

401746333 Apigee
hybrid 1.12.4
hybrid 1.13.3
hybrid 1.14.1
已修正

使用 JavaCallout 政策時,Nimbus JOSE + JWT 程式庫可能會導致 java.lang.ClassCircularityError。

如果您有啟用 Apigee Hybrid 的機構,且 JavaCallout 政策使用 Nimbus JOSE + JWT 程式庫,請勿升級至 Hybrid 1.12.4、Hybrid 1.13.3 或 Hybrid 1.14.1。

397693324 hybrid 1.14.0
hybrid 1.14.1
混合式 1.14.2 版已修正

ESS 和 非 ESS 除了第一個區域外,所有區域的多區域 Cassandra 憑證輪換都會失敗。

執行階段流量不受影響。

請按照提供的解決方法解決這個問題。

391861216 hybrid 1.13.x
hybrid 1.14.x
已修正於混合式 1.13.3 和混合式 1.14.1 如果使用 GCP 或 HYBRID Cloud Providers 還原 Hybrid 叢集,重新啟動 Cassandra Pod 會導致 Pod 進入 CrashLoopBackoff 狀態。這個問題不會影響 CSI 還原。

套用 Cassandra 覆寫變更後 (例如重新啟用備份),Cassandra Pod 會重新啟動,進而觸發這個問題。處於 CrashLoopBackoff 狀態的 Cassandra Pod 記錄會顯示下列錯誤:Cannot change the number of tokens from 512 to 256。

請按照提供的解決方法解決這個問題。

388608440 hybrid 1.11.x
hybrid 1.12.x
混合式 1.12.4 以上版本已修正 Apigee 備份工作不會清除 Cassandra 中間快照。

在極少數情況下,Apigee 備份工作不會清除使用 HYBRID 或 GCP 雲端服務供應商進行備份時建立的 Cassandra 中繼快照。只有在基礎問題導致備份程序無法成功連線至遠端伺服器或 Cloud Storage 時,才會發生這種情況。如果連線問題持續發生,這些剩餘的 Cassandra 快照可能會隨著時間累積,並使用 Cassandra 磁碟上的儲存空間。 如果受到影響,請修正基礎連線問題,然後按照 Cassandra 疑難排解指南中的步驟,手動清除 Cassandra 快照。

392135466 hybrid 1.14.0 開啟 使用強化版個別環境 Proxy 限制時,不支援透過 mTLS 鏈結 Proxy
383334511 Apigee 開啟 建立的 KVM 項目名稱不符預期

如果 KeyValueMapOperations 政策搭配 apiproxy 範圍使用,且政策的 <Put> 作業是透過流程掛鉤在共用流程中呼叫,系統會在共用流程名稱下建立 KVM 項目。應在 API Proxy 名稱下建立。

384937220

hybrid 1.14.0 已修正 如果有多個虛擬主機,Helm 版本建立作業可能會失敗。

如果有多個虛擬主機,Helm 版本建立作業可能會因 ApigeeRoute 名稱衝突而失敗。解決方法是在建立虛擬主機時,為每個虛擬主機執行下列指令:

kubectl annotate ar apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite
kubectl annotate cert apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite

其中:

  • PROJECT_ID_SUFFIX 是 Kubernetes 專案的內部鏈結專屬後置字串。您可以使用下列指令找出這個尾碼:
    kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining

    輸出內容應如下所示:

    kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining
    apigee-ingressgateway-internal-chaining-my-project--1234567    ClusterIP  34.118.226.140  <none>    15021/TCP,443/TCP    5d6h

    在範例輸出內容中,my-project--1234567 是 PROJECT_ID_SUFFIX。

  • APIGEE_NAMESPACE 是 Apigee 命名空間。
  • NEW_ENV_GROUP_NAME 是額外環境群組的名稱。請為每個虛擬主機更新這個值。

不適用

Apigee Hybrid OPEN 無效的服務帳戶可能會導致 UpdateControlPlaneAccess API 進入重試迴圈。

如果使用者提供無效的服務帳戶給 UpdateControlPlaneAccess API,作業會進入重試迴圈,導致機構無法叫用 API,直到作業逾時為止。

373722434 hybrid 1.13.x 已修正,適用於混合式 1.13.2 以上版本 Apigee 備份工作無法上傳至設有保留政策的 Cloud Storage bucket。

使用 GCP 雲端服務供應商時,Apigee 備份工作無法上傳至設有資料保留政策的 Cloud Storage bucket。備份檔案可能會留在 Cloud Storage bucket 中,檔案大小為 0 個位元組。

解決方法:停用 Cloud Storage bucket 的資料保留政策。

341099433

Apigee Hybrid 開啟 apigee-logger 元件不支援 Workload Identity Federation。

apigee-logger 會使用 Google IAM 服務帳戶,將記錄檔傳送至 Cloud Logging。這是因為 FluentBit 不支援 Workload Identity Federation,導致 apigee-logger 無法使用這項功能。

不適用

Apigee Hybrid OPEN 如果組織使用資料落地功能,則不支援 Apigee Hybrid 的分散式追蹤功能。

不適用

Apigee 開啟 Apigee 不支援金鑰重新加密,也就是說,即使輪替後,系統仍會使用舊版金鑰,且您無法在建立機構後變更 CMEK 金鑰。

270574696

Apigee 已修正 Apigee 不支援 Cloud External Key Manager。

268104619

Apigee
Apigee Hybrid
OPEN 在 OASValidation 政策中,如果您在標頭中指定陣列型別,即使輸入內容有效,MP 也會擲回錯誤。

364872027

Apigee
Apigee hybrid
已修正 JWT/JWS 政策中的 PEM 剖析錯誤,因為格式不符合標準

在 Apigee 和 Apigee Hybrid 1.13 以上版本中,如果 Apigee JWS 或 JWT 政策所用金鑰的必要 PEM 格式有任何偏差,可能會導致剖析錯誤。舉例來說,在 "-----END" 行 (封裝後邊界) 前方緊接任何非換行字元 (/n) 都是不允許的,會導致錯誤。

為避免發生這項錯誤,請確認封裝後邊界前方沒有任何字元 (例如尾端空格或斜線),只有換行符號。

如要進一步瞭解公開或私密金鑰使用的編碼,請參閱 IETF RFC 7468。

310191899

Apigee
Apigee Hybrid
開啟 部署 API Proxy 和共用流程時逾時

如果每秒查詢次數 (QPS) 較高,使用下列端點時可能會發生逾時問題:

為降低逾時的可能性,建議您在使用這些端點時,將目標設為 1 QPS,或在嘗試其他部署作業前,先檢查部署作業的狀態。

329304975

Apigee 已修正 每個環境的基本路徑數量限制

為避免部署 API Proxy 修訂版本時發生潛在失敗,Apigee 對每個環境暫時強制執行 1000 個基本路徑的限制。

在設有這項限制期間,每個環境最多可部署 1000 個 API Proxy 修訂版本 (每個版本都包含單一基準路徑)。 如果 API Proxy 或修訂版本包含多個基本路徑,則每個環境的基本路徑總數不得超過 1000 個。

333791378

hybrid 1.12.0 OPEN Helm 遷移工具不支援 Cassandra 備份和還原功能

如需安裝修補程式的步驟,請參閱「 疑難排解」。

310384001

hybrid 1.11.0 OPEN 如果使用者在目標 <SSLInfo> 區塊中新增 <Enforce>true</Enforce> 標記,用於預設驗證 TLS 目標端點憑證,憑證驗證失敗時可能會傳回 502 錯誤回應,而非 503。

289583112

Apigee 開啟 OASValidation 政策不適用於 OpenAPI 規格中的全域安全性需求

如果 OASValidation 政策指定 <OASResource>,且安全性需求設為全域層級,系統就不會強制執行安全性需求。

解決方法:為確保強制執行,所有安全性需求都必須在 OASValidation 政策 <OASResource> 元素中傳遞的 OpenAPI 規格中,設定於作業層級。

205666368

Apigee
hybrid 1.10.2
hybrid 1.10.3
Apigee 1-10-0-apigee-6 和
Hybrid 1.10.3-hotfix.1 已修正這個問題
Apigee hybrid 預設不會驗證目標憑證。

請參閱「關於在目標端點或目標伺服器中設定 TLS 選項」。

295929616

hybrid 1.10.0 以上版本 已修正:Hybrid 1.10.3 在 OpenShift (OSE) 上安裝 Apigee Hybrid 1.10 時,可能會因記憶體不足而失敗。

在 OSE 上安裝或升級至 Apigee Hybrid 1.10.0 至 1.10.2 時,可能會因為記憶體不足而失敗。已在 Apigee Hybrid 1.10.3 版中修正。

292118812

hybrid 1.10.1 已修正 apigee-udca 可能不會採用 HTTP Proxy 設定。

如果防火牆強制所有流量通過轉送 Proxy,apigee-udca 可能會進入當機迴圈輪詢狀態。

292558790

Apigee
Hybrid 1.8.0 以上版本
OPEN OASValidation 政策失敗,並顯示 Unable to parse JSON 錯誤。
  • 如果 JSON 內容與預期模式不符,OASValidation 政策就會失敗。舉例來說,如果標頭預期值的格式為 <text>@<text>,但填入的文字缺少 @ 符號,政策就會失敗,並傳回 Unable to parse JSON 錯誤。
  • 如果 OASValidation 政策指定的 <OASResource> 包含使用 $ref 結構定義的 path 參數,政策會失敗並顯示 Unable to parse JSON - Unrecognized token 錯誤。

    解決方法:請勿在 <OASResource> 元素指定的 OpenAPI 規格 path 參數中使用 $ref。

297012500

Apigee
Hybrid 1.8.0 以上版本
OPEN 使用循環參照時,OAS 驗證發生部署問題。
  • 使用 OpenAPI 3.0.0 規格的循環參照時,OAS 驗證政策會導致 Apigee 部署作業失敗,因為這會進入無限迴圈。
  • 解決方法:使用沒有循環參照的 OpenAPI 規格 YAML。

289254725

Apigee
Apigee 1-10-0-apigee-3
hybrid 1.8.8
hybrid 1.9.3
Apigee 1-10-0-apigee-5
已修正,Hybrid 已修正
包含 OASValidation 政策的 Proxy 部署作業可能會失敗。

如果發生下列情況,包含 OASValidation 政策的 Proxy 部署作業可能會失敗:

  • OASValidation 政策中用於驗證的 OpenAPI 規格為 YAML 格式,且
  • YAML 格式的 OpenAPI 規格包含浮點數。例如:
    schema:
    type: number
    example: 2.345

284500460

Apigee
Apigee 1-10-0-apigee-1
已修正 搭配 Cloud Logging 使用時,Message Logging 政策的延遲時間會增加。

為避免用戶端回應延遲時間增加,請將訊息記錄政策附加至 PostClientFlow。如要進一步瞭解如何在 PostClientFlows 中使用政策,請參閱「 使用流程控制 API Proxy」。

282997216

hybrid 1.8.0 以上版本
hybrid 1.9.0 以上版本
開啟 Cassandra Jolokia 密碼不得使用特殊字元

Cassandra Jolokia 密碼只能使用英數字元。使用特殊字元 (包括但不限於「!」、「@」、「#」、「$」、「%」、「^」、「&」和「*」) 可能會導致 Cassandra 啟動失敗。

270371160

hybrid 1.9.0 以上版本 已修正 Apigee Ingress 閘道僅支援 TLS1.2+ 通訊協定/加密方式

Apigee Ingress 閘道僅支援 TLS 1.2 以上版本,不支援舊版 TLS。

269139342

hybrid 1.7.0 以上版本 已修正 apigeectl getOrg 不會遵循 overrides.yaml 中的 HTTP_PROXY 設定

Apigee 組織驗證不會遵循 overrides.yaml 中設定的 HTTP 轉送 Proxy 規則。設定 validateOrg: false 即可略過這項驗證。

266452840

Apigee
hybrid 1.7.0 以上版本
hybrid 1.8.0 以上版本
hybrid 1.9.0 以上版本
已修正 WebSocket 無法與 Apigee X 和 Apigee hybrid 中的 Anthos 服務網格 1.15.3 搭配運作

在某些情況下,使用 Anthos 服務網格 1.15.3-asm.6 時,WebSocket 無法用於 Apigee X 和 Apigee hybrid。

287922301

Apigee 開啟 用量級距門檻附近的營利率不準確

由於目前的設計,系統可能會對接近量級門檻的交易評估不準確的營利比率。這會導致以門檻前費率評估的交易過多,且如果特定開發人員和費率方案組合的交易在 30 秒內發生多次,就更有可能發生這種情況。這表示營利報表會高估分級費率降低時的費用,並低估分級費率提高時的費用。這個問題會發生在 Apigee X 和 Apigee Hybrid 中,目前沒有已知的解決方法。 我們已開始解決問題,並會在日後推出的版本中提供解決方案。

242213234

Apigee 已修正 API 產品無法載入,並顯示「沒有可用的連線」錯誤

嘗試載入 API 產品時,可能會傳回這項錯誤: 「Products were not loaded successfully. 錯誤:Apigee Connect 代理程式沒有可用的連線。

在 Google Cloud 雲端專案中啟用 VPC Service Controls,並將 iamcredentials.googleapis.com 新增為 service perimeter 中的受限制服務後,就會發生這個問題。

解決方法:手動建立輸出規則,例如:

-egressTo:
    operations:
    -serviceName: "iamcredentials.googleapis.com"
        methodSelectors:
        -method:
    resources:
    -projects/608305225983
  egressFrom:
    identityType: ANY_IDENTITY

247540503

hybrid 1.7.0 以上版本
hybrid 1.8.0 以上版本
已修正 加密金鑰查詢的競爭狀況可能會導致 KVM 查詢失敗。

在某些情況下,如果處理量非常高,加密金鑰查詢的競爭狀況可能會導致 KVM 查詢失敗。

258699204

混合式 1.8.0 以上版本 已修正 指標 Pod 的預設記憶體要求和限制在 1.8.x 中意外變更。

如果發現 apigee-telemetry-app 或 apigee-telemetry-proxy Pod 未執行的問題,請變更 metrics 資源要求和資源限制屬性,以符合 設定屬性參考資料:指標中的下列預設值。

設定屬性 預設值
metrics.aggregator.resources.requests.memory: 512Mi
metrics.aggregator.resources.limits.memory: 3Gi
metrics.app.resources.requests.memory: 512Mi
metrics.app.resources.limits.memory: 1Gi
metrics.appStackdriverExporter.resources.requests.memory: 512Mi
metrics.appStackdriverExporter.resources.limits.memory: 1Gi
metrics.proxy.resources.requests.memory: 512Mi
metrics.proxy.resources.limits.memory: 1Gi
metrics.proxyStackdriverExporter.resources.requests.memory: 512Mi
metrics.proxyStackdriverExporter.resources.limits.memory: 1Gi

使用 apigeectl apply 搭配 ‑‑telemetry 旗標套用變更:

apigeectl apply --telemetry -f overrides.yaml

260324159

Apigee 1-9-0-apigee-16 已修正 API Proxy 和共用流程部署作業最多需要 30 分鐘。

在某些情況下,由於同步器發生「通訊端已關閉」錯誤,API Proxy 和共用流程可能需要約 20 到 30 分鐘才能部署至執行階段層。

214447386

全部 開啟 Apigee API 資料存取稽核記錄中會顯示「config not modified」訊息,做為 Error。

這項作業預計每分鐘執行一次,不會影響帳單費用。

260772383

混合式 1.8.0 以上版本 OPEN AKS 平台上的通訊端繫結錯誤

在 AKS 上安裝混合式服務時,可能會看到以下錯誤:

envoy config listener '0.0.0.0_443' failed to bind or apply socket options: cannot bind '0.0.0.0:443': Permission denied

解決方法:將下列 svcAnnotations 段落新增至覆寫檔案:

ingressGateways:
- name: INGRESS_NAME
...
svcAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"

請參閱「 設定混合式執行階段」。另請參閱 搭配 AKS 使用內部負載平衡器。

241786534

混合式 1.8.0 以上版本 已修正 MART 有時無法連線至 FluentD。

使用組織範圍的 UDCA 時,MART 有時無法連線至 FluentD。組織範圍的 UDCA 是 Apigee Hybrid 1.8 版的預設設定。請參閱設定屬性參考資料中的 orgScopedUDCA。

不適用 混合式 1.6.0 以上版本 OPEN apigee-logger 無法在搭載 CentOS 或 RHEL 的 Anthos BareMetal 上運作。

在 Apigee Hybrid 1.6.6 版中,將 apigee-logger 從 fluend 遷移至 fluent-bit 後,記錄器在搭載 CentOS 或 RHEL 的 Anthos BareMetal 上停止運作。

207762842 混合式 1.5.0 以上版本 已修正 apigee-logger 未將記錄檔傳送至 Cloud Logging。

目前的 apigee-logger 設定 (包括有效性探測) 與 Kubernetes 執行階段不相容,因此記錄檔無法正常傳送至 Cloud Logging。這個問題也會導致 apigee-logger Pod 定期停止運作。這個問題會影響 AKS、Anthos 裸機和其他平台上的 Apigee hybrid 安裝作業。請注意,在某些情況下,這個問題會導致記錄量過多。

191291501、191000617 Apigee 已修正 在使用者介面中變更開發人員實體的電子郵件地址會失敗。
191002224 混合式 1.5.0 以上版本 已修正 使用 PUT /organizations/{org_name}/developers/{developer_email} API 時無法變更電子郵件地址。
184555974 混合式 1.5.0 以上版本 已修正 apigee-logger Fluentd 無法剖析 OpenShift 叢集中的記錄。
不適用 封存部署作業 開啟 不支援在 UI 中管理及偵錯 Apigee 封存部署項目

在 Apigee UI 中,您無法查看、確認部署狀態或管理封存部署項目 (如「 部署 API Proxy」所述),也無法使用偵錯 UI (如「 使用偵錯功能」所述)。如要解決這個問題,可以使用 gcloud 或 API 列出環境中的所有封存部署作業,並使用 Debug API。

不適用 封存部署作業 OPEN 不支援復原封存部署作業

目前不支援還原封存的部署作業。 如要移除封存部署作業的版本,請 重新部署封存的先前版本,或 刪除環境。

421402073

在 VS Code 中使用 Apigee OPEN Visual Studio Code (VS Code) 中的 Apigee 不支援政策中的 Google 驗證

如「 使用 Google 驗證」一文所述,Apigee in VS Code 不支援 ServiceCallout 和 ExternalCallout 政策中的 Google 驗證。

422757662 Apigee 1-15-0-apigee-5
hybrid 1.15.0
Apigee 1-15-0-apigee-7 和 Apigee 1-15-0-apigee-8 已修正

停用 DistributedTrace 時,無法使用 x-b3 標頭

在 Apigee 1-15-0-apigee-5 和混合式 1.15.0 版本中,如果停用分散式追蹤,Apigee 會停止將 x-b3 標頭傳送至目標端點。不過,無論是否啟用分散式追蹤,部分 Apigee 安裝作業都會依賴傳送的 x-b3 標頭。因此,這項異動已從 Apigee 1-15-0-apigee-7 開始還原。

146222881 混合式 1.3.0 以上版本 已修正 HTTP 標頭無效錯誤

HTTP 標頭無效錯誤:Istio Ingress 會將所有傳入的目標回應切換至 HTTP2 通訊協定。由於混合式訊息處理器僅支援 HTTP1,因此呼叫 API Proxy 時,您可能會看到下列錯誤:

http2 error: Invalid HTTP header field was received: frame type: 1, stream: 1,

name: [:authority], value: [domain_name]

如果看到這則錯誤訊息,請採取下列任一做法來修正問題:

  • 修改目標服務,在回應中省略 Host 標頭。
  • 如有需要,請在 API Proxy 中使用 AssignMessage 政策移除 Host 標頭。

420985360

整合式入口網站 OPEN SmartDocs
  • 在入口網站上使用 SmartDocs 發布 API 時,Apigee 支援 OpenAPI 規格 3.0,但部分功能尚不支援。舉例來說,allOf 屬性可合併及擴充結構定義。

    如果 OpenAPI 規格中參照了不支援的功能,在某些情況下,工具會忽略該功能,但仍會顯示 API 參考文件。在其他情況下,不支援的功能會導致錯誤,使 API 參考文件無法成功算繪。無論是哪一種情況,您都必須修改 OpenAPI 規格,避免使用不支援的功能,直到未來版本支援該功能為止。

  • 「試用這個 API」有下列限制:
    • 無論 OpenAPI 規格中為 consumes 設定的值為何,Accept 標頭都會設為 application/json。
    • 不支援字串以外的要求標頭類型。
不適用 整合式入口網站 開啟 入口網站管理員

  • 目前不支援多位使用者同時更新入口網站 (例如編輯頁面、主題、CSS 或指令碼)。
  • 如果從入口網站刪除 API 參考文件頁面,就無法重新建立。您必須刪除並重新加入 API 產品,然後重新產生 API 參考文件。
  • 自訂入口網站主題時,變更最多可能需要 5 分鐘才會全面套用。
不適用 整合式入口網站 OPEN 入口網站功能

我們會在日後推出的版本中,將搜尋功能整合至整合式入口網站。

不適用 整合式入口網站 OPEN SAML 識別資訊提供者

自訂網域不支援使用 SAML 識別資訊提供者進行單一登出 (SLO)。如要為 SAML 識別資訊提供者啟用自訂網域,請在 設定 SAML 設定時,將「登出網址」欄位留空。

191815997 hybrid 1.6.0 以上版本 已修正 如果混合式客戶為 API Proxy 設定轉送 Proxy,Google 權杖必須具備 *.googleapis.com 的直接存取權,才能正常運作。
不適用 Apigee 已在 Apigee 1-12-0-apigee-2 和 Hybrid 1.12.0 中修正 API Monitoring 和 Cloud Monitoring 顯示異常高峰

  • API Proxy 要求和回應計數 (適用於 Proxy 和目標) 顯示異常尖峰

    以下是這類尖峰的範例:

    (查看放大圖片)

  • 由於系統發生錯誤,因此在短時間內記錄的計數有誤,但隨後已修正。如果 API 流量減少 (導致 API 閘道縮減),就會發生這種情況。
  • 如要區分實際的請求量尖峰與這個問題,請參閱 API Analytics 頁面 (特別是「Proxy Performance」和「Target Performance」頁面)。

受影響的指標:

  • apigee.googleapis.com/proxyv2/request_count
  • apigee.googleapis.com/proxyv2/response_count
  • apigee.googleapis.com/targetv2/request_count
  • apigee.googleapis.com/targetv2/response_count

新指標

您可以改用新指標,避免發生這個問題。

指標 說明
apigee.googleapis.com/proxy/request_count 自上次記錄樣本以來,向 Apigee Proxy 發出的要求數量。
apigee.googleapis.com/proxy/response_count Apigee API Proxy 傳送的回應數量。
apigee.googleapis.com/proxy/latencies 延遲時間分布,計算方式是從 Apigee Proxy 收到要求時起算,到 Apigee Proxy 將回應傳送給用戶端為止。
apigee.googleapis.com/target/request_count 自上次記錄樣本以來,傳送至 Apigee 目標的要求數量。
apigee.googleapis.com/target/response_count 自上次記錄樣本以來,從 Apigee 目標收到的回應數量。
apigee.googleapis.com/target/latencies 延遲時間分配情形,計算方式是從要求傳送至 Apigee 目標的時間,到 Apigee Proxy 收到回應的時間。時間不含 Apigee API Proxy 負載。

如果是 Apigee Hybrid,請參閱「指標收集總覽」和「查看指標」。

203778087 hybrid 1.5.3 以上版本 OPEN apigee-stackdriver-logging-agent 目前以根層級執行。

解決方法:停用混合式 Logging 代理程式。

205629443 Apigee 已修正 如果 ServiceCallout 是「fire and forget」(沒有 <Response> 標記),且後面有其他政策,則可能會發生競爭狀況。

解決方法:如要維持「啟動後便不須控制」的行為,請按照下列步驟操作:

  1. 將 <Response>calloutResponse</Response> 新增至 ServiceCallout。
  2. 將 continueOnError 設為 true。
207719377 Apigee 已在 Apigee 1-11-0-apigee-1 中修正 如果套件中有多項 SpikeArrest 政策,系統會發生 502 錯誤。

解決方法:請避免在 Proxy 中使用多個 SpikeArrest 政策,以免發生問題。

209097822 hybrid 1.5.0 以上版本
Apigee
已修正 尖峰停滯中的費率動態更新可能不會立即反映

如果特定金鑰有持續流量,則該金鑰可能不會以更新後的頻率限制。如果特定金鑰在五分鐘內沒有流量,系統就會反映費率。

解決方法:如果費率必須立即生效,請使用新的參照變數重新部署 Proxy。或者,使用兩個具有不同流程變數的條件式尖峰流量防護機制,調整速率。

221305498 Apigee OPEN API 監控可能會顯示「(not set)」的錯誤代碼。

如果目標傳回的狀態不是 2xx,可設定 API Proxy 的 API 監控功能可能會顯示「(not set)」的錯誤代碼。

246774745 Apigee 已修正 與多個動態目標搭配使用時,系統不會採用 io.timeout.millis 的值。

如果 Proxy 在兩個以上的流程中,使用相同的目標主機設定兩個以上的 io.timeout.millis 值,系統只會採用一個 io.timeout.millis 值。

245664917 hybrid 1.8.x 已修正 可忽略 Apigee Hybrid 升級錯誤

升級至 Apigee hybrid 1.8.x 時,執行 apigeectl init 並確認 check-ready 成功後,如果查看 Pod,可能會發現 Cassandra 結構定義驗證工作處於錯誤狀態。這種情況不會造成任何損害,您可以放心進行升級程序的下一個步驟。

300660653 Apigee 已修正 將路徑相同的 Proxy 部署至多個環境時,系統應傳回錯誤,但實際並未傳回。這些環境會附加至相同的執行個體和環境群組

不允許將路徑相同的 Proxy 部署至附加至相同執行個體和環境群組的多個環境,且應傳回有關基本路徑衝突的警告訊息。但系統不會顯示錯誤,部署作業看起來也成功了。

解決方法:在部署期間和部署後,確認基本路徑與已部署的 Proxy 沒有衝突,並視需要修正。

301458133 Apigee 已修正 部分 Proxy 部署作業嘗試傳回修訂版本不可變更的錯誤

嘗試儲存先前部署的 Proxy 時,部署作業可能會失敗,並顯示修訂版本不可變更的錯誤訊息。

解決方法:按一下「儲存」按鈕旁的下拉式箭頭,然後選取「另存為新的修訂版本」。然後重新嘗試部署。

301845257 Apigee 已修正 嘗試將超過 800 個 Proxy 部署至環境群組時,系統會顯示錯誤訊息。如果基本路徑長度超過 15 個字元,則傳回錯誤的限制會低於 800。

315820718 Apigee 已修正 如果是 gRPC Proxy 要求,系統會從回應中移除 gRPC 結尾

呼叫 gRPC 目標伺服器時,系統只會傳回「grpc-status」結尾。回應中會移除所有其他預告片。

341157011 Apigee 已修正 在 Cloud Code 中使用 Gemini Code Assist 生成的規格,如果也包含非 ASCII UTF-8 字元,上傳至 API Hub 時就無法正確剖析。

因此,API 中心無法正確擷取作業、定義和其他中繼資料。
338285095 Apigee 已修正 與 AppGroup 相關聯的應用程式不會顯示在 Apigee 使用者介面的「應用程式」清單中。因此,使用者無法在控制台中存取應用程式的「應用程式詳細資料」頁面。在問題解決前,控制台不支援使用部分應用程式名稱或 API 金鑰搜尋應用程式。

Apigee Hybrid 組織不受這個問題影響,因為他們使用傳統使用者介面查看應用程式詳細資料。

部分解決方法:您可以使用 API 查看所有應用程式的清單。請參閱 organizations.apps.list。
355714868 營利
Apigee Hybrid
已修正:hybrid 1.14.3、hybrid 1.15.1、hybrid 1.16.0 系統不會擷取或收取混合式機構的週期性、設定和加值費用資料

對於已啟用營利的混合式機構,系統不會擷取或收取後付費帳單的週期性費用 (RECURRING_FEE)、設定費用 (SETUP_FEE) 和加值費用 (TOPUP_FEE) 資料。如果是預付帳單,系統會從錢包扣除這些費用,但不會回報。
438850078 Apigee OPEN

當後端回應包含與父項結構定義相同的區別類型時,OASValidation 政策中會發生無限遞迴。這個問題可能會導致StackOverflowError。

449012244 Apigee OPEN

請為 SSE (伺服器傳送事件) 目標使用不同的目標端點定義。如果將 SSE 和非 SSE 目標端點混用,可能會導致行為不一致,例如 response.content 流程變數為空。

445936920 Apigee 1-16-0-apigee-2 以上版本 開啟

先前未偵測到的 DNS 設定問題,現在可能會導致 DNS 錯誤。Apigee 移除了 1-16-0-apigee-2 中的自動 DNS 備用功能。這項移除作業會導致平台無法因應 DNS 設定錯誤,現在可能導致 DNS 錯誤。

查看執行階段記錄,找出 DNS 解析錯誤,並找出相關錯誤。

383372330 Apigee Emulator 1.13.0 以上版本 (不含 1.15.1) Apigee Emulator 1.15.1 以上版本已修正

所有 Proxy 部署作業都會在本機失敗,並顯示包含 Error parsing deployment report as JSON 的錯誤訊息:

06/13/2025 6:45 PM EMULATOR INFO Deploying environment testenv, to Container apigee-1.14.2 (1.14.2)
06/13/2025 6:45 PM EMULATOR ERROR Error parsing deployment report as JSON
06/13/2025 6:45 PM EMULATOR ERROR null
06/13/2025 6:45 PM EMULATOR ERROR Environment testenv deployment, to Container apigee-1.14.2 (1.14.2) failed with Error: 500
06/13/2025 6:45 PM EMULATOR ERROR Deploy to Container apigee-1.14.2 (1.14.2), failed with Error: Environment testenv deployment, to Container apigee-1.14.2 (1.14.2) failed with Error: 500
修正方式:更新至 Apigee 模擬器 1.15.1 以上版本。