設定屬性參考資料

本節列出所有設定屬性,可用來自訂 Apigee hybrid 部署作業的執行階段層。

篩選這個頁面

如要篩選這個頁面顯示的屬性,請選取「基本」(最常見的屬性)或「進階」(很少需要變更的屬性):

螢幕   這個頁面上的設定屬性。

頂層屬性

下表說明 overrides.yaml 檔案中的頂層屬性。這些屬性不屬於其他物件,且適用於組織或環境層級:

屬性 類型 說明
axHashSalt 進階

推出版本:1.3.0

預設值: iloveapis123

選用

Kubernetes 密鑰的名稱,其中包含計算雜湊時使用的鹽,用於在將使用者資料傳送至 Apigee 數據分析之前模糊處理使用者資料。如未指定鹽值,系統預設會使用 iloveapis123。 建立密鑰,並以 salt 值做為輸入內容。您可以在多個叢集使用相同的鹽,確保叢集之間的一致性雜湊結果。

Apigee 會先使用 SHA512 雜湊處理原始值,再將資料從執行階段平面傳送至控制層。

請參閱「隱藏使用者資料以供數據分析」。

contractProvider 進階 推出版本:1.0.0

預設值: https://apigee.googleapis.com

定義安裝中所有 API 的 API 路徑。

如果混合式安裝使用資料落地,則必須採用下列格式:

contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com

其中 CONTROL_PLANE_LOCATION 是儲存控制層資料 (例如 Proxy 組合) 的位置。如需清單,請參閱「可用的 Apigee API 控制層區域」。

例如:

contractProvider: https://us-apigee.googleapis.com
customAutoscaling.enabled 基本 推出版本:1.14.0

預設值: true

設為 true (預設值) 時,會啟用 Apigee 的指標式自動調度資源。設為 false 即可停用自訂自動調度資源功能。

更新 apigee-telemetry 圖表,將變更套用至 customAutoscaling.enabled。

enhanceProxyLimits 進階 導入版本:1.14.0

預設值: false

必要

如要使用 Apigee 的「每個環境的 Proxy 數量上限提高」功能,必須啟用 enhanceProxyLimits。如果混合式組織有權使用強化版個別環境 Proxy 限制,請將此值設為 enhanceProxyLimits: true。

請參閱:

如要進行 Proxy 鏈結、端點鏈結和 ServiceCallout 鏈結,必須設定 enhanceProxyLimits: true。詳情請參閱:

更新每個環境群組的 apigee-org 圖表和 apigee-virtualhost 圖表,將變更套用至 enhanceProxyLimits。

gcpProjectID 進階 Deprecated: 如果是 1.2.0 以上版本,請改用 gcp.projectID。

推出版本:1.0.0

預設值: 無

必要

Google Cloud 專案 ID。可搭配 k8sClusterName (已淘汰) 和 gcpRegion (已淘汰) 使用,識別專案並判斷 apigee-logger 和 apigee-metrics 要將資料推送至何處。

gcpRegion 進階 Deprecated:如果是 1.2.0 以上版本,請改用 gcp.region。

推出版本:1.0.0

預設值: us-central1

必要

Kubernetes 叢集最接近的 Google Cloud 區域或可用區。與 gcpProjectID (已淘汰) 和 k8sClusterName (已淘汰) 搭配使用,可識別專案並判斷 apigee-logger 和 apigee-metrics 要將資料推送至何處。

hub 進階 導入版本:1.11.0

預設值:無

私人映像檔容器存放區的網址,用於從私人存放區提取所有 Apigee 元件的映像檔。

hub 提供所有 Apigee Hybrid 元件的預設路徑。如果您使用私人存放區,請使用 hub 為所有元件設定存放區網址,而非為每個元件使用個別的 image.url 屬性。如果您為特定元件使用獨立存放區,請只設定個別網址。

每個個別元件的圖片路徑會是 hub 的值,加上元件的圖片名稱和標記。

舉例來說,如果 hub private-docker-host.example.com 的值為,個別元件會自動解析圖片路徑:

hub: private-docker-host.example.com

:

containers:
- name: apigee-udca
  image: private-docker-host.example.com/apigee-udca:1.14.9
  imagePullPolicy: IfNotPresent

其他元件也會遵循類似的模式。

使用 apigee-pull-push --list 查看所有元件目前的存放區網址。

請參閱「搭配使用私人映像檔存放區與 Apigee hybrid」。

您可以使用下列屬性,覆寫個別元件的圖片網址:

imagePullSecrets.name 進階 版本:1.0.0

預設值:無

設為 docker-registry 類型的 Kubernetes 密鑰名稱,用於從私人存放區提取映像檔。

instanceID 基本 推出版本:1.3.0

預設值:無

必要

這個安裝作業的專屬 ID。

用於識別這個執行個體的專屬字串。可以混合使用英文字母和數字,長度上限為 63 個字元。

k8sClusterName 進階 Deprecated: 如為 1.2.0 以上版本,請改用 k8sCluster.name 和 k8sCluster.region。

推出版本:1.0.0

預設值:無

執行混合式專案的 Kubernetes (K8S) 叢集名稱。與 gcpProjectID (已淘汰) 和 gcpRegion (已淘汰) 搭配使用,可識別專案並判斷 apigee-logger 和 apigee-metrics 推送資料的位置。

kmsEncryptionKey 進階 推出版本:1.0.0

預設值: defaults.org.kmsEncryptionKey

選填。請只使用 kmsEncryptionKey、kmsEncryptionPath 或 kmsEncryptionSecret。

Apigee KMS 資料加密金鑰的本機檔案系統路徑。

kmsEncryptionPath 進階 推出版本:1.2.0

預設值:無

選用。請只使用 kmsEncryptionKey、kmsEncryptionPath 或 kmsEncryptionSecret。

檔案路徑,該檔案包含以 base64 編碼的加密金鑰。請參閱「資料加密」一節。

kmsEncryptionSecret.key 進階 推出版本:1.2.0

預設值:無

選填。請只使用 kmsEncryptionKey、kmsEncryptionPath 或 kmsEncryptionSecret。

Kubernetes 密鑰的鍵,內含 Base64 編碼的加密金鑰。請參閱「資料加密」一節。

kmsEncryptionSecret.name 進階 推出版本:1.2.0

預設值:無

選填。請只使用 kmsEncryptionKey、kmsEncryptionPath 或 kmsEncryptionSecret。

Kubernetes 密鑰的名稱,內含採用 Base64 編碼的加密金鑰。請參閱「資料加密」一節。

kvmEncryptionKey 進階 推出版本:1.0.0

預設值: defaults.org.kmsEncryptionKey

選用。請只使用 kvmEncryptionKey、kvmEncryptionPath 或 kvmEncryptionSecret 其中之一。

Apigee KVM 資料加密金鑰的本機檔案系統路徑。

kvmEncryptionPath 進階 推出版本:1.2.0

預設值:無

選用。請只使用 kvmEncryptionKey、kvmEncryptionPath 或 kvmEncryptionSecret 其中之一。

包含 Base64 編碼加密金鑰的檔案路徑。請參閱「資料加密」一節。

kvmEncryptionSecret.key 進階 推出版本:1.2.0

預設值:無

選用。請只使用 kvmEncryptionKey、kvmEncryptionPath 或 kvmEncryptionSecret 其中之一。

Kubernetes 密鑰的鍵,內含 Base64 編碼的加密金鑰。請參閱「資料加密」。

kvmEncryptionSecret.name 進階 推出版本:1.2.0

預設值:無

選用。請只使用 kvmEncryptionKey、kvmEncryptionPath 或 kvmEncryptionSecret 其中之一。

Kubernetes 密鑰的名稱,內含以 Base64 編碼的加密金鑰。請參閱「資料加密」。

multiOrgCluster 進階 推出版本:1.10.0

預設值: false

如果是多組織叢集,這項屬性可將組織的指標匯出至 gcp.projectID 屬性中列出的專案。在多機構叢集中,為每個機構的覆寫檔案套用這項設定。詳情請參閱「將多個混合式機構加入叢集」。

namespace 基本 推出版本:1.0.0

預設值: apigee

Kubernetes 叢集的命名空間,Apigee 元件會安裝於此。

org 基本

推出版本:1.0.0

預設值:無

必要

Apigee 在 Hybrid 安裝期間為您佈建的 Hybrid 啟用機構。機構是 Apigee 中的頂層容器,其中包含所有 API Proxy 和相關資源。如果值為空白,請在建立機構後,將值更新為機構名稱。

orgScopedUDCA 進階 推出版本:1.8.0

預設值: true

在機構層級啟用通用資料收集代理程式 (UDCA) 服務,擷取數據分析、營利和偵錯 (追蹤記錄) 資料,並傳送至位於控制層的 Unified Analytics Platform (UAP)。

組織範圍的 UDCA 會為所有 Apigee 環境使用單一 Google 服務帳戶。服務帳戶必須具備 Apigee Analytics 代理程式 (roles/apigee.analyticsAgent) 角色。

使用 udca.serviceAccountPath 屬性指定服務帳戶金鑰檔案的路徑,或使用 overrides.yaml 設定檔中的 udca.serviceAccountRef 屬性,在 Kubernetes 密鑰中提供金鑰。

如果您想為每個環境使用不同的 UDCA 代理程式,請設定 orgScopedUDCA: false,並設定 envs[].serviceAccountPaths.udca 和 envs[].serviceAccountSecretRefs.udca 的值。

另請參閱:udca。

revision 進階 推出版本:1.0.0

預設值: "1149" (不含句點的 Apigee Hybrid 版本。舉例來說,在 1.12.0 版中,預設值為 "1120"。)

Apigee Hybrid 支援 Kubernetes 滾動式更新,可透過增量更新 Pod 執行個體,完全不必停機即可部署更新。

更新某些 YAML 覆寫項目時,如果導致基礎 Kubernetes PodTemplateSpec 發生變更,客戶的 override.yaml 中也必須變更 revision 覆寫屬性。基礎 Kubernetes ApigeeDeployment (AD) 控制器必須具備這項權限,才能安全地從舊版本滾動式更新至新版本。你可以使用任何小寫文字值,例如:blue、a、1.0.0

變更並套用 revision 屬性後,所有元件都會進行滾動式更新

如要變更下列物件的屬性,必須更新 revision:

詳情請參閱「滾動式更新」。

serviceAccountSecretProviderClass 進階 推出版本:1.12.0

預設值:無

組織專屬 Secret 供應器類別 (SecretProviderClass) 的名稱,用於在 Vault 中儲存服務帳戶金鑰。

請參閱「在 Hashicorp Vault 中儲存服務帳戶金鑰」。

validateOrg 進階 推出版本:1.8.0

預設值: true

嚴格驗證 Apigee 機構與 Google Cloud 專案之間的連結,並檢查環境群組是否存在。

另請參閱 org

validateServiceAccounts 進階 版本:1.0.0

預設值: true

啟用服務帳戶權限的嚴格驗證。這會使用 Cloud Resource Manager API 方法 testIamPermissions,確認提供的服務帳戶具備必要權限。如果是 Apigee 機構的服務帳戶,專案 ID 檢查會對應至該機構。如果是 Metrics 和 Logger,系統會根據 gcpProjectID overrides.yaml 設定檢查專案。

另請參閱 gcpProjectID

ao

Apigee 運算子 (AO) 會建立及更新部署和維護元件所需的低階 Kubernetes 和 Istio 資源。舉例來說,控制器會執行訊息處理器的發布作業。

下表說明 apigee-operators ao 物件的屬性:

屬性 類型 說明
ao.args.disableIstioConfigInAPIServer 進階 推出版本:1.8.0

預設值: true

停止 Apigee 向客戶安裝的 Cloud Service Mesh 提供設定。

  • 如果是使用 Apigee Ingress 閘道的混合式安裝,請設為 true。
  • 使用 Cloud Service Mesh 進行混合安裝時,請設為 false (Apigee Hybrid 1.8 版和更早版本)。
ao.args.disableManagedClusterRoles 進階 推出版本:1.10.0

預設值: true

如果設為 true (預設),Apigee hybrid 不會直接管理 Kubernetes ClusterRole 和 ClursterRoleBinding。如果您的程序需要管理這些資源,則必須由具備正確權限的使用者執行。

ao.image.pullPolicy 進階 推出版本:1.2.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

ao.image.tag 進階 推出版本:1.2.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

ao.image.url 進階 推出版本:1.2.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

ao.resources.limits.cpu 進階 推出版本:1.2.0

預設值: 250m

Kubernetes 容器中資源的 CPU 限制,以毫核心為單位。

ao.resources.limits.memory 進階 推出版本:1.2.0

預設值: 256Mi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

ao.resources.requests.cpu 進階 推出版本:1.2.0

預設值: 250m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

ao.resources.requests.memory 進階 推出版本:1.2.0

預設值: 256Mi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

ao.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taints and Tolerations 功能。

effect 則指定容忍度與汙點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「污點和容忍:概念」。

ao.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

ao.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須使用 Kubernetes 的 Taints 和容許條件功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

ao.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 與失敗或無回應節點的繫結時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

ao.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

value 是觸發 effect 的值,前提是 operator 設為 Equal。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

apigeeIngressGateway

設定 Apigee Hybrid 的 Apigee Ingress 閘道。使用 apigeeIngressGateway 屬性,將通用設定套用至所有 Apigee Ingress 閘道執行個體。

請參閱 ingressGateways,瞭解如何單獨設定個別執行個體。

使用 apigee-org 圖表將變更套用至 apigeeIngressGateway 屬性。

下表說明 apigeeIngressGateway 物件的屬性:

屬性 類型 說明
apigeeIngressGateway.image.pullPolicy 進階 推出版本:1.11.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

apigeeIngressGateway.image.tag 進階 推出版本:1.11.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

apigeeIngressGateway.image.url 進階 導入版本:1.11.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

apigeeIngressGateway.nodeSelector.key 進階 導入版本:1.11.0

預設值:無

必要

節點選取器標籤鍵,用於指定 Ingress 閘道服務的專用 Kubernetes 節點。

請參閱「 設定專用節點集區」。

apigeeIngressGateway.nodeSelector.value 進階 導入版本:1.11.0

預設值:無

選用的節點選取器標籤值,用於指定 Ingress 閘道服務的專屬 Kubernetes 節點,並覆寫 nodeSelector.apigeeData 設定。

請參閱 nodeSelector。

apigeeIngressGateway.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願性中斷期間 (例如節點集區升級或節點排空期間),必須保持可用的 Apigee Ingress 閘道 Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。這個值可以是整數的 Pod 數量 (1),也可以是百分比字串 ("50%")。

minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩者。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,預設使用 maxUnavailable: 1。如要為特定閘道設定不同的預算,請使用 ingressGateways[].podDisruptionBudget.minAvailable。

例如,在 overrides.yaml 中:

apigeeIngressGateway:
  podDisruptionBudget:
    minAvailable: "50%"
apigeeIngressGateway.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願性中斷期間 (例如節點集區升級或節點排空期間),無法使用的 Apigee Ingress 閘道 Pod 數量上限。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,預設使用 maxUnavailable: 1。如要為特定閘道設定不同預算,請使用 ingressGateways[].podDisruptionBudget.maxUnavailable。

例如,在 overrides.yaml 中:

apigeeIngressGateway:
  podDisruptionBudget:
    maxUnavailable: 1
apigeeIngressGateway.replicaCountMax 基本 導入版本:1.11.0

預設值: 4

混合式部署可為自動調度資源的輸入閘道自動新增的 Pod 數量上限。

apigeeIngressGateway.replicaCountMin 基本 推出版本:1.11.0

預設值: 2

可供自動調整資源配置的 Ingress 閘道 Pod 數量下限。

apigeeIngressGateway.targetCPUUtilizationPercentage 進階 推出版本:1.10.5、1.11.2、1.12.1

預設值: 75

CPU 使用率門檻,用於調整 ReplicaSet 中的 Pod 數量,以可用 CPU 資源總量的百分比表示。

如果 CPU 使用率超過這個值,Hybrid 會逐步增加 ReplicaSet 中的 Pod 數量,最多可達 apigeeIngressGateway.replicaCountMax 個。

如要進一步瞭解 Kubernetes 中的調度功能,請參閱 Kubernetes 說明文件中的「水平自動調度 Pod 資源」。

apigeeIngressGateway.tolerations.effect 進階 推出版本:1.11.0

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 指定容忍度與污點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「Taints and Tolerations: Concepts」。

apigeeIngressGateway.tolerations.key 進階 導入版本:1.11.0

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints 和容許度:概念」。

apigeeIngressGateway.tolerations.operator 進階 推出版本:1.11.0

預設值: "Equal"

必須使用 Kubernetes 的 Taints 和容許條件功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

apigeeIngressGateway.tolerations.tolerationSeconds 進階 導入版本:1.11.0

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

apigeeIngressGateway.tolerations.value 進階 導入版本:1.11.0

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

value 是當 operator 設為 Equal 時,觸發 effect 的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

cassandra

定義用於管理執行階段資料存放區的混合式服務。這個存放區會儲存應用程式設定、分散式配額計數器、API 金鑰,以及在閘道上執行的應用程式的 OAuth 權杖。

詳情請參閱「StorageClass 設定」。

下表說明 cassandra 物件的屬性:

屬性 類型 說明
cassandra.annotations 進階 導入版本:1.5.0

預設值:無

用於註解 Pod 的選用鍵/值對應。詳情請參閱「自訂註解」。

cassandra.auth.admin.password 基本 版本:1.0.0

預設值: iloveapis123

必要

Cassandra 管理員的密碼。管理員使用者可用於在 Cassandra 叢集上執行任何管理活動,例如備份和還原。

cassandra.auth.ddl.password 基本 版本:1.0.0

預設值: iloveapis123

必要

Cassandra 資料定義語言 (DDL) 使用者的密碼。MART 會使用此權杖執行任何資料定義工作,例如建立、更新及刪除鍵空間。

cassandra.auth.default.password 基本 版本:1.0.0

預設值: iloveapis123

必要

啟用驗證時建立的預設 Cassandra 使用者密碼。設定 Cassandra 驗證時,必須重設這組密碼。請參閱「設定 Cassandra 的 TLS」。

cassandra.auth.dml.password 基本 版本:1.0.0

預設值: iloveapis123

必要

Cassandra 資料操縱語言 (DML) 使用者的密碼。用戶端通訊會使用 DML 使用者,在 Cassandra 中讀取及寫入資料。

cassandra.auth.image.pullPolicy 進階 推出版本:1.0.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

cassandra.auth.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

cassandra.auth.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

cassandra.auth.jmx.password 基本 推出版本:1.4.0

預設值: iloveapis123

必要

Cassandra JMX 作業使用者的密碼。用於驗證及與 Cassandra JMX 介面通訊。

cassandra.auth.jmx.username 基本 導入版本:1.4.0

預設值: jmxuser

必要

Cassandra JMX 作業使用者的使用者名稱。用於驗證及與 Cassandra JMX 介面通訊。

cassandra.auth.jolokia.password 基本 推出版本:1.4.0

預設值: iloveapis123

必要

Cassandra Jolokia JMX 作業使用者的密碼。用於驗證及與 Cassandra JMX API 通訊。

cassandra.auth.jolokia.username 基本 推出版本:1.4.0

預設值: apigee

必要

Cassandra Jolokia JMX 作業使用者的使用者名稱。用於驗證及與 Cassandra JMX API 通訊。

cassandra.auth.secret 基本 導入版本:1.3.3

預設值:無

儲存在 Kubernetes 密鑰中的檔案名稱,其中包含 Cassandra 使用者和密碼。您可以按照建立密鑰的操作說明建立密鑰。

另請參閱:

cassandra.auth.secretProviderClass 進階 推出版本:1.10.3

預設值:無

Cassandra 密鑰儲存政策。設定後,這個值必須與參照外部密鑰提供者 (例如 Hashicorp Vault) 的 SecretProviderClass 相符。如未設定,Apigee Hybrid 會使用儲存在下列位置的使用者名稱和密碼:

或儲存在下列位置的 Kubernetes Secret:

如需建立政策的操作說明,請參閱「在 Hashicorp Vault 中儲存 Cassandra 密鑰」。

cassandra.backup.cloudProvider 進階 推出版本:1.0.0

預設值: GCP

備份服務供應商的名稱。支援的值:GCP、HYBRID 和 CSI。將值設為:

  • GCP,將備份封存檔儲存在 Google Cloud Storage。
  • HYBRID:將備份封存檔儲存在遠端 SSH 伺服器。
  • CSI (建議) 使用 Kubernetes CSI 磁碟區快照進行備份。如要瞭解 Google Cloud、AWS 和 Azure 等雲端平台的 CSI 備份與還原作業,請參閱「CSI 備份與還原」。
cassandra.backup.dbStorageBucket 進階 版本:1.0.0

預設值:無

如果已啟用備份功能,且 cassandra.backup.cloudProvider 設為 GCP,則為必填。

現有 Google Cloud Storage bucket 的名稱,用於儲存備份封存檔。如需建立 bucket,請參閱「 建立 bucket」一文。

cassandra.backup.enabled 進階 推出版本:1.0.0

預設值: false

資料備份功能預設為停用。如要啟用,請設為 true。

請參閱「Cassandra 備份與復原」。

cassandra.backup.gsa 進階 導入版本:1.10.0

預設值:無

僅限 Helm:apigee-cassandra Google IAM 服務帳戶 (GSA) 的電子郵件地址,用於在 GKE 叢集上啟用 Workload Identity 時,與 Cassandra 備份 Kubernetes 服務帳戶建立關聯。當您將 gcp.workloadIdentity.enabled 設為 true,並將 cassandra.backup.enabled 設為 true 時,請設定此值。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-cassandra@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity Federation」。

cassandra.backup.image.pullPolicy 進階 推出版本:1.0.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

cassandra.backup.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

cassandra.backup.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

cassandra.backup.keyfile 進階 導入版本:1.3.0

預設值:無

如果已啟用備份功能,且 cassandra.backup.cloudProvider 設為 HYBRID,則為必填。

本機檔案系統中安全殼層私密金鑰檔案的路徑。

cassandra.backup.schedule 進階 推出版本:1.0.0

預設值: 0 2 * * *

備份 Cron 工作的排程。

請參閱「Cassandra 備份與復原」。

cassandra.backup.server 進階 導入版本:1.3.0

預設值:無

如果已啟用備份功能,且 cassandra.backup.cloudProvider 設為 HYBRID,則為必填欄位。

遠端 SSH 備份伺服器的 IP 位址。

cassandra.backup.serviceAccountPath 進階 版本:1.0.0

預設值:無

Google 服務帳戶金鑰檔案的路徑,該檔案具有 Storage 物件管理員 (roles/storage.objectAdmin) 角色。這個 Google 服務帳戶會用於將備份封存檔上傳至指定的 cassandra.backup.dbStorageBucket。

如果已啟用備份功能,且 cassandra.backup.cloudProvider 設為 GCP,則必須符合下列其中一項條件,Apigee Hybrid 才能存取 Google Cloud Storage bucket,上傳備份封存檔:

cassandra.backup.serviceAccountRef 進階 推出版本:1.2.0

預設值:無

現有 Kubernetes 密鑰的名稱,用於儲存 Google 服務帳戶金鑰檔案的內容,該檔案具有 Storage 物件管理員 (roles/storage.objectAdmin) 角色。這個 Google 服務帳戶會用於將備份封存檔上傳至指定的 cassandra.backup.dbStorageBucket。

如果已啟用備份功能,且 cassandra.backup.cloudProvider 設為 GCP,則必須符合下列其中一項條件,Apigee Hybrid 才能存取 Google Cloud Storage bucket,上傳備份封存檔:

cassandra.backup.storageDirectory 進階 導入版本:1.3.0

預設值:無

如果已啟用備份功能,且 cassandra.backup.cloudProvider 設為 HYBRID,則為必填。

可以是 apigee 使用者主目錄的絕對或相對路徑。

備份 SSH 伺服器上的備份目錄名稱。

cassandra.clusterName 基本 推出版本:1.0.0

預設值: apigeecluster

指定 Cassandra 叢集的名稱。

cassandra.datacenter 基本 推出版本:1.0.0

預設值: dc-1

指定 Cassandra 節點的資料中心。

cassandra.dnsPolicy 基本 推出版本:1.1.1

預設值:無

將 hostNetwork 設為 true 時,系統會為您將 DNS 政策設為 ClusterFirstWithHostNet。

cassandra.externalSeedHost 基本 推出版本:1.0.0

預設值:無

Cassandra 叢集節點的主機名稱或 IP。如未設定,系統會使用 Kubernetes 本機服務。

cassandra.heapNewSize 基本 版本:1.0.0

預設值: 100M

分配給較新物件的 JVM 系統記憶體配置量,以 MB 為單位。

cassandra.hostNetwork 基本 推出版本:1.1.1

預設值: false

啟用 Kubernetes hostNetwork 功能。如果 Pod 網路命名空間沒有叢集間的連線能力 (叢集以「島狀網路模式」執行),Apigee 會在多區域安裝中使用這項功能,在 Pod 之間通訊。這是非 GKE 安裝 (包括 Google Distributed Cloud on VMware 或裸機、AKS、EKS 和 OpenShift) 的預設情況。

針對單一區域安裝和多區域安裝,請將 cassandra.hostNetwork 設為 false,並在不同叢集中的 Pod 之間建立連線,例如 GKE 安裝。

如果多區域安裝作業中,不同叢集的 Pod 之間沒有通訊,請將 cassandra.hostNetwork 設為 true,例如 Google Distributed Cloud on VMware 或裸機、AKS、EKS 和 OpenShift 安裝作業。請參閱「多區域部署作業:必要條件」。

true,DNS 政策會自動設為 ClusterFirstWithHostNet。

cassandra.image.pullPolicy 進階 推出版本:1.0.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

cassandra.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

cassandra.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

cassandra.maxHeapSize 進階 版本:1.0.0

預設值: 512M

Cassandra 作業可用的 JVM 系統記憶體上限 (以 MB 為單位)。

cassandra.multiRegionSeedHost 基本 推出版本:1.0.0

預設值:無

現有 Cassandra 叢集的 IP 位址,用於將現有叢集擴展至新的區域。請參閱「設定多區域種子主機」。

cassandra.nodeSelector.key 進階 版本:1.0.0

預設值:無

必要

節點選取器標籤鍵,用於指定 cassandra 資料服務的專用 Kubernetes 節點。

請參閱「 設定專用節點集區」。

cassandra.nodeSelector.value 進階 版本:1.0.0

預設值:無

選用的節點選取器標籤值,用於指定 cassandra 資料服務的專用 Kubernetes 節點,並覆寫 nodeSelector.apigeeData 設定。

請參閱 nodeSelector。

cassandra.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-datastore

自願性中斷期間 (例如節點集區升級或節點排空期間),必須保持可用的 Cassandra Pod 數量下限。這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 minAvailable 欄位。這個欄位可接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

cassandra:
  podDisruptionBudget:
    minAvailable: "50%"
cassandra.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-datastore

在自願中斷期間 (例如節點集區升級或節點排除期間),無法使用的 Cassandra Pod 數量上限。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。可接受整數的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

cassandra:
  podDisruptionBudget:
    maxUnavailable: 1
cassandra.port 進階 推出版本:1.0.0

預設值: 9042

連線至 Cassandra 時使用的通訊埠編號。

cassandra.rack 基本 版本:1.0.0

預設值: ra-1

指定 Cassandra 節點的機架。

cassandra.readinessProbe.failureThreshold 進階 版本:1.0.0

預設值: 2

Kubernetes 會先驗證完備性探測失敗的次數,再將 Pod 標示為「尚未準備就緒」。最小值為 1。

cassandra.readinessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 0

容器啟動後,要等待幾秒才會啟動就緒探測。

cassandra.readinessProbe.periodSeconds 進階 版本:1.0.0

預設值: 10

決定執行 readiness 探測的頻率,以秒為單位。最小值為 1。

cassandra.readinessProbe.successThreshold 進階 推出版本:1.0.0

預設值: 1

readiness 探測失敗後,至少要連續成功幾次,才算成功。最小值為 1。

cassandra.readinessProbe.timeoutSeconds 進階 版本:1.0.0

預設值: 5

存活狀態探測逾時的秒數。最小值為 1。

cassandra.replicaCount 基本 推出版本:1.0.0

預設值: 1

Cassandra 是複製資料庫。這項屬性會指定做為 StatefulSet 的 Cassandra 節點數量。

cassandra.resources.requests.cpu 進階 推出版本:1.0.0

預設值: 500m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

cassandra.resources.requests.memory 進階 版本:1.0.0

預設值: 1Gi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

cassandra.restore.cloudProvider 進階 推出版本:1.0.0

預設值: GCP

還原供應商的名稱。支援的值:GCP、HYBRID 和 CSI。將值設為:

  • GCP:從儲存在 Google Cloud Storage 的備份還原資料。
  • HYBRID:從儲存在遠端 SSH 伺服器的備份還原資料。
  • CSI (建議) 使用 Kubernetes CSI 磁碟區快照進行還原。如要瞭解 Google Cloud、AWS 和 Azure 等雲端平台的 CSI 備份與還原功能,請參閱「CSI 備份與還原」。
cassandra.restore.dbStorageBucket 進階 版本:1.0.0

預設值:無

如果已啟用還原功能,且 cassandra.restore.cloudProvider 設為 GCP,則為必填。

Google Cloud Storage bucket 的名稱,用於儲存備份封存檔,以利資料還原。

cassandra.restore.enabled 進階 推出版本:1.0.0

預設值: false

資料還原功能預設為停用。如要啟用,請設為 true。

請參閱「Cassandra 備份與復原」。

cassandra.restore.gsa 進階 導入版本:1.10.0

預設值:無

僅限 Helm:在 GKE 叢集啟用 Workload Identity 時,要與 cassandra 還原 Kubernetes 服務帳戶建立關聯的 apigee-cassandra Google IAM 服務帳戶 (GSA) 電子郵件地址。當您將 gcp.workloadIdentity.enabled 設為 true,並將 cassandra.restore.enabled 設為 true 時,請設定此值。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-cassandra@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity Federation」。

cassandra.restore.image.pullPolicy 進階 推出版本:1.0.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

cassandra.restore.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

cassandra.restore.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

cassandra.restore.serviceAccountPath 進階 版本:1.0.0

預設值:無

具有「Storage 物件管理員」 (roles/storage.objectAdmin) 角色的 Google 服務帳戶金鑰檔案路徑。這個 Google 服務帳戶會用來從指定的 cassandra.restore.dbStorageBucket 下載備份封存檔。

如果啟用還原功能,且 cassandra.restore.cloudProvider 設為 GCP,則必須符合下列其中一項條件,Apigee Hybrid 才能存取 Google Cloud Storage bucket,下載備份封存檔進行還原:

cassandra.restore.serviceAccountRef 進階 推出版本:1.2.0

預設值:無

現有 Kubernetes 密鑰的名稱,用於儲存 Google 服務帳戶金鑰檔案的內容,該檔案具有 Storage 物件管理員 (roles/storage.objectAdmin) 角色。這個 Google 服務帳戶會用來從指定的 cassandra.restore.dbStorageBucket 下載備份封存檔。

如果已啟用還原功能,且 cassandra.restore.cloudProvider 設為 GCP,則必須符合下列其中一項條件,才能確保 Apigee Hybrid 可以存取 Google Cloud Storage bucket,下載備份封存檔以進行還原:

cassandra.restore.snapshotTimestamp 進階 版本:1.0.0

預設值:無

如果啟用還原功能,則為必填。

應還原的備份時間戳記。

cassandra.sslCertPath 基本 推出版本:1.2.0

預設值:無

系統中傳輸層安全標準 (TLS) 憑證檔案的路徑。

cassandra.sslKeyPath 基本 推出版本:1.2.0

預設值:無

系統中 TLS 私密金鑰檔案的路徑。

cassandra.sslRootCAPath 基本 推出版本:1.2.0

預設值:無

根 CA (憑證授權單位) 的憑證鏈結。

cassandra.storage.capacity 基本 推出版本:1.0.0

預設值: 10Gi

如果指定 storage.storageclass,則為必要欄位

指定所需的磁碟大小,以 MiB (Mi) 或 GiB (Gi) 為單位。

cassandra.storage.storageclass 基本 推出版本:1.0.0

預設值:無

指定使用的地端部署儲存空間級別。

cassandra.storage.storageSize 基本 推出版本:1.0.0

預設值: 10Gi

如果指定 storage.storageclass,則為必要欄位

指定所需磁碟大小,以 MiB 或 GiB 為單位。

cassandra.terminationGracePeriodSeconds 進階 推出版本:1.0.0

預設值: 300

要求刪除 Pod 與終止 Pod 之間的最長時間 (以秒為單位)。在這段期間,系統會執行所有 prestop 鉤子,且所有執行中的程序都應正常終止。所有執行中的程序終止或寬限期結束時 (以先發生者為準),Pod 就會終止。如果沒有執行中的程序,Pod 會立即終止。

cassandra.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taints and Tolerations 功能。

effect 指定容忍度與污點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「污點和容忍:概念」。

cassandra.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

cassandra.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints 和容許度:概念」。

cassandra.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

cassandra.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

value 是當 operator 設為 Equal 時,觸發 effect 的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

certManager

Apigee 會使用 cert-manager 驗證憑證。

下表說明 certManager 物件的屬性:

屬性 類型 說明
certManager.namespace 進階 推出版本:1.9.0

預設值: cert-manager

cert-manager 的命名空間。

請參閱「在自訂命名空間中執行 cert-manager」。

connectAgent

Apigee Connect 可讓 Apigee Hybrid 管理層安全連線至執行階段層中的 MART 服務,不必在網際網路上公開 MART 端點。

下表說明 connectAgent 物件的屬性:

屬性 類型 說明
connectAgent.annotations 進階 導入版本:1.5.0

預設值:無

用於為 Pod 加上註解的選用鍵/值對應。詳情請參閱「自訂註解」。

connectAgent.gsa 進階 導入版本:1.10.0

預設值:無

僅限 Helm:Google IAM 服務帳戶 (GSA) 的電子郵件地址,供 connectAgent 在使用 Helm 圖表啟用 GKE 叢集上的 Workload Identity 時,與對應的 Kubernetes 服務帳戶建立關聯。如果您已將 gcp.workloadIdentity.enabled 設為 true,請設定這個屬性。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-mart@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

connectAgent.logLevel 進階 推出版本:1.2.0

預設值: INFO

記錄回報層級。可能的值:

  • INFO:除了警告、錯誤和嚴重訊息外,還會顯示資訊訊息。最適合用於偵錯。
  • WARNING:除了錯誤和嚴重錯誤訊息外,還會顯示非致命警告。
  • ERROR:內部錯誤和未傳回給使用者的錯誤,以及嚴重錯誤訊息。
  • FATAL:導致 Apigee Connect 當機的無法復原錯誤和事件。
connectAgent.image.pullPolicy 進階 推出版本:1.2.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

connectAgent.image.tag 進階 推出版本:1.2.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

connectAgent.image.url 進階 推出版本:1.2.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

connectAgent.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願性中斷期間 (例如節點集區升級或節點排除期間),必須保持可用的 Apigee Connect 代理程式 Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。可接受整數的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果您未設定任何欄位,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

connectAgent:
  podDisruptionBudget:
    minAvailable: "50%"
connectAgent.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願中斷期間 (例如節點集區升級或節點排除),無法使用的 Apigee Connect 代理 Pod 數量上限。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。這個欄位可接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

connectAgent:
  podDisruptionBudget:
    maxUnavailable: 1
connectAgent.replicaCountMax 基本 推出版本:1.2.0

預設值: 5

可供自動調整資源配置的副本數量上限。

connectAgent.replicaCountMin 基本 推出版本:1.2.0

預設值: 1

可自動調度資源的副本數量下限。

在正式環境中,建議您將 replicaCountMin 增加至 1,以便與控制層建立更多連線,提高可靠性和擴充性。

connectAgent.resources.limits.cpu 進階 推出版本:1.11.0

預設值: 512m

Kubernetes 容器中資源的 CPU 限制,以毫微核心為單位。

connectAgent.resources.limits.memory 進階 導入版本:1.11.0

預設值: 512Mi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

connectAgent.resources.requests.cpu 進階 導入版本:1.11.0

預設值: 100m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

connectAgent.resources.requests.memory 進階 推出版本:1.2.0

預設值: 30Mi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

connectAgent.server 進階 推出版本:1.2.0

預設值: apigeeconnect.googleapis.com:443

這項服務的伺服器位置和通訊埠。

connectAgent.serviceAccountPath 基本 推出版本:1.1.1

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef 其中之一。

apigee-mart 服務帳戶的 Google 服務帳戶金鑰檔案路徑。

在大多數安裝作業中,connectAgent.serviceAccountPath 的值必須與 mart.serviceAccountPath 的值相符。

connectAgent.serviceAccountRef 基本 推出版本:1.2.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef 其中之一。

在大多數安裝作業中,connectAgent.serviceAccountRef 的值必須與 mart.serviceAccountRef 的值相符。

connectAgent.targetCPUUtilizationPercentage 進階 推出版本:1.2.0

預設值: 75

Pod 上 Apigee Connect 代理的目標 CPU 使用率。當 CPU 使用率達到這個欄位的值時,Apigee Connect 就會自動調度資源,最多可達 replicaCountMax。

connectAgent.terminationGracePeriodSeconds 進階 推出版本:1.2.0

預設值: 600

從要求刪除 Pod 到終止 Pod 的最長時間 (以秒為單位)。在此期間,系統會執行所有 prestop hook,且所有執行中的程序都應正常終止。所有執行中的程序終止或寬限期結束時 (以先發生者為準),Pod 就會終止。如果沒有正在執行的程序,系統會立即終止 Pod。

connectAgent.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 則指定容忍度與汙點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「Taints and Tolerations: Concepts」。

connectAgent.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

connectAgent.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

connectAgent.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

connectAgent.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

value 是觸發 effect 的值,前提是 operator 設為 Equal。

詳情請參閱「Taints 和容許度:概念」。

defaults

Apigee Hybrid 安裝的預設加密金鑰。

下表說明 defaults 物件的屬性:

屬性 類型 說明
defaults.org.kmsEncryptionKey 基本 版本:1.0.0

預設值: aWxvdmVhcGlzMTIzNDU2Nw==

KMS 中組織的預設加密金鑰。

defaults.org.kvmEncryptionKey 基本 版本:1.0.0

預設值: aWxvdmVhcGlzMTIzNDU2Nw==

KVM 中組織的預設加密金鑰。

defaults.env.kmsEncryptionKey 基本 版本:1.0.0

預設值: aWxvdmVhcGlzMTIzNDU2Nw==

KMS 中環境 (env) 的預設加密金鑰。

defaults.env.kvmEncryptionKey 基本 版本:1.0.0

預設值: aWxvdmVhcGlzMTIzNDU2Nw==

KVM 中環境 (env) 的預設加密金鑰。

defaults.env.cacheEncryptionKey 基本 版本:1.0.0

預設值: aWxvdmVhcGlzMTIzNDU2Nw==

環境 (env) 的預設快取加密金鑰。

envs

定義可部署 API Proxy 的環境陣列。每個環境都會提供獨立的結構定義或沙箱,用於執行 API Proxy。

已啟用混合模式的組織必須至少有一個環境。

詳情請參閱「關於環境」。

下表說明 envs 物件的屬性:

屬性 類型 說明
envs[].cacheEncryptionKey 基本 推出版本:1.0.0

預設值:無

必須提供 cacheEncryptionKey、cacheEncryptionPath 或 cacheEncryptionSecret 其中之一。

採用 Base64 編碼的加密金鑰。請參閱「資料加密」。

envs[].cacheEncryptionPath 基本 推出版本:1.2.0

預設值:無

必須提供 cacheEncryptionKey、cacheEncryptionPath 或 cacheEncryptionSecret 其中之一。

包含 Base64 編碼加密金鑰的檔案路徑。請參閱「資料加密」。

envs[].cacheEncryptionSecret.key 基本 推出版本:1.2.0

預設值:無

必須提供 cacheEncryptionKey、cacheEncryptionPath 或 cacheEncryptionSecret 其中之一。

Kubernetes 密鑰的金鑰,內含以 Base64 編碼的加密金鑰。請參閱「資料加密」。

envs[].cacheEncryptionSecret.name 基本 推出版本:1.2.0

預設值:無

必須提供 cacheEncryptionKey、cacheEncryptionPath 或 cacheEncryptionSecret 其中之一。

Kubernetes 密鑰的名稱,內含以 Base64 編碼的加密金鑰。請參閱「資料加密」。

envs[].components.runtime.resources.limits.memory 進階 導入版本:1.14.1

預設值:無

Kubernetes 容器中資源的記憶體限制,以 MiB 或 GiB 為單位。

envs[].components.runtime.resources.requests.memory 進階 導入版本:1.14.1

預設值:無

Kubernetes 容器中資源正常運作所需的記憶體,以 mebibyte (Mi) 或 gibibyte (Gi) 為單位。

envs[].components.runtime.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-env

在自願中斷期間 (例如節點集區升級或節點耗盡),這個環境中必須保持可用的執行階段 Pod 數量下限。覆寫 runtime.podDisruptionBudget.minAvailable。 這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 minAvailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,這個環境會使用 runtime.podDisruptionBudget.minAvailable 或 runtime.podDisruptionBudget.maxUnavailable;如果兩者都未設定,Apigee 運算子會套用預設值 maxUnavailable: 1。

例如,在 overrides.yaml 中:

envs:
  - name: test
    components:
      runtime:
        podDisruptionBudget:
          minAvailable: "50%"
envs[].components.runtime.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-env

這個環境中最多可以有多少個執行階段 Pod 在自願性中斷期間無法使用,例如節點集區升級或節點排空期間。覆寫 runtime.podDisruptionBudget.maxUnavailable。 這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。這個值可以是整數的 Pod 數量 (1),也可以是百分比字串 ("50%")。

maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,這個環境會使用 runtime.podDisruptionBudget.minAvailable 或 runtime.podDisruptionBudget.maxUnavailable;如果這兩者都未設定,Apigee 運算子會套用預設的 maxUnavailable: 1。

例如,在 overrides.yaml 中:

envs:
  - name: test
    components:
      runtime:
        podDisruptionBudget:
          maxUnavailable: 1
envs[].components.runtime.replicaCountMax 基本 導入版本:1.9.3

預設值:4

自動調度資源的副本數量上限。如果指定,則會覆寫 runtime.replicaCountMax。

envs[].components.runtime.replicaCountMin 基本 導入版本:1.9.3

預設值:1

自動調度資源的副本數量下限。如已指定,則會覆寫 runtime.replicaCountMin。

envs[].components.synchronizer.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-env

這個環境中,在自願中斷期間 (例如節點集區升級或節點耗盡期間) 必須保持可用的同步器 Pod 數量下限。覆寫 synchronizer.podDisruptionBudget.minAvailable。 這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩者。如果兩個欄位都未設定,這個環境會使用 synchronizer.podDisruptionBudget.minAvailable 或 synchronizer.podDisruptionBudget.maxUnavailable;如果兩者都未設定,Apigee 運算子會套用預設的 maxUnavailable: 1。

例如,在 overrides.yaml 中:

envs:
  - name: test
    components:
      synchronizer:
        podDisruptionBudget:
          minAvailable: "50%"
envs[].components.synchronizer.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-env

在自願性中斷期間 (例如節點集區升級或節點排空),這個環境中最多可以有多少個同步器 Pod 無法使用。覆寫 synchronizer.podDisruptionBudget.maxUnavailable。 這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 maxUnavailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩者。如果兩個欄位都未設定,這個環境會使用 synchronizer.podDisruptionBudget.minAvailable 或 synchronizer.podDisruptionBudget.maxUnavailable;如果兩者都未設定,Apigee 運算子會套用預設值 maxUnavailable: 1。

例如,在 overrides.yaml 中:

envs:
  - name: test
    components:
      synchronizer:
        podDisruptionBudget:
          maxUnavailable: 1
envs[].components.synchronizer.replicaCountMax 基本 導入版本:1.9.3

預設值:4

自動調度資源的副本數量上限。如已指定,則會覆寫 synchronizer.replicaCountMax。

envs[].components.synchronizer.replicaCountMin 基本 導入版本:1.9.3

預設值:1

自動調度資源的副本數量下限。如已指定,則會覆寫 synchronizer.replicaCountMin。

envs[].components.udca.replicaCountMax 基本 導入版本:1.9.3

預設值:4

自動調度資源的副本數量上限。如已指定,則會覆寫 udca.replicaCountMax。

envs[].components.udca.replicaCountMin 基本 導入版本:1.9.3

預設值:1

自動調度資源的副本數量下限。如果指定,則會覆寫 udca.replicaCountMin。

envs.gsa.runtime 進階 導入版本:1.10.0

預設值:無

僅限 Helm:在 GKE 叢集上使用 Helm 資訊套件啟用 Workload Identity 時,要與對應 Kubernetes 服務帳戶建立關聯的執行階段 Google IAM 服務帳戶電子郵件地址。

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

envs.gsa.synchronizer 進階 導入版本:1.10.0

預設值:無

僅限 Helm:使用 Helm 圖表在 GKE 叢集上啟用 Workload Identity 時,要與對應 Kubernetes 服務帳戶建立關聯的同步器 Google IAM 服務帳戶電子郵件地址。

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

envs.gsa.udca 進階 導入版本:1.10.0

預設值:無

僅限 Helm:使用 Helm 圖表在 GKE 叢集上啟用 Workload Identity 時,環境範圍 udca 的 udca Google IAM 服務帳戶電子郵件地址,用於與對應的 Kubernetes 服務帳戶建立關聯。

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

envs[].hostAliases[] 基本 推出版本:1.2.0

預設值:無

Deprecated:從混合式 1.4 版開始,執行階段層會從管理層接收這項資訊。請參閱「關於環境和環境群組」。

envs[].httpProxy.host 基本 推出版本:1.2.0

預設值:無

指定 HTTP Proxy 執行所在的主機名稱或 IP 位址。

依 scheme、host、port 的順序列出 httpProxy 屬性。例如:

envs:
  - name: test
    httpProxy:
      scheme: HTTP
      host: 10.12.0.47
      port: 3128
      ...

另請參閱:設定 API Proxy 的轉送 Proxy。

envs[].httpProxy.port 基本 推出版本:1.2.0

預設值:無

指定 HTTP Proxy 執行的通訊埠。如果省略這個屬性,系統預設會將通訊埠 80 用於 HTTP,並將通訊埠 443 用於 HTTPS。

envs[].httpProxy.scheme 基本 推出版本:1.2.0

預設值: HTTPS

指定 HTTP Proxy 的類型,例如 HTTP 或 HTTPS。預設會使用 HTTPS。

envs[].httpProxy.username 基本 推出版本:1.2.0

預設值:無

如果 HTTP Proxy 需要基本驗證,請使用這個屬性提供使用者名稱。

envs[].httpProxy.password 基本 推出版本:1.2.0

預設值:無

如果 HTTP Proxy 需要基本驗證,請使用這項屬性提供密碼。

envs[].name 基本 推出版本:1.0.0

預設值:無

必要

要同步的 Apigee 環境名稱。

envs[].pollInterval 進階 版本:1.0.0

預設值:無

輪詢組織和環境同步變更時使用的間隔 (以秒為單位)。

envs[].port 進階 版本:1.0.0

預設值:無

HTTPS 流量的 TCP 通訊埠編號。

envs[].serviceAccountPaths.runtime 基本 推出版本:1.4.0

預設值:無

本機系統上檔案的路徑,指向具有 Cloud Trace 代理程式角色的 Google 服務帳戶金鑰,通常是 apigee-runtime 服務帳戶。如要瞭解服務帳戶的預設名稱和指派的角色,請參閱「關於服務帳戶」。

envs[].serviceAccountPaths.synchronizer 基本 推出版本:1.0

預設值:無

本機系統上檔案的路徑,指向具備「Apigee 同步器管理員」角色的 Google 服務帳戶金鑰。

envs[].serviceAccountPaths.udca 基本 推出版本:1.0

預設值:無

本機系統上 Google 服務帳戶金鑰的檔案路徑,該金鑰具有 Apigee Analytics 代理程式角色。

只有在 orgScopedUDCA 設為 false 時,才應設定這個屬性。

envs[].serviceAccountSecretProviderClass 進階 推出版本:1.12.0

預設值:無

環境專屬密鑰供應器類別 (SecretProviderClass) 的名稱,用於在 Vault 中儲存服務帳戶金鑰。

請參閱「在 Hashicorp Vault 中儲存服務帳戶金鑰」。

envs[].serviceAccountSecretRefs.runtime 基本 推出版本:1.4.0

預設值:無

Kubernetes Secret 的名稱。您必須使用具有 Cloud Trace 代理程式角色的 Google 服務帳戶金鑰,建立密碼。

envs[].serviceAccountSecretRefs.synchronizer 基本 推出版本:1.2.0

預設值:無

Kubernetes Secret 的名稱。您必須使用 Google 服務帳戶金鑰建立密鑰,並以 Apigee Synchronizer Manager 角色做為輸入內容。

envs[].serviceAccountSecretRefs.udca 基本 推出版本:1.2.0

預設值:無

Kubernetes 密鑰的名稱。您必須使用 Google 服務帳戶金鑰建立密鑰,並以 Apigee Analytics 代理程式角色做為輸入內容。

只有在 orgScopedUDCA 設為 false 時,才設定這個屬性。

envs[].sslCertPath 基本 推出版本:1.2.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

系統中的 TLS 憑證檔案路徑。

envs[].sslKeyPath 基本 推出版本:1.2.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

系統中的 TLS 私密金鑰檔案路徑。

envs[].sslSecret 基本 推出版本:1.2.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

儲存在 Kubernetes 密鑰中的檔案名稱,其中包含 Cassandra 使用者和密碼。您可以按照下列操作說明建立 Secret: 建立 Secret。

另請參閱:

gcp

識別 Google Cloud 專案 ID (所有混合式安裝作業都必須提供)、工作負載身分和聯盟工作負載身分設定,以及 apigee-logger和 apigee-metrics推送資料的區域。

下表說明 gcp 物件的屬性:

屬性 類型 說明
gcp.federatedWorkloadIdentity.audience 基本 推出版本:1.12.0

預設值:無

非 GKE 平台 Workload Identity Provider 允許的目標對象。

請參閱「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

gcp.federatedWorkloadIdentity.credentialSourceFile 基本 推出版本:1.12.0

預設值:無

Workload Identity Federation 用來取得服務帳戶憑證的憑證來源檔案名稱和路徑。使用 create-cred-config 指令設定 Workload Identity Federation 時,請為 credential-source-file 提供這個值。

請參閱「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

gcp.federatedWorkloadIdentity.enabled 基本 推出版本:1.12.0

預設值: false

在非 GKE 平台上啟用 Workload Identity Federation。如果 gcp.workloadIdentity.enabled 在同一個叢集中設為 true,則不得設定 true。

請參閱「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

gcp.federatedWorkloadIdentity.sidecarSpec.annotations 進階 推出版本:1.14.4

預設值:無

圖表: apigee-datastore、apigee-env、apigee-org、apigee-telemetry

當 gcp.federatedWorkloadIdentity.type 為 sidecar 時,要套用至混合式 Pod 的註解對應。這些設定可由元件層級註解 (例如 runtime.annotations) 補充或覆寫。

請參閱「使用 Sidecar 執行 Workload Identity Federation」。

gcp.federatedWorkloadIdentity.sidecarSpec.container 進階 推出版本:1.14.4

預設值:無

圖表: apigee-datastore、apigee-env、apigee-org、apigee-telemetry

邊車容器的 Kubernetes 容器規格對應,例如 image、imagePullPolicy、name 等。請參閱 Kubernetes 容器說明文件。您必須在這裡提供自訂容器映像檔。如果 gcp.federatedWorkloadIdentity.type 為 sidecar,則為必填。

請參閱「使用 Sidecar 執行 Workload Identity Federation」。

gcp.federatedWorkloadIdentity.sidecarSpec.volumes 進階 推出版本:1.14.4

預設值:無

圖表: apigee-datastore、apigee-env、apigee-org、apigee-telemetry

當 gcp.federatedWorkloadIdentity.type 為 sidecar 時,要掛接到混合式 Pod 的其他 Kubernetes 磁碟區清單。

請參閱「使用 Sidecar 進行 Workload Identity 聯盟」。

gcp.federatedWorkloadIdentity.tokenExpiration 基本 推出版本:1.12.0

預設值: 3600

權杖的生命週期 (以秒為單位)。用於 gcp.federatedWorkloadIdentity.type 為 kubernetes 的情況。

請參閱「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

gcp.federatedWorkloadIdentity.type 進階 導入版本:1.14.4

預設值: kubernetes

圖表: apigee-datastore、apigee-env、apigee-org、apigee-telemetry

用於取得 Workload Identity Federation 權杖的方法。支援的值如下:

gcp.projectID 基本 推出版本:1.2.0

預設值:無

必要

識別 apigee-logger 和 apigee-metrics 推送資料的 Google Cloud 專案。

gcp.projectIDRuntime 基本 推出版本:1.2.0

預設值:無

識別執行階段 Kubernetes 叢集專案。

projectIDRuntime 屬性為選用屬性。如未設定,系統會假設 projectID 值同時用於 Apigee 組織的 Google Cloud 專案和執行階段 K8S 叢集的專案。

gcp.region 基本 推出版本:1.2.0

預設值: us-central1

必要

識別 apigee-logger 和 apigee-metrics 推送資料的 Google Cloud 區域。

gcp.workloadIdentity.enabled 基本 導入版本:1.10.0

預設值:false

僅限 Helm:啟用在 GKE 上使用 Workload Identity。透過 Workload Identity,GKE 叢集中的工作負載可以模擬 Identity and Access Management (IAM) 服務帳戶,存取 Google Cloud 服務。

如果 gcp.federatedWorkloadIdentity.enabled 在同一個叢集中設為 true,則不得設定 true。

如果 enabled 為 false (預設值),Apigee 會為每個 Apigee Hybrid 元件使用 IAM 服務帳戶。請參閱「關於服務帳戶」。

如果 workloadIdentityEnabled 為 true,Apigee 會使用 Kubernetes 服務帳戶,並將這些帳戶對應至每個元件的適當 IAM 服務帳戶。使用下列指令,指定要對應至 Kubernetes 服務帳戶的 IAM 服務帳戶:

gcp.workloadIdentity.gsa 進階 導入版本:1.10.0

預設值:無

僅限 Helm:使用 Helm 圖表在 GKE 叢集上啟用 Workload Identity 時,所有元件的 Google IAM 服務帳戶 (GSA) 電子郵件地址,用於與對應的 Kubernetes 服務帳戶建立關聯。如果您已將 gcp.workloadIdentity.enabled 設為 true,請設定這個屬性。

gcp.workloadIdentity.gsa 適用於所有混合元件。如果為 gcp.workloadIdentity.gsa 指定值,就不需要為任何個別混合元件提供 GSA。如果您為個別元件提供 GSA,該元件的 GSA 只會覆寫該元件的 gcp.workloadIdentity.gsa。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-non-prod@my-hybrid-project.iam.gserviceaccount.com

詳情請參閱 Enabling Workload Identity on GKE。

gcp.workloadIdentityEnabled 基本 推出版本:1.4.0

預設值:false

apigeectl only:啟用 Workload Identity。透過 Workload Identity,GKE 叢集中的工作負載可以模擬 Identity and Access Management (IAM) 服務帳戶,存取 Google Cloud 服務。

如果 workloadIdentityEnabled 為 false (預設值),Apigee 會為每個 Apigee Hybrid 元件使用 IAM 服務帳戶。請參閱「關於服務帳戶」。

workloadIdentityEnabled 為 true 時,Apigee 會使用 Kubernetes 服務帳戶,而非 IAM 服務帳戶,並會忽略下列設定屬性:

httpProxy

httpProxy 提供 HTTP 轉送 Proxy 伺服器的設定參數。在 overrides.yaml 中設定後,Apigee Connect、Logger、MART、Metrics、Synchronizer 和 UDCA 元件的所有網際網路通訊都會透過 Proxy 伺服器傳遞。

另請參閱:connectAgent、logger、mart、metrics、synchronizer 和 udca。

下表說明 httpProxy 物件的屬性:

屬性 類型 說明
httpProxy.host 基本 推出版本:1.1.1

預設值:無

HTTP Proxy 的主機名稱。

httpProxy.password 基本 推出版本:1.1.1

預設值:無

如果 HTTP Proxy 需要基本驗證,請使用這項屬性提供密碼。

httpProxy.port 基本 推出版本:1.1.1

預設值:無

HTTP Proxy 的通訊埠。

httpProxy.scheme 基本 推出版本:1.1.1

預設值: HTTPS

Proxy 使用的配置。值可以是 HTTP 或 HTTPS。值只能使用大寫字母。

httpProxy.useForRuntimeManagement 進階 導入版本:1.14.2

預設值:無

如果 useForRuntimeManagement 設為 true,執行階段會使用這個轉送 Proxy 傳送偵錯或分析資料。即使執行階段已為環境設定專屬 Proxy,您仍可設定這個旗標。在這種情況下,執行階段的偵錯或數據分析資料會使用組織層級共用的 Proxy,而後端/Proxy 流量則會繼續使用環境層級 Proxy (包括對 googleapis.com 的呼叫)。

httpProxy.username 基本 推出版本:1.1.1

預設值:無

如果 HTTP Proxy 需要基本驗證,請使用這個屬性提供使用者名稱。

ingressGateways

設定 Apigee 輸入閘道的每個執行個體。如要依 ingressGateways[].name 分別管理個別執行個體,請使用這些屬性。

如要對所有 Apigee Ingress 閘道執行個體套用通用設定,請參閱 apigeeIngressGateway。

使用apigee-org圖表,將變更套用至ingressGateways屬性。

下表說明 ingressGateways 物件的屬性:

屬性 類型 說明
ingressGateways[].name 基本 推出版本:1.8.0

預設值:無

必要

輸入閘道的名稱。其他服務會使用這個名稱,將流量導向閘道。名稱必須符合下列規定:

  • 長度上限為 17 個字元
  • 只能包含小寫英數字元、「-」或「.」
  • 開頭須為英數字元
  • 結尾須為英數字元

詳情請參閱 Kubernetes 說明文件中的「DNS 子網域名稱」。

ingressGateways[].podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願中斷期間 (例如節點集區升級或節點耗盡),這個 ingress 閘道必須保持可用的 Pod 數量下限。覆寫 apigeeIngressGateway.podDisruptionBudget.minAvailable。 這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,這個閘道會使用 apigeeIngressGateway.podDisruptionBudget.minAvailable 或 apigeeIngressGateway.podDisruptionBudget.maxUnavailable;如果兩者都未設定,Apigee 運算子會套用預設值 maxUnavailable: 1。

例如,在 overrides.yaml 中:

ingressGateways:
  - name: my-gateway
    podDisruptionBudget:
      minAvailable: "50%"
ingressGateways[].podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願中斷期間 (例如節點集區升級或節點排除),這個 ingress 閘道無法使用的 Pod 數量上限。覆寫 apigeeIngressGateway.podDisruptionBudget.maxUnavailable。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。這個值可以是整數的 Pod 數量 (1),也可以是百分比字串 ("50%")。

maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩者。如果兩個欄位都未設定,這個閘道會使用 apigeeIngressGateway.podDisruptionBudget.minAvailable 或 apigeeIngressGateway.podDisruptionBudget.maxUnavailable;如果兩者都未設定,Apigee 運算子會套用預設值 maxUnavailable: 1。

例如,在 overrides.yaml 中:

ingressGateways:
  - name: my-gateway
    podDisruptionBudget:
      maxUnavailable: 1
ingressGateways[].resources.limits.cpu 進階 推出版本:1.8.0

預設值: 2000m

資源的 CPU 限制,以毫核心為單位。

ingressGateways[].resources.limits.memory 進階 推出版本:1.8.0

預設值: 1Gi

資源的記憶體限制,以 MiB 為單位。

ingressGateways[].resources.requests.cpu 進階 推出版本:1.8.0

預設值: 300m

資源正常運作所需的 CPU (以毫核心為單位)。

ingressGateways[].resources.requests.memory 進階 推出版本:1.8.0

預設值: 128Mi

資源正常運作所需的記憶體,以 MiB 為單位。

ingressGateways[].replicaCountMax 基本 推出版本:1.8.0

預設值: 10

混合式可自動為可自動調度的 Ingress 閘道新增的 Pod 數量上限。

ingressGateways[].replicaCountMin 基本 推出版本:1.8.0

預設值: 2

可自動調度資源的輸入閘道 Pod 數量下限。

ingressGateways[].svcAnnotations 基本 推出版本:1.8.0

預設值:無

用於在支援註解的平台上註解 Ingress 閘道的選用鍵/值對應。例如:

ingressGateways:
  svcAnnotations:
    networking.gke.io/load-balancer-type: "Internal"
ingressGateways[].svcLoadBalancerIP 基本 推出版本:1.8.0

預設值:無

在支援指定負載平衡器 IP 位址的平台上,系統會使用這個 IP 位址建立負載平衡器。在不允許指定負載平衡器 IP 位址的平台上,系統會忽略這項屬性。

ingressGateways[].svcType 基本 推出版本:1.8.1

預設值:LoadBalancer

用於變更 ingress 部署作業的預設 k8s 服務類型。如要停用建立預設負載平衡器的功能,請將值設為 ClusterIP。可能的值包括:

  • ClusterIP
  • LoadBalancer
ingressGateways[].targetCPUUtilizationPercentage 進階 推出版本:1.10.5、1.11.2、1.12.1

預設值: 75

Pod 數量在 ReplicaSet 中擴充的 CPU 使用率門檻,以可用 CPU 資源總數的百分比表示。

如果 CPU 使用率超過這個值,Hybrid 會逐步增加 ReplicaSet 中的 Pod 數量,最多可達 ingressGateways[].replicaCountMax 個。

如要進一步瞭解 Kubernetes 中的調度功能,請參閱 Kubernetes 說明文件中的「水平自動調度 Pod 資源」。

ingressGateways[].tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taints and Tolerations 功能。

effect 則指定容忍度與汙點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「Taints and Tolerations: Concepts」。

ingressGateways[].tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

ingressGateways[].tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 符合 value 中設定的值。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints 和容許度:概念」。

ingressGateways[].tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

ingressGateways[].tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

value 是觸發 effect 的值,前提是 operator 設為 Equal。

詳情請參閱「Taints 和容許度:概念」。

istiod

設定 Apigee 輸入。

下表說明 istiod 物件的屬性:

屬性 類型 說明
istiod.accessLogFile 進階 推出版本:1.8.0

預設值: /dev/stdout

ingress 存取記錄的檔案位址,例如 /dev/stdout。

如果未定義這個值,系統會停用存取記錄。

istiod.accessLogFormat 進階 推出版本:1.8.0

輸入存取記錄的格式。

如果未定義這個值,系統會使用 Proxy 的預設存取記錄格式。

預設存取記錄格式:

'{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'

以下是預設存取記錄格式的副本,並新增了換行符號,方便閱讀。

'{"start_time":"%START_TIME%",
  "remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%",
  "user_agent":"%REQ(USER-AGENT)%",
  "host":"%REQ(:AUTHORITY)%",
  "request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%",
  "request_time":"%DURATION%",
  "status":"%RESPONSE_CODE%",
  "status_details":"%RESPONSE_CODE_DETAILS%",
  "bytes_received":"%BYTES_RECEIVED%",
  "bytes_sent":"%BYTES_SENT%",
  "upstream_address":"%UPSTREAM_HOST%",
  "upstream_response_flags":"%RESPONSE_FLAGS%",
  "upstream_response_time":"%RESPONSE_DURATION%",
  "upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%",
  "upstream_cluster":"%UPSTREAM_CLUSTER%",
  "x_forwarded_for":"%REQ(X-FORWARDED-FOR)%",
  "request_method":"%REQ(:METHOD)%",
  "request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%",
  "request_protocol":"%PROTOCOL%",
  "tls_protocol":"%DOWNSTREAM_TLS_VERSION%",
  "request_id":"%REQ(X-REQUEST-ID)%",
  "sni_host":"%REQUESTED_SERVER_NAME%",
  "apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
istiod.forwardClientCertDetails 進階 導入版本:1.9.2

預設值: SANITIZE_SET

決定 Envoy Proxy (適用於 Apigee 輸入閘道) 如何處理 x-forwarded-client-cert (XFCC) HTTP 標頭。

可能的值包括:

  • SANITIZE_SET (預設) 如果用戶端連線是 mTLS,請使用用戶端憑證資訊重設 XFCC 標頭,並傳送至下一個躍點。
  • FORWARD_ONLY如果用戶端連線為 mTLS (相互 TLS),則僅轉送要求中的 XFCC 標頭。
  • APPEND_FORWARD 如果用戶端連線為 mTLS,請將用戶端憑證資訊附加至要求的 XFCC 標頭,然後轉送。
  • SANITIZE 請勿轉送 XFCC 標頭。
  • ALWAYS_FORWARD_ONLY:無論用戶端連線是否為 mTLS,一律轉送要求中的 XFCC 標頭。

如要進一步瞭解這些值,請參閱 Envoy 說明文件中的 Enum extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails。

如果您在安裝 Hybrid 後變更這項設定,請使用 apigeectl init 套用變更,然後重新啟動 Apigee Ingress 閘道 Pod。

istiod.healthCheckUserAgents 進階 推出版本:1.12.0

預設值:

- "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
- "Edge Health Probe"

覆寫混合式環境中的預設使用者代理程式許可清單,讓非Google Cloud 負載平衡器檢查輸入閘道的健康狀態檢查端點 (/healthz/ingress 和 /healthz)。

如要覆寫指定的預設使用者代理程式,請使用下列語法,插入自訂使用者代理程式:

istiod:
  healthCheckUserAgents:
  - "CUSTOM_USER_AGENT_1"
  - "CUSTOM_USER_AGENT_2"

如要移除使用者代理程式需求,請使用下列指令:

istiod:
  healthCheckUserAgents: []

istiod.image.pullPolicy 進階 推出版本:1.8.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

istiod.image.tag 進階 推出版本:1.8.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

istiod.image.url 進階 推出版本:1.8.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

istiod.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 則指定容忍度與汙點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「Taints and Tolerations: Concepts」。

istiod.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容許度的 Pod。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

istiod.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須使用 Kubernetes 的 Taints 和容許條件功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

istiod.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

istiod.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

value 是當 operator 設為 Equal 時,觸發 effect 的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

k8sCluster

識別安裝混合式執行階段的 Kubernetes 叢集。

下表說明 k8sCluster 物件的屬性:

屬性 類型 說明
k8sCluster.name 基本 推出版本:1.2.0

預設值:無

安裝混合式執行階段的 Kubernetes 叢集名稱。

k8sCluster.region 基本 推出版本:1.2.0

預設值:無

指出建立 Kubernetes 叢集的 Google Cloud 區域。

kubeRBACProxy

指出 Apigee 應在何處尋找 Kubernetes 角色式存取控管。

下表說明 kubeRBACProxy 物件的屬性:

屬性 類型 說明
kubeRBACProxy.image.pullPolicy 進階 推出版本:1.2.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

kubeRBACProxy.image.tag 進階 導入版本: 1.2.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

kubeRBACProxy.image.url 進階 推出版本:1.2.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

kubeRBACProxy.resources.limits.cpu 進階 導入版本:1.11.0

預設值: 500m

Kubernetes 容器中資源的 CPU 限制,以毫微核心為單位。

kubeRBACProxy.resources.limits.memory 進階 推出版本:1.11.0

預設值: 128Mi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

kubeRBACProxy.resources.requests.cpu 進階 推出版本:1.11.0

預設值: 5m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

kubeRBACProxy.resources.requests.memory 進階 推出版本:1.11.0

預設值: 64Mi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

logger

定義管理作業記錄的服務。在 Kubernetes 叢集中執行的所有 Apigee hybrid 服務都會輸出這項資訊。

詳情請參閱「記錄總覽」。

下表說明 logger 物件的屬性:

屬性 類型 說明
logger.annotations 進階 導入版本:1.5.0

預設值:無

用於註解 Pod 的選用鍵/值對應。詳情請參閱「自訂註解」。

logger.bufferChunkSize 進階 版本:1.12.0

預設值:256k

讀取記錄檔的初始緩衝區大小。

logger.bufferMaxSize 進階 推出版本:1.12.0

預設值:104857600

每個受監控檔案的緩衝區空間上限。超過這個上限的檔案會從監控檔案清單中移除。

logger.bufferMemoryLimit 進階 版本:1.12.0

預設值:150MB

記錄器可耗用的記憶體上限。如果達到上限,記錄器會暫時停止讀取更多資料,直到現有資料排清到記憶體為止。

logger.enabled 基本 推出版本:1.0.0

預設值: false

啟用或停用叢集的記錄功能。如果不是 GKE,請設為 true;如果是 Google Cloud 上的 GKE 或 Google Distributed Cloud,請設為 false。

logger.envVars 基本 推出版本:1.8.5

預設值:無

可讓您加入 NO_PROXY Fluent Bit 環境變數,指定不透過 HTTP Proxy 轉送流量的網址。NO_PROXY 變數應定義為以半形逗號分隔的主機名稱字串,格式如下:

logger:
  ...
  envVars:
    NO_PROXY: '<comma-separated-values>'

例如:

  envVars:
    NO_PROXY: 'kubernetes.default.svc,oauth2.googleapis.com,logging.googleapis.com'

啟用 HTTP 轉送 Proxy 時,可視需要使用 envVars: NO_PROXY。

請參閱 Fluent Bit 說明文件中的 NO_PROXY。

logger.flushInterval 進階 推出版本:1.12.0

預設值:1

叫用下一個緩衝區清除作業前的等待間隔 (以秒為單位)。

logger.gsa 進階 導入版本:1.10.0

預設值:無

僅限 Helm:使用 Helm 圖表在 GKE 叢集上啟用 Workload Identity 時,要與對應 Kubernetes 服務帳戶建立關聯的 apigee-logger Google IAM 服務帳戶 (GSA) 電子郵件地址。如果已將 gcp.workloadIdentity.enabled 設為 true,請設定這個值。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-logger@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

logger.image.pullPolicy 進階 版本:1.0.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

logger.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

logger.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

logger.livenessProbe.failureThreshold 進階 推出版本:1.0.0

預設值: 3

Kubernetes 在重新啟動容器前,會驗證存活狀態探測失敗的次數。最小值為 1。

logger.livenessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 0

容器啟動後,到啟動有效性探測作業之間的時間間隔 (以秒為單位)。

logger.livenessProbe.periodSeconds 進階 推出版本:1.0.0

預設值: 60

以秒為單位,決定執行存活探測的頻率。最小值為 1。

logger.livenessProbe.successThreshold 進階 推出版本:1.0.0

預設值: 1

探測失敗後,至少要連續成功幾次,才算成功。最小值為 1。

logger.livenessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 1

健康狀態探測作業逾時的秒數。最小值為 1。

logger.nodeSelector.key 基本 推出版本:1.0.0

預設值: apigee.cloud.google.com/apigee-logger-enabled

必要

節點選取器標籤鍵,用於指定 logger 執行階段服務的專用 Kubernetes 節點。

請參閱「 設定專用節點集區」。

logger.nodeSelector.value 基本 推出版本:1.0.0

預設值: true

必要

節點選取器標籤值,用於指定 logger 執行階段服務的專屬 Kubernetes 節點。

請參閱「 設定專用節點集區」。

logger.resources.limits.cpu 進階 版本:1.0.0

預設值: 200m

Kubernetes 容器中資源的 CPU 限制,以毫核心為單位。

logger.resources.limits.memory 進階 版本:1.0.0

預設值: 500Mi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

logger.resources.requests.cpu 進階 版本:1.0.0

預設值: 100m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

logger.resources.requests.memory 進階 推出版本:1.0.0

預設值: 250Mi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

logger.serviceAccountPath 基本 推出版本:1.0.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef 其中之一。

Google 服務帳戶金鑰檔案的路徑,且該帳戶具備記錄檔寫入者角色。

logger.serviceAccountRef 基本 推出版本:1.2.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

logger.storageMaxChunks 進階 推出版本:1.12.0

預設值:128

記憶體中可保留的區塊數量上限。超過限制的區塊會儲存在檔案系統中。

logger.terminationGracePeriodSeconds 進階 推出版本:1.0.0

預設值: 30

從要求刪除 Pod 到終止 Pod 的最長時間 (以秒為單位)。在這段期間,系統會執行所有 prestop 鉤子,且所有執行中的程序都應正常終止。當所有執行中的程序都終止,或寬限期結束時 (以先發生者為準),Pod 就會終止。如果沒有正在執行的程序,系統會立即終止 Pod。

logger.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taints and Tolerations 功能。

effect 則指定容忍度與汙點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「污點和容忍:概念」。

logger.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taints 和容許條件功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

logger.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints 和容許度:概念」。

logger.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 與失敗或無回應節點的繫結時間長度 (以秒為單位)。

詳情請參閱「Taints 和容許度:概念」。

logger.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

value 是觸發 effect 的值,前提是 operator 設為 Equal。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

mart

定義 MART (Management API for RunTime data) 服務,做為公開 Apigee API 的 API 供應商,方便您存取及管理執行階段資料實體,例如 KMS (API 金鑰和 OAuth 權杖)、KVM、配額和 API 產品。

下表說明 mart 物件的屬性:

屬性 類型 說明
mart.annotations 進階 導入版本:1.5.0

預設值:無

用於為 Pod 加上註解的選用鍵/值對應。詳情請參閱「自訂註解」。

mart.gsa 進階 導入版本:1.10.0

預設值:無

僅限 Helm:apigee-mart Google IAM 服務帳戶 (GSA) 的電子郵件地址,在透過 Helm 圖表啟用 GKE 叢集的 Workload Identity 時,會與對應的 Kubernetes 服務帳戶建立關聯。如果已將 gcp.workloadIdentity.enabled 設為 true,請設定這個值。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-mart@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

mart.hostAlias 基本 推出版本:1.0.0

預設值:無

指向 MART 物件的主機別名。您可以將這項屬性設為 * 或完整網域名稱。

mart.image.pullPolicy 進階 版本:1.0.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

mart.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

mart.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

mart.initCheckCF.resources.requests.cpu 進階 版本:1.0.0

預設值: 10m

分配給 Cloud Foundry 程序初始化檢查的 CPU 資源量。

mart.livenessProbe.failureThreshold 進階 版本:1.0.0

預設值: 12

Kubernetes 會先驗證有效性探測失敗的次數,再重新啟動容器。最小值為 1。

mart.livenessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 15

容器啟動後,到啟動存活狀態探測之間的秒數。

mart.livenessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行存活狀態探測的頻率,以秒為單位。最小值為 1。

mart.livenessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 1

健康狀態探測作業逾時的秒數。最小值為 1。

mart.metricsURL 基本 推出版本:1.0.0

預設值: /v1/server/metrics

mart.nodeSelector.key 基本 推出版本:1.0.0

預設值:無

選用的節點選取器標籤鍵,用於指定 mart 執行階段服務的 Kubernetes 節點。如未指定 mart.nodeselector 的鍵,執行階段會使用 nodeSelector 物件中指定的節點。

請參閱「 設定專用節點集區」。

mart.nodeSelector.value 基本 推出版本:1.0.0

預設值:無

選用節點選取器標籤值,用於指定 Kubernetes 節點的 mart 執行階段服務。另請參閱 nodeSelector 物件。

請參閱「 設定專用節點集區」。

mart.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願中斷期間 (例如節點集區升級或節點耗盡期間),必須保持可用的 MART Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果您未設定任何欄位,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

mart:
  podDisruptionBudget:
    minAvailable: "50%"
mart.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願中斷期間 (例如節點集區升級或節點排除期間),無法使用的 MART Pod 數量上限。這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 maxUnavailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

mart:
  podDisruptionBudget:
    maxUnavailable: 1
mart.readinessProbe.failureThreshold 進階 版本:1.0.0

預設值: 2

Kubernetes 會先驗證完備性探測失敗的次數,再將 Pod 標示為「尚未準備就緒」。最小值為 1。

mart.readinessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 15

容器啟動後,要等待幾秒才會啟動就緒探測。

mart.readinessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行就緒探測的頻率 (以秒為單位)。最小值為 1。

mart.readinessProbe.successThreshold 進階 推出版本:1.0.0

預設值: 1

readiness 探測失敗後,至少要連續成功幾次,才算成功。最小值為 1。

mart.readinessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 1

健康狀態探測作業逾時的秒數。最小值為 1。

mart.replicaCountMax 基本 版本:1.0.0

預設值: 5

可供自動調整資源配置的副本數量上限。

mart.replicaCountMin 基本 推出版本:1.0.0

預設值: 1

可自動調度資源的副本數量下限。

mart.resources.limits.cpu 進階 推出版本:1.11.0

預設值: 2000m

Kubernetes 容器中資源的 CPU 限制,以毫核心為單位。

mart.resources.limits.memory 進階 推出版本:1.11.0

預設值: 5Gi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

mart.resources.requests.cpu 進階 推出版本:1.0.0

預設值: 500m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

mart.resources.requests.memory 進階 推出版本:1.0.0

預設值: 512Mi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

mart.serviceAccountPath 基本 推出版本:1.1.1

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

Google 服務帳戶金鑰檔案的路徑,不含角色。

mart.serviceAccountRef 基本 推出版本:1.2.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef 其中之一。

mart.sslCertPath 基本 推出版本:1.0.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

本機檔案系統路徑,用於將 SSL 憑證載入並編碼為 Secret。

mart.sslKeyPath 基本 推出版本:1.0.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

本機檔案系統路徑,用於將 SSL 金鑰載入並編碼為 Secret。

mart.sslSecret 基本 推出版本:1.2.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

儲存在 Kubernetes 密鑰中的檔案名稱,其中包含 TLS 憑證和私密金鑰。建立 Secret 時,必須使用 TLS 憑證和金鑰資料做為輸入內容。

另請參閱:

mart.targetCPUUtilizationPercentage 進階 推出版本:1.0.0

預設值: 75

Pod 上 MART 程序的目標 CPU 使用率。當 CPU 使用率達到這個欄位的值時,MART 就會自動調度資源,最多可達 replicaCountMax。

mart.terminationGracePeriodSeconds 進階 推出版本:1.0.0

預設值: 30

要求刪除 Pod 與終止 Pod 之間的最長時間 (以秒為單位)。在這段期間,系統會執行所有 prestop 鉤子,且所有執行中的程序都應正常終止。所有執行中的程序終止或寬限期結束時 (以先發生者為準),Pod 就會終止。如果沒有執行中的程序,Pod 會立即終止。

mart.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 指定容忍度與污點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「Taints and Tolerations: Concepts」。

mart.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints 和容許度:概念」。

mart.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須使用 Kubernetes 的 Taints 和容許條件功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

mart.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints 和容許度:概念」。

mart.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

value 是當 operator 設為 Equal 時,觸發 effect 的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

metrics

定義收集作業指標的服務。您可以使用指標資料監控混合式服務的健康狀態、設定快訊等。

詳情請參閱「指標收集總覽」。

下表說明 metrics 物件的屬性:

屬性 類型 說明
metrics.adapter.image.pullPolicy 進階 推出版本:1.8.1

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

metrics.adapter.image.tag 進階 推出版本:1.8.1

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

metrics.adapter.image.url 進階 推出版本:1.8.1

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

metrics.adapter.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-telemetry

在自願中斷期間 (例如節點集區升級或節點排除),必須保持可用的指標轉接器 Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

metrics:
  adapter:
    podDisruptionBudget:
      minAvailable: "50%"
metrics.adapter.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-telemetry

在自願中斷期間 (例如節點集區升級或節點排除期間),無法使用的指標轉接器 Pod 數量上限。這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 maxUnavailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果您未設定任何欄位,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

metrics:
  adapter:
    podDisruptionBudget:
      maxUnavailable: 1
metrics.adapter.resources.limits.cpu 進階 推出版本:1.14.1

預設值: 500m

Kubernetes 容器中轉接器資源的 CPU 限制,以毫核心為單位。

metrics.adapter.resources.limits.memory 進階 導入版本:1.14.1

預設值: 4Gi

Kubernetes 容器中介面卡資源的記憶體限制,以 GiB 為單位。

metrics.adapter.resources.requests.cpu 進階 推出版本:1.14.1

預設值: 100m

在 Kubernetes 容器中,轉接器正常運作所需的 CPU (以毫核心為單位)。

metrics.adapter.resources.requests.memory 進階 推出版本:1.14.1

預設值: 128Mi

轉接器在 Kubernetes 容器中正常運作所需的記憶體,以 mebibyte 為單位。

metrics.aggregator.resources.requests.cpu 進階 推出版本:1.4.0

預設值: 500m

Kubernetes 容器中匯總工具正常運作所需的 CPU,以毫核心為單位。

metrics.aggregator.resources.requests.memory 進階 導入版本:1.4.0

預設值: 512Mi

Kubernetes 容器中的匯總工具正常運作所需的記憶體,以 mebibyte 為單位。

metrics.aggregator.resources.limits.cpu 進階 推出版本:1.4.0

預設值: 500m

Kubernetes 容器中匯總工具資源的 CPU 限制,以毫核心為單位。

metrics.aggregator.resources.limits.memory 進階 推出版本:1.4.0

預設值: 3Gi

Kubernetes 容器中匯總工具資源的記憶體限制 (以 GiB 為單位)。

metrics.annotations 進階 導入版本:1.5.0

預設值:無

用於註解 Pod 的選用鍵/值對應。詳情請參閱「自訂註解」。

metrics.app.resources.requests.cpu 進階 推出版本:1.4.0

預設值: 500m

應用程式在 Kubernetes 容器中正常運作所需的 CPU,以毫核心為單位。

metrics.app.resources.requests.memory 進階 導入版本:1.4.0

預設值: 512Mi

應用程式在 Kubernetes 容器中正常運作所需的記憶體,以 MiB 為單位。

metrics.app.resources.limits.cpu 進階 推出版本:1.4.0

預設值: 500m

Kubernetes 容器中應用程式資源的 CPU 限制,以毫核心為單位。

metrics.app.resources.limits.memory 進階 推出版本:1.4.0

預設值: 1Gi

Kubernetes 容器中應用程式資源的記憶體限制,以 GiB 為單位。

metrics.appStackdriverExporter.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-telemetry

在自願中斷期間 (例如節點集區升級或節點耗盡期間),必須保持可用的 appStackdriverExporter Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩者。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

metrics:
  appStackdriverExporter:
    podDisruptionBudget:
      minAvailable: "50%"
metrics.appStackdriverExporter.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-telemetry

自願中斷期間 (例如節點集區升級或節點排空期間) 無法使用的 appStackdriverExporter Pod 數量上限。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

metrics:
  appStackdriverExporter:
    podDisruptionBudget:
      maxUnavailable: 1
metrics.appStackdriverExporter.resources.limits.cpu 進階 推出版本:1.7.0

預設值: 500m

Kubernetes 容器中 stackdriverExporter 資源的 CPU 限制,以毫核心為單位。

metrics.appStackdriverExporter.resources.limits.memory 進階 推出版本:1.7.0

預設值: 1Gi

Kubernetes 容器中 stackdriverExporter 資源的記憶體限制,以 GiB 為單位。

metrics.appStackdriverExporter.resources.requests.cpu 進階 導入版本:1.7.0

預設值: 128m

在 Kubernetes 容器中正常運作 stackdriverExporter 所需的 CPU,以毫核心為單位。

metrics.appStackdriverExporter.resources.requests.memory 進階 推出版本:1.7.0

預設值: 512Mi

Kubernetes 容器中 stackdriverExporter 正常運作所需的記憶體,以 mebibyte 為單位。

metrics.collector.envVars 基本 推出版本:1.13

預設值:無

可讓您傳遞及覆寫 OpenTelemetry 中的環境變數。舉例來說,您可以定義 HTTP_PROXY、HTTPS_PROXY 或 NO_PROXY,讓要求通過 Proxy 伺服器。

HTTP_PROXY 變數可以定義為包含主機名稱的字串,格式如下:

metrics:
...
  envVars:
    HTTP_PROXY: '<host-name>'

例如:

  envVars:
    HTTP_PROXY: 'http://1.1.1.1:80'

HTTPS_PROXY 變數可定義為包含主機名稱的字串,格式如下:

metrics:
...
  envVars:
    HTTPS_PROXY: '<host-name>'

例如:

  envVars:
    HTTPS_PROXY: 'https://1.1.1.1:80'

NO_PROXY 變數應定義為以半形逗號分隔的主機名稱字串,格式如下:

metrics:
...
envVars:
  NO_PROXY: '<comma-separated-values>'

例如:

envVars:
  NO_PROXY: 'https://1.1.1.1:80, https://1.1.1.1:81'

啟用 HTTP 轉送 Proxy 時,可視需要使用 envVars: HTTP_PROXY、envVars: HTTPS_PROXY 或 envVars: NO_PROXY。

請參閱 OpenTelemetry 說明文件中的「Proxy support」。

metrics.collector.imagePullPolicy 進階 推出版本:1.12.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有映像檔,就不會提取新映像檔。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「搭配使用私人映像檔存放區與 Apigee hybrid 」。

metrics.collector.image.tag 基本 版本:1.12.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

metrics.collector.image.url 基本 推出版本:1.12.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

metrics.collector.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-telemetry

在自願中斷期間 (例如節點集區升級或節點排除期間),必須保持可用的指標收集器 Pod 數量下限。這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 minAvailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget。由於收集器是以 DaemonSet 的形式執行,因此預設會將 minAvailable 設為收集器 Pod 的 80% (無條件捨去),而非使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

metrics:
  collector:
    podDisruptionBudget:
      minAvailable: "50%"
metrics.collector.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-telemetry

在自願中斷期間 (例如節點集區升級或節點排除期間),無法使用的指標收集器 Pod 數量上限。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget。由於收集器是以 DaemonSet 的形式執行,因此預設會將 minAvailable 設為收集器 Pod 的 80% (無條件捨去),而非使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

metrics:
  collector:
    podDisruptionBudget:
      maxUnavailable: 1
metrics.collector.resources.requests.cpu 進階 推出版本:1.12.0

預設值: 500m

應用程式在 Kubernetes 容器中正常運作所需的 CPU,以毫核心為單位。

metrics.collector.resources.requests.memory 進階 版本:1.12.0

預設值: 512Mi

應用程式在 Kubernetes 容器中正常運作所需的記憶體,以 MiB 為單位。

metrics.collector.resources.limits.cpu 進階 推出版本:1.12.0

預設值: 500m

Kubernetes 容器中應用程式資源的 CPU 限制,以毫核心為單位。

metrics.collector.resources.limits.memory 進階 推出版本:1.12.0

預設值: 1Gi

Kubernetes 容器中應用程式資源的記憶體限制,以 GiB 為單位。

metrics.collector.livenessProbe.failureThreshold 進階 推出版本:1.12.0

預設值: 5

Kubernetes 在重新啟動容器前,會驗證有效性探測失敗的次數。 最小值為 1。

metrics.collector.livenessProbe.initialDelaySeconds 進階 版本:1.12.0

預設值: 30

容器啟動後,到啟動有效性探測作業之間的時間間隔 (以秒為單位)。

metrics.collector.livenessProbe.periodSeconds 進階 版本:1.12.0

預設值: 10

決定執行存活狀態探測的頻率,以秒為單位。最小值為 1。

metrics.collector.livenessProbe.successThreshold 進階 推出版本:1.12.0

預設值: 1

探測失敗後,至少要連續成功幾次,才算成功。 最小值為 1。

metrics.collector.livenessProbe.timeoutSeconds 進階 推出版本:1.12.0

預設值: 5

存活狀態探測逾時的秒數。最小值為 1。

metrics.collector.readinessProbe.failureThreshold 進階 推出版本:1.12.0

預設值: 3

Kubernetes 會先驗證完備性探測失敗的次數,再將 Pod 標示為尚未準備就緒。最小值為 1。

metrics.collector.readinessProbe.initialDelaySeconds 進階 版本:1.12.0

預設值: 30

容器啟動後,到啟動就緒探測之間的秒數。

metrics.collector.readinessProbe.periodSeconds 進階 版本:1.12.0

預設值: 10

決定執行 readiness 探測的頻率,以秒為單位。最小值為 1。

metrics.collector.readinessProbe.successThreshold 進階 推出版本:1.12.0

預設值: 1

readiness 探測失敗後,至少要連續成功幾次,才算成功。 最小值為 1。

metrics.collector.readinessProbe.timeoutSeconds 進階 推出版本:1.12.0

預設值: 5

健康狀態探測逾時的秒數。最小值為 1。

metrics.disablePrometheusPipeline 基本 推出版本:1.12.0

預設值: true

設為 true 時,系統不會發出 ProxyV2 和 TargetV2 受監控資源的指標。請改用 Proxy 和 Target 受監控資源的指標。

metrics.enabled 基本 版本:1.0.0

預設值: true

啟用 Apigee 指標。設為 true 即可啟用指標。設為 false 即可停用指標。

metrics.gsa 進階 導入版本:1.10.0

預設值:無

僅限 Helm:使用 Helm 圖表在 GKE 叢集上啟用 Workload Identity 時,要與對應 Kubernetes 服務帳戶建立關聯的 apigee-metrics Google IAM 服務帳戶 (GSA) 電子郵件地址。如果已將 gcp.workloadIdentity.enabled 設為 true,請設定這個值。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-metrics@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

metrics.nodeSelector.key 基本 推出版本:1.0.0

預設值:無

必要

節點選取器標籤鍵,用於指定 metrics 執行階段服務的專屬 Kubernetes 節點。

請參閱「 設定專屬節點集區」。

metrics.nodeSelector.value 基本 推出版本:1.0.0

預設值:無

必要

節點選取器標籤值,用於指定 metrics 執行階段服務的專屬 Kubernetes 節點。

請參閱「 設定專屬節點集區」。

metrics.prometheus.containerPort 進階 推出版本:1.0.0

預設值: 9090

用於連線至 Prometheus 指標服務的通訊埠。

metrics.prometheus.image.pullPolicy 進階 推出版本:1.0.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

metrics.prometheus.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

metrics.prometheus.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

metrics.prometheus.livenessProbe.failureThreshold 進階 版本:1.0.0

預設值: 6

Kubernetes 會先驗證有效性探測失敗的次數,再重新啟動容器。最小值為 1。

metrics.prometheus.livenessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行存活狀態探測的頻率,以秒為單位。最小值為 1。

metrics.prometheus.livenessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 3

健康狀態探測作業逾時的秒數。最小值為 1。

metrics.prometheus.readinessProbe.failureThreshold 進階 版本:1.0.0

預設值: 120

Kubernetes 驗證完備性探測失敗的次數,超過這個次數後,Pod 就會標示為「未就緒」。最小值為 1。

metrics.prometheus.readinessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行就緒探測的頻率 (以秒為單位)。最小值為 1。

metrics.prometheus.readinessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 3

健康狀態探測作業逾時的秒數。最小值為 1。

metrics.prometheus.resources.limits.cpu 進階 推出版本:1.14.1

預設值: 500m

Kubernetes 容器中 Prometheus 資源的 CPU 限制,以毫核心為單位。

metrics.prometheus.resources.limits.memory 進階 導入版本:1.14.1

預設值: 4Gi

Kubernetes 容器中 Prometheus 資源的記憶體限制,以 GiB 為單位。

metrics.prometheus.resources.requests.cpu 進階 推出版本:1.14.1

預設值: 128m

Kubernetes 容器中 Prometheus 正常運作所需的 CPU,以毫核心為單位。

metrics.prometheus.resources.requests.memory 進階 推出版本:1.14.1

預設值: 512Mi

在 Kubernetes 容器中正常運作 Prometheus 所需的記憶體,以 mebibyte 為單位。

metrics.prometheus.sslCertPath 基本 推出版本:1.0.0

預設值:無

必要

Prometheus 指標收集程序的 SSL 憑證路徑。Prometheus 是 Apigee 可用於收集及處理指標的工具。

請參閱:

metrics.prometheus.sslKeyPath 基本 推出版本:1.0.0

預設值:無

必要

Prometheus 指標收集程序的 SSL 金鑰路徑。Prometheus 是 Apigee 可用於收集及處理指標的工具。

請參閱:

metrics.proxy.resources.requests.cpu 進階 推出版本:1.4.0

預設值: 500m

Kubernetes 容器中 Proxy 正常運作所需的 CPU,以毫核心為單位。

metrics.proxy.resources.requests.memory 進階 導入版本:1.4.0

預設值: 512Mi

在 Kubernetes 容器中,Proxy 正常運作所需的記憶體,以 mebibyte 為單位。

metrics.proxy.resources.limits.cpu 進階 推出版本:1.4.0

預設值: 500m

Kubernetes 容器中 Proxy 資源的 CPU 限制,以毫核心為單位。

metrics.proxy.resources.limits.memory 進階 推出版本:1.4.0

預設值: 1Gi

Kubernetes 容器中 Proxy 資源的記憶體限制,單位為 GiB。

metrics.proxyStackdriverExporter.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-telemetry

在自願中斷期間 (例如節點集區升級或節點耗盡期間),必須保持可用的 proxyStackdriverExporter Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩者。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

metrics:
  proxyStackdriverExporter:
    podDisruptionBudget:
      minAvailable: "50%"
metrics.proxyStackdriverExporter.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-telemetry

自願中斷期間 (例如節點集區升級或節點排空期間) 無法使用的 proxyStackdriverExporter Pod 數量上限。這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 maxUnavailable 欄位。可接受 Pod 的整數 (1) 或百分比字串 ("50%")。

maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

metrics:
  proxyStackdriverExporter:
    podDisruptionBudget:
      maxUnavailable: 1
metrics.proxyStackdriverExporter.resources.requests.cpu 進階 導入版本:1.7.0

預設值: 128m

在 Kubernetes 容器中正常運作 stackdriverExporter 所需的 CPU,以毫核心為單位。

metrics.proxyStackdriverExporter.resources.requests.memory 進階 推出版本:1.7.0

預設值: 512Mi

Kubernetes 容器中 stackdriverExporter 正常運作所需的記憶體,以 mebibyte 為單位。

metrics.proxyStackdriverExporter.resources.limits.cpu 進階 推出版本:1.7.0

預設值: 500m

Kubernetes 容器中 stackdriverExporter 資源的 CPU 限制,以毫核心為單位。

metrics.proxyStackdriverExporter.resources.limits.memory 進階 推出版本:1.7.0

預設值: 1Gi

Kubernetes 容器中 stackdriverExporter 資源的記憶體限制,以 GiB 為單位。

metrics.proxyURL 基本 推出版本:1.0.0

預設值:無

Kubernetes 叢集中指標程序 Sidecar Proxy 的網址。

metrics.sdSidecar.containerPort 進階 推出版本:1.0.0

預設值: 9091

用於連線至 Cloud Monitoring 指標服務的通訊埠。

metrics.sdSidecar.image.pullPolicy 進階 推出版本:1.0.0

預設值: IfNotPresent

決定 Kubelet 何時提取這項服務的 Docker 映像檔。 可能的值包括:

  • IfNotPresent:如果圖片已存在,請勿提取新圖片
  • Always:一律提取政策,即使政策已存在也一樣

    詳情請參閱「 更新圖片」。

metrics.sdSidecar.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

metrics.sdSidecar.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

metrics.serviceAccountPath 基本 推出版本:1.0.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

Google 服務帳戶金鑰檔案的路徑,須具備監控指標寫入者角色。

metrics.serviceAccountRef 基本 推出版本:1.2.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

metrics.stackdriverExporter.resources.requests.cpu 進階 推出版本:1.4.0

Deprecated:從 Hybrid 1.8 版開始,metrics:stackdriverExporter已替換為 metrics:appStackdriverExporter 和 metrics:proxyStackdriverExporter。請參閱:

metrics.stackdriverExporter.resources.requests.memory 進階 導入版本:1.4.0

Deprecated:從 Hybrid 1.8 版開始,metrics:stackdriverExporter已替換為 metrics:appStackdriverExporter 和 metrics:proxyStackdriverExporter。請參閱:

metrics.stackdriverExporter.resources.limits.cpu 進階 推出版本:1.4.0

Deprecated:自 Hybrid 1.8 版起,metrics:stackdriverExporter 已替換為 metrics:appStackdriverExporter 和 metrics:proxyStackdriverExporter。請參閱:

metrics.stackdriverExporter.resources.limits.memory 進階 推出版本:1.4.0

Deprecated:自 Hybrid 1.8 版起,metrics:stackdriverExporter 已替換為 metrics:appStackdriverExporter 和 metrics:proxyStackdriverExporter。請參閱:

metrics.terminationGracePeriodSeconds 進階 推出版本:1.0.0

預設值: 300

從要求刪除 Pod 到終止 Pod 的最長時間 (以秒為單位)。在這段期間,系統會執行所有 prestop 鉤子,且所有執行中的程序都應正常終止。當所有執行中的程序都終止,或寬限期結束時 (以先發生者為準),Pod 就會終止。如果沒有正在執行的程序,系統會立即終止 Pod。

metrics.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 指定容忍度與污點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「Taints and Tolerations: Concepts」。

metrics.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容許度的 Pod。

詳情請參閱「Taints 和容許度:概念」。

metrics.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 符合 value 中設定的值。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

metrics.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 與失敗或無回應節點的繫結時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

metrics.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

value 是當 operator 設為 Equal 時,觸發 effect 的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

mintTaskScheduler

mintTaskScheduler 是排定營利工作的 Cron 工作,例如定期計算週期性費用。

下表說明 mintTaskScheduler 物件的屬性:

屬性 類型 說明
mintTaskScheduler.gsa 進階 導入版本:1.14.3

預設值:無

使用 Helm 圖表在 GKE 叢集上啟用 Workload Identity 時,要與對應 Kubernetes 服務帳戶建立關聯的 apigee-mint-task-scheduler Google IAM 服務帳戶 (GSA) 電子郵件地址。如果您已將 gcp.workloadIdentity.enabled 設為 true,請設定這個屬性。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-mint-task-scheduler@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

mintTaskScheduler.image.pullPolicy 進階 推出版本:1.7.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

mintTaskScheduler.image.tag 進階 導入版本:1.7.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

mintTaskScheduler.image.url 進階 推出版本:1.7.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

mintTaskScheduler.resources.limits.cpu 進階 推出版本:1.1.0

預設值: 2000m

Kubernetes 容器中資源的 CPU 限制,以毫核心為單位。

mintTaskScheduler.resources.limits.memory 進階 推出版本:1.1.0

預設值: 4Gi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

mintTaskScheduler.resources.requests.cpu 進階 推出版本:1.7.0

預設值: 500m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

mintTaskScheduler.resources.requests.memory 進階 推出版本:1.7.0

預設值: 512Mi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

mintTaskScheduler.serviceAccountPath 基本 推出版本:1.14.3

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

Google 服務帳戶金鑰檔案的路徑。

mintTaskScheduler.serviceAccountRef 基本 推出版本:1.14.3

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

mintTaskScheduler.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 指定容忍度與污點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「污點和容忍:概念」。

mintTaskScheduler.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容許度的 Pod。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

mintTaskScheduler.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須使用 Kubernetes 的 Taints 和容許條件功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

mintTaskScheduler.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

mintTaskScheduler.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

value 是當 operator 設為 Equal 時,觸發 effect 的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

newDataPipeline

newDataPipeline 會判斷 Apigee Hybrid 是否使用新資料管道,讓執行階段元件直接將資料寫入控制層。

下表說明 newDataPipeline 物件的屬性:

屬性 類型 說明
newDataPipeline.analytics 進階 推出版本:1.13.1

預設值: true

決定數據分析是否使用新的 Pub/Sub 資料管道。如果您使用混合式 1.13 版並啟用資料落地設定,或是使用混合式 1.14 版以上版本,且先前已設為 false,請將這個屬性設為 true,即可使用新的資料管道。

設為 false 即可停用新的資料管道。詳情請參閱「設定混合式環境以使用新的資料管道」。

newDataPipeline.debugSession 進階 推出版本:1.13.1

預設值: true (自混合式 v1.14.0 起)

判斷是否已啟用新的 Pub/Sub 資料管道。如果您使用混合式 1.13 版並已啟用資料落地功能,或是使用混合式 1.14 以上版本,且先前已將這個屬性設為 false,請將這個屬性設為 true,即可使用新的資料管道。

設為 false 即可停用新的資料管道。詳情請參閱「設定混合式環境以使用新的資料管道」。

nodeSelector

nodeSelector 物件會定義 Apigee 執行個體的節點。在安裝或升級 apigee-org 和 apigee-ingress-manager 圖表時,Apigee hybrid 會在背景將 apigeeRuntime 和 apigeeData 的標籤鍵/值對應至個別的 Istio 和 MART 元件。您可以在 mart:nodeSelector 屬性中覆寫個別物件的這項設定。

下表說明 nodeSelector 物件的屬性:

屬性 類型 說明
nodeSelector.apigeeData.key 進階 版本:1.0.0

預設值: cloud.google.com/gke-nodepool

ApigeeData 是 Cassandra 資料庫的節點。節點選取器標籤鍵,用於指定要與 Apigee 服務資料搭配使用的 Kubernetes 節點。

請參閱「設定專用節點集區」。

nodeSelector.apigeeData.value 進階 版本:1.0.0

預設值: apigee-data

apigee-data 是 Cassandra 資料庫的節點。節點選取器標籤值,用於指定 Kubernetes 節點,以處理 Apigee 服務資料。

請參閱「設定專用節點集區」。

nodeSelector.apigeeRuntime.key 進階 版本:1.0.0

預設值: cloud.google.com/gke-nodepool

Apigee 執行階段是專案執行階段環境的節點。節點選取器標籤鍵,用於指定 Apigee 執行階段服務的 Kubernetes 節點。

請參閱「設定專用節點集區」。

nodeSelector.apigeeRuntime.value 進階 推出版本:1.0.0

預設值: apigee-runtime

apigee-runtime 是專案執行階段環境的節點。節點選取器標籤值,用於指定 Apigee 執行階段服務的 Kubernetes 節點。

請參閱「設定專用節點集區」。

nodeSelector.requiredForScheduling 進階 版本:1.0.0

預設值:true

requiredForScheduling 屬性預設為 true。true,表示如果 Kubernetes 找不到具有設定標籤鍵/值的節點,系統就不會在 VM worker 節點上排定基礎 Pod。

在正式環境中,nodeSelector.requiredForScheduling 應設為 true。

請參閱「設定專用節點集區」。

redis

下表說明 redis 物件的屬性:

屬性 類型 說明
redis.auth.password 基本 推出版本:1.6.0

預設值: iloveapis123

必要

Redis 管理員的密碼。管理員使用者可用於在 Redis 叢集上執行的任何管理活動。

redis.auth.secret 基本 推出版本:1.9.1

預設值:無

儲存在 Kubernetes 密鑰中的檔案名稱,內含 Redis 管理員的密碼。Secret 檔案應包含以下金鑰:

data:
    redis.auth.password: encoded_value

另請參閱:

redis.envoy.image.pullPolicy 進階 推出版本:1.6.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

redis.envoy.image.tag 進階 推出版本:1.6.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

redis.envoy.image.url 進階 推出版本:1.6.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

redis.envoy.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-redis

在自願中斷期間 (例如節點集區升級或節點排除),必須保持可用的 Redis Envoy Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。這個欄位可接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

redis:
  envoy:
    podDisruptionBudget:
      minAvailable: "50%"
redis.envoy.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-redis

在自願中斷期間 (例如節點集區升級或節點排除),無法使用的 Redis Envoy Pod 數量上限。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。這個欄位可接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果您未設定任何欄位,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

redis:
  envoy:
    podDisruptionBudget:
      maxUnavailable: 1
redis.image.pullPolicy 進階 推出版本:1.6.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

redis.image.tag 進階 推出版本:1.6.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

redis.image.url 進階 推出版本:1.6.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

redis.replicaCount 基本 推出版本:1.6.0

預設值: 2

Redis 是複製的儲存空間。這項屬性會指定做為 StatefulSet 的 Redis 節點數量。

redis.resources.requests.cpu 進階 推出版本:1.6.0

預設值: 500m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

redis.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taints and Tolerations 功能。

effect 指定容忍度與污點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「污點和容忍:概念」。

redis.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容許度的 Pod。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

redis.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 符合 value 中設定的值。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

redis.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

redis.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

value 是觸發 effect 的值,前提是 operator 設為 Equal。

詳情請參閱「Taints 和容許度:概念」。

runtime

下表說明 runtime 物件的屬性:

屬性 類型 說明
runtime.annotations 進階 導入版本:1.5.0

預設值:無

用於註解 Pod 的選用鍵/值對應。詳情請參閱「自訂註解」。

runtime.envVars 基本 推出版本:1.13.1

預設值:無

以鍵/值組合的形式,為執行階段元件提供額外的環境變數:

runtime:
  envVars:
    KEY_1: VALUE_N
    ... ...
    KEY_N: VALUE_N

例如:

runtime:
  envVars:
    RUNTIME_ENV_VAR1: "value of runtime env-var 1"
    RUNTIME_ENV_VAR2: "value of runtime env-var 2"
runtime.image.pullPolicy 進階 版本:1.0.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

runtime.hpaBehavior.scaleDown.percent.periodSeconds 進階 導入版本:1.7.0

預設值:60

縮減執行階段執行個體百分比時,政策應維持不變的時間範圍。

runtime.hpaBehavior.scaleDown.percent.value 進階 導入版本:1.7.0

預設值:20

政策允許的變更量,用於縮減執行個體百分比。

runtime.hpaBehavior.scaleDown.pods.periodSeconds 進階 導入版本:1.7.0

預設值:60

縮減執行階段執行個體數量時,政策應維持不變的時間範圍。

runtime.hpaBehavior.scaleDown.pods.value 進階 導入版本:1.7.0

預設值:20

縮減執行階段執行個體數量時,政策允許的變更量。

runtime.hpaBehavior.scaleDown.selectPolicy 進階 推出版本:1.7.0

預設值:Min

自動配置器在多項自動調度資源政策之間做出的決策。將值設為「Min」,可讓執行階段執行個體縮減規模時,變動幅度最小。如果將值設為「Max」,則縮減執行階段執行個體時,可進行最大程度的變更。

runtime.hpaBehavior.scaleDown.stabilizationWindowSeconds 進階 推出版本:1.7.0

預設值:120

縮減資源時,應考量過去建議的秒數。

runtime.hpaBehavior.scaleUp.percent.periodSeconds 進階 導入版本:1.7.0

預設值:60

擴充執行階段執行個體百分比時,政策應維持有效的時間範圍。

runtime.hpaBehavior.scaleUp.percent.value 進階 導入版本:1.7.0

預設值:20

擴充執行階段執行個體百分比時,政策應維持有效的時間範圍。

runtime.hpaBehavior.scaleUp.pods.periodSeconds 進階 導入版本:1.7.0

預設值:60

政策應在擴大執行個體數量時維持有效的時間範圍。

runtime.hpaBehavior.scaleUp.pods.value 進階 推出版本:1.7.0

預設值:4

政策允許的變更量,用於調度執行階段執行個體數量。

runtime.hpaBehavior.scaleUp.selectPolicy 進階 推出版本:1.7.0

預設值:Max

自動配置器在多項自動調度資源政策之間做出的決策。將值設為「Min」,可讓執行階段執行個體在擴充時,變動幅度最小。將值設為「Max」,可大幅變更執行階段執行個體的擴充規模。

runtime.hpaBehavior.scaleUp.stabilizationWindowSeconds 進階 推出版本:1.7.0

預設值:30

在擴大執行階段執行個體時,應考慮過去建議的秒數。

runtime.hpaMetrics.serverMainTaskWaitTime 進階 推出版本:1.7.0

預設值:400M

在 HTTP 層,Proxy 要求的執行階段執行個體中,處理佇列的預期平均等待時間 (以毫秒為單位)。

runtime.hpaMetrics.serverNioTaskWaitTime 進階 推出版本:1.7.0

預設值:400M

處理佇列中,執行階段例項處理 Proxy 要求以處理政策的所需平均等待時間 (以毫秒為單位)。

runtime.hpaMetrics.targetCPUUtilizationPercentage 進階 推出版本:1.7.0

預設值:75

所有執行階段執行個體的目標 CPU 使用率百分比。

runtime.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

runtime.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

runtime.livenessProbe.failureThreshold 進階 版本:1.0.0

預設值: 2

Kubernetes 會先驗證有效性探測失敗的次數,再重新啟動容器。最小值為 1。

runtime.livenessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 60

容器啟動後,到啟動存活狀態探測之間的秒數。

runtime.livenessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行存活狀態探測的頻率,以秒為單位。最小值為 1。

runtime.livenessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 1

健康狀態探測作業逾時的秒數。最小值為 1。

runtime.nodeSelector.key 基本 推出版本:1.0.0

預設值:無

選用的節點選取器標籤鍵,用於指定 runtime 服務的 Kubernetes 節點。

請參閱 nodeSelector 屬性。

runtime.nodeSelector.value 基本 推出版本:1.0.0

預設值:無

節點選取器標籤值,用於指定 runtime 服務的 Kubernetes 節點。

請參閱「 設定專屬節點集區」。

runtime.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-env

自願性中斷期間 (例如節點集區升級或節點排空期間),必須保持可用的執行階段 Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果您未設定任何欄位,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。如要為特定環境中的執行階段 Pod 設定不同預算,請使用 envs[].components.runtime.podDisruptionBudget.minAvailable。

例如,在 overrides.yaml 中:

runtime:
  podDisruptionBudget:
    minAvailable: "50%"
runtime.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-env

在自願性中斷期間 (例如節點集區升級或節點排空),無法使用的執行階段 Pod 數量上限。這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 maxUnavailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,預設使用 maxUnavailable: 1。如要為特定環境中的執行階段 Pod 設定不同預算,請使用 envs[].components.runtime.podDisruptionBudget.maxUnavailable。

例如,在 overrides.yaml 中:

runtime:
  podDisruptionBudget:
    maxUnavailable: 1
runtime.readinessProbe.failureThreshold 進階 版本:1.0.0

預設值: 2

Kubernetes 會先驗證完備性探測失敗的次數,再將 Pod 標示為「尚未準備就緒」。最小值為 1。

runtime.readinessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 60

容器啟動後,要等待幾秒才會啟動就緒探測。

runtime.readinessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行就緒探測的頻率 (以秒為單位)。最小值為 1。

runtime.readinessProbe.successThreshold 進階 推出版本:1.0.0

預設值: 1

readiness 探測失敗後,至少要連續成功幾次,才算成功。最小值為 1。

runtime.readinessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 1

存活狀態探測逾時的秒數。最小值為 1。

runtime.release.strategy 進階 導入版本:1.14.7

預設值: rolling

選取環境設定變更觸發版本時,用於推出新執行階段 (訊息處理器) ReplicaSet 的策略。您也可以使用 envs[].components.runtime.release.strategy 為每個環境設定這項屬性。

接受的值:

  • rolling (預設):與現有 ReplicaSet 並列建立新的 ReplicaSet,並分階段將流量轉移至新的 ReplicaSet,然後縮減舊的 ReplicaSet。這項功能可提供分階段流量遷移,但在發布期間,暫時需要額外的運算空間 (最多約為穩定狀態 Pod 數量的兩倍)。建議用於大多數正式環境。
  • scale-down-first:一次替換一個 Pod,先排空現有 Pod,再建立替代 Pod。由於每次替換都是一對一,因此版本會維持在穩態 Pod 數量內,不需要額外的運算空間。如果叢集沒有自動調度節點資源的功能,例如硬體受限或裸機安裝,請使用這個選項。發布速度較慢,且不包含分階段遷移流量。
  • none:立即轉換至新的 ReplicaSet,不進行分階段流量遷移。
runtime.replicaCountMax 基本 推出版本:1.0.0

預設值: 4

可供自動調整資源配置的副本數量上限。

如果使用強化版個別環境 Proxy 限制,這項設定會套用至環境的所有 replicaset。每個副本集仍會獨立自動調整規模。

runtime.replicaCountMin 基本 推出版本:1.0.0

預設值: 1

可自動調度資源的副本數量下限。

如果使用強化版個別環境 Proxy 限制,這項設定會套用至環境的所有 replicaset。每個 replicaset 仍會獨立自動調度資源。

runtime.resources.limits.cpu 進階 導入版本:1.11.0

預設值: 4000m

Kubernetes 容器中資源的 CPU 限制,以毫核心為單位。

runtime.resources.limits.memory 進階 推出版本:1.11.0

預設值: 6Gi

Kubernetes 容器中資源的記憶體限制,以 MiB (Mi) 或 GiB (Gi) 為單位。

runtime.resources.requests.cpu 進階 推出版本:1.0.0

預設值: 500m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

runtime.resources.requests.memory 進階 版本:1.0.0

預設值: 512Mi (請參閱下方附註)

Kubernetes 容器中資源正常運作所需的記憶體,以 mebibyte (Mi) 或 gibibyte (Gi) 為單位。

runtime.service.type 進階 版本:1.0.0

預設值: ClusterIP

服務類型。您可以將這項設定設為 ClusterIP 以外的服務,例如 LoadBalancer。

runtime.targetCPUUtilizationPercentage 進階 推出版本:1.0.0

預設值: 75

Pod 執行階段程序的目標 CPU 使用率。當 CPU 使用率達到這個欄位的值時,執行階段就會自動調度資源,最高可達 replicaCountMax。

runtime.terminationGracePeriodSeconds 進階 推出版本:1.0.0

預設值: 3600

從要求刪除 Pod 到終止 Pod 的最長時間 (以秒為單位)。在此期間,系統會執行所有 prestop hook,且所有執行中的程序都應正常終止。所有執行中的程序終止或寬限期結束時 (以先發生者為準),Pod 就會終止。如果沒有執行中的程序,Pod 會立即終止。

runtime.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taints and Tolerations 功能。

effect 指定容忍度與污點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「污點和容忍:概念」。

runtime.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints 和容許度:概念」。

runtime.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints 和容許度:概念」。

runtime.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

runtime.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

value 是當 operator 設為 Equal 時,觸發 effect 的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

synchronizer

確保訊息處理器與最新部署的 API Proxy 繫結保持同步。為此,同步器會輪詢管理層,偵測到新合約時,同步器會將合約傳送至執行階段層。根據預設,同步器會將環境設定資料儲存在 Cassandra 中。

詳情請參閱「設定同步器」。

下表說明 synchronizer 物件的屬性:

屬性 類型 說明
synchronizer.annotations 進階 導入版本:1.5.0

預設值:無

用於為 Pod 加上註解的選用鍵/值對應。詳情請參閱「自訂註解」。

synchronizer.image.pullPolicy 進階 版本:1.0.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

synchronizer.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

synchronizer.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

synchronizer.livenessProbe.failureThreshold 進階 版本:1.0.0

預設值: 2

Kubernetes 會先驗證有效性探測失敗的次數,再重新啟動容器。最小值為 1。

synchronizer.livenessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 0

容器啟動後,到啟動有效性探測作業之間的時間間隔 (以秒為單位)。

synchronizer.livenessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行存活狀態探測的頻率,以秒為單位。最小值為 1。

synchronizer.livenessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 1

健康狀態探測作業逾時的秒數。最小值為 1。

synchronizer.nodeSelector.key 基本 推出版本:1.0.0

預設值:無

必要

選用的節點選取器標籤鍵,用於指定 synchronizer 執行階段服務的 Kubernetes 節點。

請參閱 nodeSelector。

synchronizer.nodeSelector.value 基本 推出版本:1.0.0

預設值:無

用於指定 Kubernetes 節點的選用節點選取器標籤值,適用於 synchronizer 執行階段服務。

請參閱 nodeSelector。

synchronizer.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-env

在自願中斷期間 (例如節點集區升級或節點耗盡),必須保持可用的同步器 Pod 數量下限。這個欄位會為這些 Pod 設定 PodDisruptionBudget 的 minAvailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,預設使用 maxUnavailable: 1。如要為特定環境中的同步器 Pod 設定不同的預算,請使用 envs[].components.synchronizer.podDisruptionBudget.minAvailable。

例如,在 overrides.yaml 中:

synchronizer:
  podDisruptionBudget:
    minAvailable: "50%"
synchronizer.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-env

在自願中斷期間 (例如節點集區升級或節點排除期間),無法使用的同步器 Pod 數量上限。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。可接受整數的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,預設使用 maxUnavailable: 1。如要為特定環境中的同步器 Pod 設定不同預算,請使用 envs[].components.synchronizer.podDisruptionBudget.maxUnavailable。

例如,在 overrides.yaml 中:

synchronizer:
  podDisruptionBudget:
    maxUnavailable: 1
synchronizer.pollInterval 進階 版本:1.0.0

預設值: 60

Synchronizer 在輪詢作業之間的等待時間長度。Synchronizer 會輪詢 Apigee 控制層服務,偵測並提取新的執行階段合約。

synchronizer.readinessProbe.failureThreshold 進階 版本:1.0.0

預設值: 2

Kubernetes 會先驗證完備性探測失敗的次數,再將 Pod 標示為「尚未準備就緒」。最小值為 1。

synchronizer.readinessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 0

容器啟動後,要等待幾秒才會啟動就緒探測。

synchronizer.readinessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行就緒探測的頻率 (以秒為單位)。最小值為 1。

synchronizer.readinessProbe.successThreshold 進階 推出版本:1.0.0

預設值: 1

readiness 探測失敗後,至少要連續成功幾次,才算成功。最小值為 1。

synchronizer.readinessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 1

健康狀態探測作業逾時的秒數。最小值為 1。

synchronizer.replicaCount 基本 推出版本:1.0.0

Deprecated:自混合式 1.2 版起,請使用 synchronizer.replicaCountMax 和 synchronizer.replicaCountMin 管理同步器副本數量

synchronizer.replicaCountMax 基本 推出版本:1.2.0

預設值: 4

自動調度資源的副本數量上限。

synchronizer.replicaCountMin 基本 推出版本:1.2.0

預設值: 1

自動調度的副本數量下限。

synchronizer.resources.limits.cpu 進階 推出版本:1.11.0

預設值: 2000m

Kubernetes 容器中資源的 CPU 限制,以毫核心為單位。

synchronizer.resources.limits.memory 進階 推出版本:1.11.0

預設值: 5Gi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

synchronizer.resources.requests.cpu 進階 版本:1.0.0

預設值: 100m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

synchronizer.resources.requests.memory 進階 版本:1.0.0

預設值: 1Gi

Kubernetes 容器中資源正常運作所需的記憶體 (以 GB 為單位)。

synchronizer.serviceAccountPath 基本 推出版本:1.0.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

具有 Apigee Synchronizer Manager 角色的 Google 服務帳戶金鑰檔案路徑。

synchronizer.serviceAccountRef 基本 推出版本:1.2.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

synchronizer.serviceAccountSecret 基本 推出版本:1.1.0

預設值:無

Kubernetes 密鑰的名稱。建立密鑰時,您必須使用 Google 服務帳戶金鑰,並以「Apigee Synchronizer Manager」角色做為輸入內容。

synchronizer.targetCPUUtilizationPercentage 進階 推出版本:1.0.0

預設值: 75

Pod 上同步器程序的目標 CPU 使用率。當 CPU 使用率達到這個欄位的值時,同步器就會自動調度資源,最高可達 replicaCountMax。

synchronizer.terminationGracePeriodSeconds 進階 推出版本:1.0.0

預設值: 30

要求刪除 Pod 與終止 Pod 之間的最長時間 (以秒為單位)。在這段期間,系統會執行所有 prestop 鉤子,且所有執行中的程序都應正常終止。所有執行中的程序終止或寬限期結束時 (以先發生者為準),Pod 就會終止。如果沒有執行中的程序,Pod 會立即終止。

synchronizer.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 則指定容忍度與汙點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「Taints and Tolerations: Concepts」。

synchronizer.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容許度的 Pod。

詳情請參閱「Taints 和容許度:概念」。

synchronizer.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 符合 value 中設定的值。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

synchronizer.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 與失敗或無回應節點的繫結時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

synchronizer.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

value 是觸發 effect 的值,前提是 operator 設為 Equal。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

udca

(通用資料收集代理程式) 定義在執行階段層資料收集 Pod 中執行的服務。這項服務會擷取數據分析和部署狀態資料,並傳送至 Unified Analytics Platform (UAP)。

詳情請參閱「收集 Analytics 和部署狀態資料」。

下表說明 udca 物件的屬性:

屬性 類型 說明
udca.annotations 進階 導入版本:1.5.0

預設值:無

用於註解 Pod 的選用鍵/值對應。詳情請參閱「自訂註解」。

udca.fluentd.image.pullPolicy 進階 版本:1.0.0

預設值: IfNotPresent

決定 kubelet 何時提取 Pod 的 Docker 映像檔。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

udca.fluentd.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

udca.fluentd.image.url 進階 推出版本:1.0.0

預設值: gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent

這項服務的 Docker 映像檔位置。

udca.fluentd.resources.limits.cpu 進階 推出版本:1.11.0

預設值: 1000m

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

udca.fluentd.resources.limits.memory 進階 推出版本:1.11.0

預設值: 500Mi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

udca.fluentd.resources.requests.cpu 進階 推出版本:1.0.0

預設值: 500m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

udca.fluentd.resources.requests.memory 進階 推出版本:1.0.0

預設值: 250Mi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

udca.gsa 進階 導入版本:1.10.0

預設值:無

僅限 Helm:使用 Helm 圖表在 GKE 叢集上啟用 Workload Identity 時,要與對應 Kubernetes 服務帳戶建立關聯的 apigee-udca Google IAM 服務帳戶 (GSA) 電子郵件地址。如果已將 gcp.workloadIdentity.enabled 設為 true,請設定這個值。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-udca@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

udca.image.pullPolicy 進階 推出版本:1.0.0

預設值:IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

udca.image.tag 進階 推出版本:1.0.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

udca.image.url 進階 版本:1.0.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件的目前存放區網址。

udca.jvmXms 進階 推出版本:1.0.0

Deprecated:從 Hybrid 1.8 版開始,系統不再使用 udca.jvmXms。

udca.jvmXmx 進階 推出版本:1.0.0

Deprecated:從 Hybrid 1.8 版開始,系統不再使用 udca.jvmXmx。

udca.livenessProbe.failureThreshold 進階 版本:1.0.0

預設值: 2

Kubernetes 會先驗證有效性探測失敗的次數,再重新啟動容器。最小值為 1。

udca.livenessProbe.initialDelaySeconds 進階 推出版本:1.0.0

預設值: 0

容器啟動後,到啟動有效性探測作業之間的時間間隔 (以秒為單位)。

udca.livenessProbe.periodSeconds 進階 版本:1.0.0

預設值: 5

決定執行存活狀態探測的頻率,以秒為單位。最小值為 1。

udca.livenessProbe.timeoutSeconds 進階 推出版本:1.0.0

預設值: 1

健康狀態探測作業逾時的秒數。最小值為 1。

udca.nodeSelector.key 基本 推出版本:1.0.0

預設值:無

必要

節點選取器標籤鍵,用於指定 udca 執行階段服務的專用 Kubernetes 節點。

請參閱「 設定專用節點集區」。

udca.nodeSelector.value 基本 推出版本:1.0.0

預設值:無

必要

節點選取器標籤值,用於指定 udca 執行階段服務的專屬 Kubernetes 節點。

請參閱「 設定專屬節點集區」。

udca.pollingIntervalInSec 進階 推出版本:1.0.0

預設值: 1

UDCA 在輪詢作業之間等待的時間長度 (以秒為單位)。UDCA 會輪詢資料收集 Pod 檔案系統上的資料目錄,偵測是否有要上傳的新檔案。

udca.replicaCountMax 基本 推出版本:1.0.0

預設值: 4

混合式可為 UDCA 部署項目自動新增的 Pod 數量上限。 由於 UDCA 是以 ReplicaSet 的形式實作,因此 Pod 是副本。

建議將 udca.replicaCountMax 設為每個環境的副本數量上限,乘以 Apigee 組織中的環境數量。舉例來說,如果您想允許每個環境最多有 4 個副本,且您有 3 個環境,請設定 udca.replicaCountMax: 12。

udca.replicaCountMin 基本 推出版本:1.0.0

預設值: 1

UDCA 部署作業的 Pod 數量下限。由於 UDCA 是以 ReplicaSet 的形式實作,因此 Pod 是副本。

如果 CPU 使用率超過 udca.targetCPUUtilizationPercentage,Hybrid 會逐步增加 Pod 數量,最多可達 udca.replicaCountMax 個。

udca.resources.limits.cpu 進階 推出版本:1.11.0

預設值: 1000m

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

udca.resources.limits.memory 進階 推出版本:1.11.0

預設值: 2Gi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

udca.resources.requests.cpu 進階 版本:1.0.0

預設值: 250m

Kubernetes 容器中資源正常運作所需的 CPU,以毫核心為單位。

udca.resources.requests.memory 進階 推出版本:1.0.0

預設值: 250Mi

Kubernetes 容器中資源正常運作所需的記憶體,以 MiB 為單位。

udca.revision 進階 推出版本:1.0.0

預設值: v1

填入標籤的靜態值,用於啟用初期測試部署。

udca.serviceAccountPath 基本 推出版本:1.0.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

具有 Apigee Analytics Agent 角色的 Google 服務帳戶金鑰檔案路徑。

udca.serviceAccountRef 基本 推出版本:1.2.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

udca.targetCPUUtilizationPercentage 進階 推出版本:1.0.0

預設值: 75

Pod 數量在 ReplicaSet 中擴充的 CPU 使用量門檻,以可用 CPU 資源總數的百分比表示。 Hybrid 會使用資料收集 Pod (fluentd 和 UDCA) 中所有容器的總使用率,計算目前的使用率。

如果 CPU 使用率超過這個值,Hybrid 就會逐步增加 ReplicaSet 中的 Pod 數量,最多可達 udca.replicaCountMax 個。

udca.terminationGracePeriodSeconds 進階 版本:1.0.0

預設值: 600

從要求刪除 Pod 到終止 Pod 的最長時間 (以秒為單位)。在此期間,系統會執行所有 prestop hook,且所有執行中的程序都應正常終止。所有執行中的程序終止或寬限期結束時 (以先發生者為準),Pod 就會終止。如果沒有正在執行的程序,系統會立即終止 Pod。

udca.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 指定容忍度與污點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「污點和容忍:概念」。

udca.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taints 和容許條件功能。

key 會識別可套用容忍度的 Pod。

詳情請參閱「Taints 和容許度:概念」。

udca.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 與 value 中設定的值相符。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints 和容許度:概念」。

udca.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

tolerationSeconds 定義 Pod 與失敗或無回應節點的繫結時間長度 (以秒為單位)。

詳情請參閱「Taints 和容許度:概念」。

udca.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的Taints 和容許條件功能使用。

value 是觸發 effect 的值,前提是 operator 設為 Equal。

詳情請參閱「Taints 和容許度:概念」。

virtualhosts

virtualhosts 屬性是必要的設定屬性。 虛擬主機可讓 Apigee Hybrid 處理指定環境群組的 API 要求。

詳情請參閱「設定虛擬主機」。

下表說明 virtualhosts 物件的屬性:

屬性 類型 說明
virtualhosts[].additionalGateways 基本 推出版本:1.2.0

預設值:無

要將流量轉送至哪些 Istio 閘道。

virtualhosts[].cipherSuites[] 進階 推出版本:1.9.2

預設值:無

這項屬性會設定 ingress 閘道使用的 TLS 加密。以下列出預設啟用的加密方式 (OpenSSL 格式)。如要進一步瞭解支援的密碼,請參閱 Envoy 的 Boring FIPS 建構版本說明文件。如果值為空白,則預設為 Envoy 的 Boring FIPS 版本支援的加密套件。

TLS v1.3:

預設為啟用 其他加密套件
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
TLS 1.3 密碼套件無法
覆寫。

TLS 1.2 版:

預設為啟用 其他加密套件
  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES256-GCM-SHA384
  • AES128-GCM-SHA256
  • AES128-SHA
  • AES256-GCM-SHA384
  • AES256-SHA
  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-AES128-SHA
  • ECDHE-ECDSA-AES256-GCM-SHA384
  • ECDHE-ECDSA-AES256-SHA
  • ECDHE-ECDSA-CHACHA20-POLY1305
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES128-SHA
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES256-SHA
  • ECDHE-RSA-CHACHA20-POLY1305

TLS 1.1 版:

預設為啟用 其他加密套件
TLS v1.1 預設不會啟用。
  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-ECDSA-CHACHA20-POLY1305
  • ECDHE-RSA-CHACHA20-POLY1305
  • ECDHE-ECDSA-AES128-SHA
  • ECDHE-ECDSA-AES256-SHA
  • ECDHE-RSA-AES256-SHA

如要啟用更多加密套件,請將這些套件新增至 virtualhosts.cipherSuites 屬性,並在 virtualhosts.minTLSProtocolVersion 屬性中指定要啟用這些套件的 TLS 版本。舉例來說,如要啟用所有接受的 TLS v.1.2 密碼套件,請在 virtualhosts 設定中新增下列內容:

virtualhosts:
- name: ENV_GROUP_NAME
  minTLSProtocolVersion: "1.2"
  cipherSuites:
  - "AES128-GCM-SHA256"
  - "AES128-SHA"
  - "AES256-GCM-SHA384"
  - "AES256-SHA"
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-SHA"
  - "ECDHE-RSA-CHACHA20-POLY1305"
...

如要在 Apigee Ingress 閘道部署中啟用舊版 TLS,請使用 virtualhosts.minTLSProtocolVersion 和 virtualhosts.cipherSuites 屬性。

舉例來說,如要啟用 TLS 1.1 版,請按照下列步驟操作:

virtualhosts:
- name: ENV_GROUP_NAME
  minTLSProtocolVersion: "1.1"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
...
virtualhosts[].name 基本 推出版本:1.2.0

預設值:無

必要

虛擬主機的名稱。

virtualhosts[].maxTLSProtocolVersion 基本 推出版本:1.3.0

預設值:無

Envoy 可選取的 TLS 通訊協定最高版本。Envoy 會自動使用 virtualhosts[].minTLSProtocolVersion 到 virtualhosts[].maxTLSProtocolVersion 之間最合適的 TLS 通訊協定版本。

值必須是數字。例如:

virtualhosts:
- name: default
  maxTLSProtocolVersion: "1.3"

其中數字代表 TLS 版本號碼,格式為 #.#。在上述範例中,"1.3" 代表 Istio TLS 版本 TLSV1_3。

另請參閱 Istio 說明文件中的「 ServerTLSSettings.TLSProtocol」。

virtualhosts[].minTLSProtocolVersion 基本 推出版本:1.3.0

預設值:無

Envoy 可選取的 TLS 通訊協定最低版本。Envoy 會自動使用 virtualhosts[].minTLSProtocolVersion 和 virtualhosts[].maxTLSProtocolVersion 之間最佳的 TLS 通訊協定版本。

值必須是數字。例如:

virtualhosts:
- name: default
  minTLSProtocolVersion: "1.2"

其中數字代表 TLS 版本號碼,格式為 #.#。在上述範例中,1.2 代表 Istio TLS 版本 TLSV1_2。

另請參閱 Istio 說明文件中的 ServerTLSSettings.TLSProtocol。

virtualhosts[].requestTimeout 基本 導入版本:1.10.0

預設值: 300

圖表: apigee-virtualhost

要求逾時的秒數。最小值為 1。

virtualhosts[].selector 基本 推出版本:1.2.0

預設值: app: apigee-ingressgateway

必要

鍵/值選取器值組,用於指向不同的 Ingress 選取器。

  • apigee-ingressgateway:適用於使用 Apigee 輸入閘道的 Apigee Hybrid 安裝作業。
  • istio-ingressgateway:適用於使用 Cloud Service Mesh 的 Apigee Hybrid 安裝作業 (Apigee Hybrid 1.8 版和更早版本)。

如未提供選取器標籤,設定會提供給 Apigee 輸入閘道。

virtualhosts[].sslCertPath 基本 推出版本:1.2.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

系統中的 TLS 憑證檔案路徑。

virtualhosts[].sslKeyPath 基本 推出版本:1.2.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

系統中的 TLS 私密金鑰檔案路徑。

virtualhosts[].sslSecret 基本 推出版本:1.2.0

預設值:無

必須提供 sslCertPath/sslKeyPath 或 sslSecret。

儲存在 Kubernetes 密鑰中的檔案名稱,其中包含 Cassandra 使用者和密碼。您可以按照下列操作說明建立密鑰:建立密鑰。

另請參閱:

watcher

watcher 屬性是必要設定屬性。監控程式會監控設定變更,並觸發將變更套用至執行階段層。

下表說明 watcher 物件的屬性:

屬性 類型 說明
watcher.annotations 進階 推出版本:1.5.0

預設值:無

用於為 Pod 加上註解的選用鍵/值對應。詳情請參閱「自訂註解」。

watcher.args.enableIssueScanning 進階 推出版本:1.10.0

預設值: true

啟用或停用自動顯示問題功能。如果設為 true,Watcher 會自動掃描控制層和 Kubernetes API 伺服器狀態,判斷是否有任何設定問題。

設為 false 即可停用自動顯示問題功能。詳情請參閱「自動顯示問題」。

watcher.args.enableLeaderElect 進階 推出版本:1.13.0

預設值: true

如果設為 true (預設值),watcher.args.enableLeaderElect 會選取單一監控器 Pod 來管理及回報轉送資訊。請務必將這個值限制為單一 Pod,以免在升級或復原期間發生停機。在這些事件期間,可以同時執行多個版本的監控程式。每個 Watcher 執行個體可能會有不同的路徑建立邏輯,這可能會導致停機。watcher.replicaCountMax。

watcher.args.issueScanInterval 進階 推出版本:1.10.0

預設值: 60

Watcher 掃描執行階段層,自動找出問題的頻率 (以秒為單位)。詳情請參閱「自動顯示問題」。

watcher.gsa 進階 推出版本:1.10.0

預設值:無

僅限 Helm:使用 Helm 圖表在 GKE 叢集上啟用 Workload Identity 時,要與對應 Kubernetes 服務帳戶建立關聯的 apigee-watcher Google IAM 服務帳戶 (GSA) 電子郵件地址。如果您已將 gcp.workloadIdentity.enabled 設為 true,請設定這個屬性。

GSA 電子郵件地址通常採用以下格式:

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

例如:

apigee-watcher@my-hybrid-project.iam.gserviceaccount.com

請參閱「在 GKE 上啟用 Workload Identity」或「在 AKS 和 EKS 上啟用 Workload Identity Federation」。

watcher.image.pullPolicy 進階 推出版本:1.4.0

預設值: IfNotPresent

決定 kubelet 提取 Pod Docker 映像檔的時間。可能的值包括:

  • IfNotPresent:如果已有新圖片,請勿提取。
  • Always:一律提取映像檔,無論映像檔是否已存在。

詳情請參閱「更新圖片」。

watcher.image.tag 進階 推出版本:1.4.0

預設值: 1.14.9

這項服務 Docker 映像檔的版本標籤。

watcher.image.url 進階 推出版本:1.4.0

預設值:無

這項服務的 Docker 映像檔位置。

使用 apigee-pull-push --list 查看這個元件目前的存放區網址。

watcher.podDisruptionBudget.minAvailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願中斷期間 (例如節點集區升級或節點排除期間),必須保持可用的監控程式 Pod 數量下限。這個欄位會設定這些 Pod 的 PodDisruptionBudget minAvailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。minAvailable 和 maxUnavailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項。如果兩個欄位都未設定,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

watcher:
  podDisruptionBudget:
    minAvailable: "50%"
watcher.podDisruptionBudget.maxUnavailable 進階

推出版本:1.14.8

預設值:無

圖表: apigee-org

在自願中斷期間 (例如節點集區升級或節點排除),無法使用的監控器 Pod 數量上限。這個欄位會設定這些 Pod 的 PodDisruptionBudget maxUnavailable 欄位。這個欄位接受整數形式的 Pod 數量 (1) 或百分比字串 ("50%")。maxUnavailable 和 minAvailable 互斥,只能設定其中一個。Apigee 運算子會拒絕同時設定這兩項屬性。如果您未設定任何欄位,Apigee 運算子仍會為這些 Pod 產生 PodDisruptionBudget,並預設使用 maxUnavailable: 1。

例如,在 overrides.yaml 中:

watcher:
  podDisruptionBudget:
    maxUnavailable: 1
watcher.replicaCountMax 基本 推出版本:1.3.0

預設值: 1

監控程式副本數量上限。請務必將這個值設為 1,以免發生衝突。

Apigee hybrid 每次安裝會使用一個監控程式 Pod。領導者選舉 會自動選取一個監控 Pod。其他監控器 Pod 副本會強制進入不穩定狀態。請參閱 watcher.args.enableLeaderElect。

watcher.replicaCountMin 基本 導入版本:1.3.0

預設值: 1

監控程式副本數量下限。

watcher.resources.limits.cpu 進階 推出版本:1.11.0

預設值: 1000m

Kubernetes 容器中資源的 CPU 限制,以毫微核心為單位。

watcher.resources.limits.memory 進階 推出版本:1.11.0

預設值: 2Gi

Kubernetes 容器中資源的記憶體限制,以 MiB 為單位。

watcher.serviceAccountPath 基本 推出版本:1.3.0

預設值:無

必要。

Google 服務帳戶金鑰檔案的路徑,具有 Apigee 執行階段代理程式角色。

watcher.serviceAccountRef 進階 導入版本:1.3.0

預設值:無

必須提供 serviceAccountPath 或 serviceAccountRef。

watcher.tolerations.effect 進階 推出版本:1.10.1

預設值:無

必須使用 Kubernetes 的 Taint 和容許條件功能。

effect 則指定容忍度與汙點相符時的效果。effect 的值可以是:

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

詳情請參閱「污點和容忍:概念」。

watcher.tolerations.key 進階 推出版本:1.10.1

預設值:無

必須具備這項權限,才能使用 Kubernetes 的污點和容許功能。

key 會識別可套用容許度的 Pod。

詳情請參閱「Taints 和容許度:概念」。

watcher.tolerations.operator 進階 推出版本:1.10.1

預設值: "Equal"

必須使用 Kubernetes 的 Taints 和容許條件功能。

operator 指定用於觸發 effect 的作業。operator 的值可以是:

  • Equal 符合 value 中設定的值。
  • Exists 會忽略 value 中設定的值。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

watcher.tolerations.tolerationSeconds 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

tolerationSeconds 定義 Pod 繫結至故障或無回應節點的時間長度 (以秒為單位)。

詳情請參閱「Taints and Tolerations: Concepts」(污點和容忍:概念)。

watcher.tolerations.value 進階 推出版本:1.10.1

預設值:無

由 Kubernetes 的 Taint 和容許條件功能使用。

value 是當 operator 設為 Equal 時,觸發 effect 的值。

詳情請參閱「Taints 和容許度:概念」。