指定設定覆寫
Apigee Hybrid 安裝程式會使用許多設定的預設值。不過,有幾項設定沒有預設值。您必須提供這些設定的值,詳情請見下文。
事前準備
建議您參考下列情境,判斷是否要為叢集設定這些情境。這些設定為選用項目。
- 如果您打算在多個區域安裝 Hybrid,請先閱讀「多區域部署」一文,再繼續操作。
- Apigee Hybrid 會為 Cassandra 使用者提供預設密碼。Apigee 建議變更預設使用者密碼。詳情請參閱「為 Cassandra 設定 TLS」。
- 如要設定 Cassandra 的儲存空間和堆積設定,請參閱「 設定儲存空間和堆積設定」。
- 如「第 1 部分:專案和機構設定 - 步驟 1:啟用 API」所述,在實際工作環境安裝情境中,請為 Cassandra 設定永久固態硬碟 (SSD) 儲存空間。Apigee Hybrid 不支援使用本機 SSD。詳情請參閱「為正式版部署作業新增 SSD 儲存空間」。
設定叢集
按照慣例,設定覆寫會寫入名為 overrides.yaml
的檔案,通常儲存在 $APIGEE_HELM_CHARTS_HOME
目錄中。
- 在
$APIGEE_HELM_CHARTS_HOME
目錄中建立名為overrides.yaml
的新檔案。overrides.yaml
提供專屬 Apigee Hybrid 安裝作業的設定。這個步驟中的覆寫檔案提供小型混合式執行階段安裝的基本設定,適合首次安裝。 - 在
overrides.yaml
中,新增必要屬性值,如下所示。以下詳細說明各項屬性。請確認
overrides.yaml
檔案具有下列結構和語法。選擇您在安裝中使用的服務帳戶驗證類型對應的分頁: 步驟 4:建立服務帳戶。
- Kubernetes Secret 中的服務帳戶金鑰:Kubernetes Secret
- 服務帳戶 JSON 金鑰檔案:JSON 檔案
- 保管箱中的服務帳戶金鑰:保管箱
- Workload Identity Federation for GKE:適用於 GKE 的 WIF
- Workload Identity Federation:其他平台上的 WIF
如要瞭解各種驗證選項,請參閱 Apigee Hybrid 中的服務帳戶驗證方法。
根據您在「步驟 4:建立服務帳戶」中的選擇,選取安裝、正式或非正式 (示範、評估或概念驗證安裝) 的分頁標籤,分別為「Production」或「Non-prod」。
如要在正式環境中安裝,請參閱「為實際工作環境設定 Cassandra」一文,瞭解 Cassandra 資料庫的儲存空間需求。
Kubernetes Secret
正式環境
範本
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretRefs: synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_SECRET # For example: "apigee-synchronizer-svc-account" runtime: RUNTIME_SERVICE_ACCOUNT_SECRET # For example: "apigee-runtime-svc-account" udca: UDCA_SERVICE_ACCOUNT_SECRET # For example: "apigee-udca-svc-account" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountRef: MART_SERVICE_ACCOUNT_SECRET # For example: "apigee-mart-svc-account" connectAgent: serviceAccountRef: MART_SERVICE_ACCOUNT_SECRET # Use the same secret for mart and connectAgent # For example: "apigee-mart-svc-account" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountRef: LOGGER_SERVICE_ACCOUNT_SECRET # For example: "apigee-logger-svc-account" metrics: serviceAccountRef: METRICS_SERVICE_ACCOUNT_SECRET # For example: "apigee-metrics-svc-account" udca: serviceAccountRef: UDCA_SERVICE_ACCOUNT_SECRET # For example: "apigee-udca-svc-account" watcher: serviceAccountRef: WATCHER_SERVICE_ACCOUNT_SECRET # For example: "apigee-watcher-svc-account" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountRef: MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_SECRET # For example: "apigee-mint-task-scheduler-svc-account" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
SECRET您在「步驟 5:設定服務帳戶驗證」中,為服務帳戶金鑰建立的 Kubernetes 密鑰名稱。 本指南建議的密鑰預設名稱如下:
正式環境
apigee-cassandra-svc-account
apigee-logger-svc-account
apigee-mart-svc-account
apigee-metrics-svc-account
apigee-mint-task-scheduler-svc-account
apigee-runtime-svc-account
apigee-synchronizer-svc-account
apigee-udca-svc-account
apigee-watcher-svc-account
非正式環境
apigee-non-prod-svc-account
請參閱:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountSecretRefs: synchronizer: "apigee-synchronizer-svc-account" runtime: "apigee-runtime-svc-account" udca: "apigee-udca-svc-account" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountRef: "apigee-mart-svc-account" connectAgent: serviceAccountRef: "apigee-mart-svc-account" logger: enabled: true serviceAccountRef: "apigee-logger-svc-account" metrics: serviceAccountRef: "apigee-metrics-svc-account" udca: serviceAccountRef: "apigee-udca-svc-account" watcher: serviceAccountRef: "apigee-watcher-svc-account" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountRef: apigee-mint-task-scheduler-svc-account # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
SECRET您在「步驟 5:設定服務帳戶驗證」中,為服務帳戶金鑰建立的 Kubernetes 密鑰名稱。 本指南建議的密鑰預設名稱如下:
正式環境
apigee-cassandra-svc-account
apigee-logger-svc-account
apigee-mart-svc-account
apigee-metrics-svc-account
apigee-mint-task-scheduler-svc-account
apigee-runtime-svc-account
apigee-synchronizer-svc-account
apigee-udca-svc-account
apigee-watcher-svc-account
非正式環境
apigee-non-prod-svc-account
請參閱:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
非正式環境
範本
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretRefs: synchronizer: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" runtime: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" udca: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" connectAgent: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # Use the same secret for mart and connectAgent # For example: "apigee-non-prod-svc-account" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" metrics: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" udca: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" watcher: serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountRef: NON_PROD_SERVICE_ACCOUNT_SECRET # For example: "apigee-non-prod-svc-account" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
SECRET您在「步驟 5:設定服務帳戶驗證」中,為服務帳戶金鑰建立的 Kubernetes 密鑰名稱。 本指南建議的密鑰預設名稱如下:
正式環境
apigee-cassandra-svc-account
apigee-logger-svc-account
apigee-mart-svc-account
apigee-metrics-svc-account
apigee-mint-task-scheduler-svc-account
apigee-runtime-svc-account
apigee-synchronizer-svc-account
apigee-udca-svc-account
apigee-watcher-svc-account
非正式環境
apigee-non-prod-svc-account
請參閱:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountSecretRefs: synchronizer: "apigee-non-prod-svc-account" runtime: "apigee-non-prod-svc-account" udca: "apigee-non-prod-svc-account" cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountRef: "apigee-non-prod-svc-account" connectAgent: serviceAccountRef: "apigee-non-prod-svc-account" logger: enabled: true serviceAccountRef: "apigee-non-prod-svc-account" metrics: serviceAccountRef: "apigee-non-prod-svc-account" udca: serviceAccountRef: "apigee-non-prod-svc-account" watcher: serviceAccountRef: "apigee-non-prod-svc-account" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountRef: apigee-non-prod-svc-account # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
SECRET您在「步驟 5:設定服務帳戶驗證」中,為服務帳戶金鑰建立的 Kubernetes 密鑰名稱。 本指南建議的密鑰預設名稱如下:
正式環境
apigee-cassandra-svc-account
apigee-logger-svc-account
apigee-mart-svc-account
apigee-metrics-svc-account
apigee-mint-task-scheduler-svc-account
apigee-runtime-svc-account
apigee-synchronizer-svc-account
apigee-udca-svc-account
apigee-watcher-svc-account
非正式環境
apigee-non-prod-svc-account
請參閱:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
JSON 檔案
正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the apigee-env chart directory. synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-synchronizer.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-runtime.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-udca.json" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: LOGGER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-F chart directory. # For example: "PROJECT_ID-apigee-logger.json" mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-mart.json" metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-watcher.json" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountPath: MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-mint-task-scheduler.json" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
FILEPATH對應圖表目錄中服務帳戶 JSON 檔案的路徑和檔案名稱。請提供名稱,並使用相對於圖表目錄的路徑。舉例來說: - 如果
my-project-apigee-synchronizer.json
檔案位於apigee-env/
圖表目錄中,您只需要提供檔案名稱,例如:synchronizer: "FILE_NAME.json"
- 如果檔案位於
apigee-env/service-accounts/
目錄中,請指定相對路徑:synchronizer: "service-accounts/FILE_NAME.json"
在非正式環境中,單一服務帳戶的名稱預設為
PROJECT_ID-non-prod.json
。在正式環境中,您使用
create-service-account
工具在「步驟 4:建立服務帳戶」中產生的服務帳戶金鑰檔案名稱。您可以在每個對應的圖表目錄中查看服務帳戶檔案。
服務帳戶的預設名稱和對應的圖表目錄如下:
正式環境
服務帳戶檔案名稱 圖表目錄 PROJECT_ID-apigee-cassandra.json
apigee-datastore/
PROJECT_ID-apigee-mart.json
apigee-org/
PROJECT_ID-apigee-metrics.json
apigee-telemetry/
PROJECT_ID-apigee-mint-task-scheduler.json
apigee-org/
PROJECT_ID-apigee-runtime.json
apigee-env/
PROJECT_ID-apigee-synchronizer.json
apigee-env/
PROJECT_ID-apigee-udca.json
apigee-org/
PROJECT_ID-apigee-watcher.json
apigee-org/
非正式環境
服務帳戶檔案名稱 圖表目錄 PROJECT_ID-non-prod.json
apigee-datastore/
apigee-org/
apigee-telemetry/
請參閱:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountPaths: synchronizer: "my-project-apigee-synchronizer.json" runtime: "my-project-apigee-runtime.json" udca: "my-project-apigee-udca.json" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true serviceAccountPath: "my-project-apigee-logger.json" mart: serviceAccountPath: "my-project-apigee-mart.json" connectAgent: serviceAccountPath: "my-project-apigee-mart.json" metrics: serviceAccountPath: "my-project-apigee-metrics.json" udca: serviceAccountPath: "my-project-apigee-udca.json" watcher: serviceAccountPath: "my-project-apigee-watcher.json" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: my-project-apigee-mint-task-scheduler.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
FILEPATH對應圖表目錄中服務帳戶 JSON 檔案的路徑和檔案名稱。請提供名稱,並使用相對於圖表目錄的路徑。舉例來說: - 如果
my-project-apigee-synchronizer.json
檔案位於apigee-env/
圖表目錄中,您只需要提供檔案名稱,例如:synchronizer: "FILE_NAME.json"
- 如果檔案位於
apigee-env/service-accounts/
目錄中,請指定相對路徑:synchronizer: "service-accounts/FILE_NAME.json"
在非正式環境中,單一服務帳戶的名稱預設為
PROJECT_ID-non-prod.json
。在正式環境中,您使用
create-service-account
工具在「步驟 4:建立服務帳戶」中產生的服務帳戶金鑰檔案名稱。您可以在每個對應的圖表目錄中查看服務帳戶檔案。
服務帳戶的預設名稱和對應的圖表目錄如下:
正式環境
服務帳戶檔案名稱 圖表目錄 PROJECT_ID-apigee-cassandra.json
apigee-datastore/
PROJECT_ID-apigee-mart.json
apigee-org/
PROJECT_ID-apigee-metrics.json
apigee-telemetry/
PROJECT_ID-apigee-mint-task-scheduler.json
apigee-org/
PROJECT_ID-apigee-runtime.json
apigee-env/
PROJECT_ID-apigee-synchronizer.json
apigee-env/
PROJECT_ID-apigee-udca.json
apigee-org/
PROJECT_ID-apigee-watcher.json
apigee-org/
非正式環境
服務帳戶檔案名稱 圖表目錄 PROJECT_ID-non-prod.json
apigee-datastore/
apigee-org/
apigee-telemetry/
請參閱:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
非正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the apigee-env chart directory. synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-F chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
FILEPATH對應圖表目錄中服務帳戶 JSON 檔案的路徑和檔案名稱。請提供名稱,並使用相對於圖表目錄的路徑。舉例來說: - 如果
my-project-apigee-synchronizer.json
檔案位於apigee-env/
圖表目錄中,您只需要提供檔案名稱,例如:synchronizer: "FILE_NAME.json"
- 如果檔案位於
apigee-env/service-accounts/
目錄中,請指定相對路徑:synchronizer: "service-accounts/FILE_NAME.json"
在非正式環境中,單一服務帳戶的名稱預設為
PROJECT_ID-non-prod.json
。在正式環境中,您使用
create-service-account
工具在「步驟 4:建立服務帳戶」中產生的服務帳戶金鑰檔案名稱。您可以在每個對應的圖表目錄中查看服務帳戶檔案。
服務帳戶的預設名稱和對應的圖表目錄如下:
正式環境
服務帳戶檔案名稱 圖表目錄 PROJECT_ID-apigee-cassandra.json
apigee-datastore/
PROJECT_ID-apigee-mart.json
apigee-org/
PROJECT_ID-apigee-metrics.json
apigee-telemetry/
PROJECT_ID-apigee-mint-task-scheduler.json
apigee-org/
PROJECT_ID-apigee-runtime.json
apigee-env/
PROJECT_ID-apigee-synchronizer.json
apigee-env/
PROJECT_ID-apigee-udca.json
apigee-org/
PROJECT_ID-apigee-watcher.json
apigee-org/
非正式環境
服務帳戶檔案名稱 圖表目錄 PROJECT_ID-non-prod.json
apigee-datastore/
apigee-org/
apigee-telemetry/
請參閱:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountPaths: synchronizer: "hybrid-example-apigee-non-prod.json" runtime: "hybrid-example-apigee-non-prod.json" udca: "hybrid-example-apigee-non-prod.json" cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountPath: "my-project-apigee-non-prod.json" connectAgent: serviceAccountPath: "my-project-apigee-non-prod.json" logger: enabled: true serviceAccountPath: "my-project-apigee-non-prod.json" metrics: serviceAccountPath: "my-project-apigee-non-prod.json" udca: serviceAccountPath: "my-project-apigee-non-prod.json" watcher: serviceAccountPath: "my-project-apigee-non-prod.json" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: my-project-apigee-non-prod.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
FILEPATH對應圖表目錄中服務帳戶 JSON 檔案的路徑和檔案名稱。請提供名稱,並使用相對於圖表目錄的路徑。舉例來說: - 如果
my-project-apigee-synchronizer.json
檔案位於apigee-env/
圖表目錄中,您只需要提供檔案名稱,例如:synchronizer: "FILE_NAME.json"
- 如果檔案位於
apigee-env/service-accounts/
目錄中,請指定相對路徑:synchronizer: "service-accounts/FILE_NAME.json"
在非正式環境中,單一服務帳戶的名稱預設為
PROJECT_ID-non-prod.json
。在正式環境中,您使用
create-service-account
工具在「步驟 4:建立服務帳戶」中產生的服務帳戶金鑰檔案名稱。您可以在每個對應的圖表目錄中查看服務帳戶檔案。
服務帳戶的預設名稱和對應的圖表目錄如下:
正式環境
服務帳戶檔案名稱 圖表目錄 PROJECT_ID-apigee-cassandra.json
apigee-datastore/
PROJECT_ID-apigee-mart.json
apigee-org/
PROJECT_ID-apigee-metrics.json
apigee-telemetry/
PROJECT_ID-apigee-mint-task-scheduler.json
apigee-org/
PROJECT_ID-apigee-runtime.json
apigee-env/
PROJECT_ID-apigee-synchronizer.json
apigee-env/
PROJECT_ID-apigee-udca.json
apigee-org/
PROJECT_ID-apigee-watcher.json
apigee-org/
非正式環境
服務帳戶檔案名稱 圖表目錄 PROJECT_ID-non-prod.json
apigee-datastore/
apigee-org/
apigee-telemetry/
請參閱:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
保管箱
正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME serviceAccountSecretProviderClass: apigee-orgsakeys-spc # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretProviderClass: apigee-envsakeys-ENVIRONMENT_NAME-spc cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project serviceAccountSecretProviderClass: apigee-orgsakeys-spc enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountSecretProviderClass: apigee-envsakeys-prod-env-spc cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
非正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME serviceAccountSecretProviderClass: apigee-orgsakeys-spc # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretProviderClass: apigee-envsakeys-ENVIRONMENT_NAME-spc cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 k8sCluster: name: hybrid-env region: us-central1 org: my-project serviceAccountSecretProviderClass: apigee-orgsakeys-spc enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountSecretProviderClass: apigee-envsakeys-test-env-spc cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # for message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
GKE 的 WIF
正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME gsa: synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL # For example: "apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com" runtime: RUNTIME_SERVICE_ACCOUNT_EMAIL # For example: "apigee-runtime@PROJECT_ID.iam.gserviceaccount.com" udca: UDCA_SERVICE_ACCOUNT_EMAIL # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. backup: enabled: true # Required to create the Cassandra Kubernetes service accounts # for Workload Identity Federation for GKE # See Cassandra backup overview. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: gsa: MART_SERVICE_ACCOUNT_EMAIL # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" connectAgent: gsa: MART_SERVICE_ACCOUNT_EMAIL # Use the same service account email for mart and connectAgent # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. gsa: LOGGER_SERVICE_ACCOUNT_EMAIL # For example: "apigee-logger@PROJECT_ID.iam.gserviceaccount.com" metrics: gsa: METRICS_SERVICE_ACCOUNT_EMAIL # For example: "apigee-metrics@PROJECT_ID.iam.gserviceaccount.com" udca: gsa: UDCA_SERVICE_ACCOUNT_EMAIL # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" watcher: gsa: WATCHER_SERVICE_ACCOUNT_EMAIL # For example: "apigee-watcher@PROJECT_ID.iam.gserviceaccount.com" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid gsa: MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_EMAIL # For example: "apigee-mint-task-scheduler@PROJECT_ID.iam.gserviceaccount.com" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
EMAIL如果您使用 Workload Identity Federation for GKE,則必須提供 Google 服務帳戶 (GSA) 的服務帳戶電子郵件地址。這些是您在「步驟 4:建立服務帳戶」中建立的服務帳戶。您可以使用下列指令找出服務帳戶的電子郵件地址: gcloud iam service-accounts list \ --project ${PROJECT_ID} \ --filter "apigee"
請參閱:
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: true k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env gsa: synchronizer: "apigee-synchronizer@my-project.iam.gserviceaccount.com" runtime: "apigee-runtime@my-project.iam.gserviceaccount.com" udca: "apigee-udca@my-project.iam.gserviceaccount.com" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: gsa: "apigee-mart@my-project.iam.gserviceaccount.com" connectAgent: gsa: "apigee-mart@my-project.iam.gserviceaccount.com" logger: enabled: true gsa: "apigee-logger@my-project.iam.gserviceaccount.com" metrics: gsa: "apigee-metrics@my-project.iam.gserviceaccount.com" udca: gsa: "apigee-udca@my-project.iam.gserviceaccount.com" watcher: gsa: "apigee-watcher@my-project.iam.gserviceaccount.com" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: my-project-apigee-mint-task-scheduler.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
SERVICE_ACCOUNT_
EMAIL如果您使用 Workload Identity Federation for GKE,則必須提供 Google 服務帳戶 (GSA) 的服務帳戶電子郵件地址。這些是您在「步驟 4:建立服務帳戶」中建立的服務帳戶。您可以使用下列指令找出服務帳戶的電子郵件地址: gcloud iam service-accounts list \ --project ${PROJECT_ID} \ --filter "apigee"
請參閱:
非正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true gsa: "NON_PROD_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。NON_PROD_
SERVICE_ACCOUNT_
EMAIL非正式版 Google 服務帳戶 (GSA) 的服務帳戶電子郵件地址。 這是您在「步驟 4:建立服務帳戶」中建立的 apigee-non-prod
服務帳戶。如果您在非正式版安裝中,使用 Workload Identity Federation for GKE,請為
gcp.workloadIdentity.gsa
屬性指定服務帳戶電子郵件地址。您不需要為任何個別元件新增gsa
屬性。您可以使用下列指令,找出服務帳戶的電子郵件地址:
gcloud iam service-accounts list \ --project ${PROJECT_ID} \ --filter "apigee"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: true gsa: "apigee-non-prod@my-project.iam.gserviceaccount.com" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。NON_PROD_
SERVICE_ACCOUNT_
EMAIL非正式版 Google 服務帳戶 (GSA) 的服務帳戶電子郵件地址。 這是您在「步驟 4:建立服務帳戶」中建立的 apigee-non-prod
服務帳戶。如果您在非正式版安裝中,使用 Workload Identity Federation for GKE,請為
gcp.workloadIdentity.gsa
屬性指定服務帳戶電子郵件地址。您不需要為任何個別元件新增gsa
屬性。您可以使用下列指令,找出服務帳戶的電子郵件地址:
gcloud iam service-accounts list \ --project ${PROJECT_ID} \ --filter "apigee"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
在其他平台使用 WIF
WIF:秘密
正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretRefs: synchronizer: SYNCHRONIZER_WORKLOAD_IDENTITY_SECRET # For example: "synchronizer-workload-identity-secret" runtime: RUNTIME_WORKLOAD_IDENTITY_SECRET # For example: "runtime-workload-identity-secret" udca: UDCA_WORKLOAD_IDENTITY_SECRET # For example: "udca-workload-identity-secret" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: MART_WORKLOAD_IDENTITY_SECRET # For example: "mart-workload-identity-secret" connectAgent: serviceAccountPath: MART_WORKLOAD_IDENTITY_SECRET # Use the same secret for mart and connectAgent # For example: "mart-workload-identity-secret" logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, create a # Kubernetes secret for apigee-logger by following the steps # under Kubernetes secrets in # Step 5: Set up service account authentication. # Provide a reference to the secret with the # logger.serviceAccountRef property. metrics: serviceAccountPath: METRICS_WORKLOAD_IDENTITY_SECRET # For example: "metrics-workload-identity-secret" udca: serviceAccountPath: UDCA_WORKLOAD_IDENTITY_SECRET # For example: "udca-workload-identity-secret" watcher: serviceAccountPath: WATCHER_WORKLOAD_IDENTITY_SECRET # For example: "watcher-workload-identity-secret" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountRef: MINT_TASK_SCHEDULER_WORKLOAD_IDENTITY_SECRET # For example: "apigee-mint-task-scheduler-workload-identity-secret" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
WORKLOAD_IDENTITY_
SECRET您在「步驟 5:設定服務帳戶驗證」中設定的 Kubernetes 密鑰名稱,用於服務帳戶憑證設定。 本指南建議的密鑰預設名稱如下:
正式環境
cassandra-workload-identity-secret
logger-workload-identity-secret
mart-workload-identity-secret
metrics-workload-identity-secret
mint-task-scheduler-workload-identity-secret
runtime-workload-identity-secret
synchronizer-workload-identity-secret
udca-workload-identity-secret
watcher-workload-identity-secret
非正式環境
non-prod-workload-identity-secret
請參閱:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountSecretRefs: synchronizer: "synchronizer-workload-identity-secret" runtime: "runtime-workload-identity-secret" udca: "udca-workload-identity-secret" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountRef: "mart-workload-identity-secret" connectAgent: serviceAccountRef: "mart-workload-identity-secret" logger: enabled: false metrics: serviceAccountRef: "metrics-workload-identity-secret" udca: serviceAccountRef: "udca-workload-identity-secret" watcher: serviceAccountRef: "watcher-workload-identity-secret" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountRef: "apigee-mint-task-scheduler-workload-identity-secret" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
WORKLOAD_IDENTITY_
SECRET您在「步驟 5:設定服務帳戶驗證」中設定的 Kubernetes 密鑰名稱,用於服務帳戶憑證設定。 本指南建議的密鑰預設名稱如下:
正式環境
cassandra-workload-identity-secret
logger-workload-identity-secret
mart-workload-identity-secret
metrics-workload-identity-secret
mint-task-scheduler-workload-identity-secret
runtime-workload-identity-secret
synchronizer-workload-identity-secret
udca-workload-identity-secret
watcher-workload-identity-secret
非正式環境
non-prod-workload-identity-secret
請參閱:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
非正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretRefs: synchronizer: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" runtime: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" udca: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" connectAgent: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # Use the same secret for mart and connectAgent # For example: "non-prod-workload-identity-secret" logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, create a # Kubernetes secret for apigee-logger by following the steps # under Kubernetes secrets in # Step 5: Set up service account authentication. # Provide a reference to the secret with the # logger.serviceAccountRef property. metrics: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" udca: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" watcher: serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountRef: NON_PROD_WORKLOAD_IDENTITY_SECRET # For example: "non-prod-workload-identity-secret" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
WORKLOAD_IDENTITY_
SECRET您在「步驟 5:設定服務帳戶驗證」中設定的 Kubernetes 密鑰名稱,用於服務帳戶憑證設定。 本指南建議的密鑰預設名稱如下:
正式環境
cassandra-workload-identity-secret
logger-workload-identity-secret
mart-workload-identity-secret
metrics-workload-identity-secret
mint-task-scheduler-workload-identity-secret
runtime-workload-identity-secret
synchronizer-workload-identity-secret
udca-workload-identity-secret
watcher-workload-identity-secret
非正式環境
non-prod-workload-identity-secret
請參閱:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountSecretRefs: synchronizer: "non-prod-workload-identity-secret" runtime: "non-prod-workload-identity-secret" udca: "non-prod-workload-identity-secret" cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountRef: "non-prod-workload-identity-secret" connectAgent: serviceAccountRef: "non-prod-workload-identity-secret" logger: enabled: false metrics: serviceAccountRef: "non-prod-workload-identity-secret" udca: serviceAccountRef: "non-prod-workload-identity-secret" watcher: serviceAccountRef: "non-prod-workload-identity-secret" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountRef: "non-prod-workload-identity-secret" # for message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
WORKLOAD_IDENTITY_
SECRET您在「步驟 5:設定服務帳戶驗證」中設定的 Kubernetes 密鑰名稱,用於服務帳戶憑證設定。 本指南建議的密鑰預設名稱如下:
正式環境
cassandra-workload-identity-secret
logger-workload-identity-secret
mart-workload-identity-secret
metrics-workload-identity-secret
mint-task-scheduler-workload-identity-secret
runtime-workload-identity-secret
synchronizer-workload-identity-secret
udca-workload-identity-secret
watcher-workload-identity-secret
非正式環境
non-prod-workload-identity-secret
請參閱:
-
envs[].serviceAccountSecretRefs.synchronizer
。 -
envs[].serviceAccountSecretRefs.runtime
。 -
envs[].serviceAccountSecretRefs.udca
。 -
logger.serviceAccountRef
。 -
connectAgent.serviceAccountRef
。 -
mart.serviceAccountRef
。 -
metrics.serviceAccountRef
。 -
mintTaskScheduler.serviceAccountRef
。 -
udca.serviceAccountRef
。 -
watcher.serviceAccountRef
。
WIF:檔案
正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the apigee-env chart directory. synchronizer: SYNCHRONIZER_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-synchronizer-credential-configuration.json" runtime: RUNTIME_SERVICE_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-runtime-credential-configuration.json" udca: UDCA_SERVICE_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-udca-credential-configuration.json" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE installations. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift # installations. See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: MART_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "apigee-mart-credential-configuration.json" connectAgent: serviceAccountPath: MART_CREDENTIAL_CONFIGURATION_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the apigee-org chart directory. # For example: "apigee-mart-credential-configuration.json" logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, provide # the path to the apigee-logger service account key file with # the logger.serviceAccountPath property. metrics: serviceAccountPath: METRICS_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-metrics-credential-configuration.json" udca: serviceAccountPath: UDCA_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-udca-credential-configuration.json" watcher: serviceAccountPath: WATCHER_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-watcher-credential-configuration.json" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountPath: MINT_TASK_SCHEDULER_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "apigee-mint-task-scheduler-credential-configuration.json" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
CREDENTIAL_
CONFIGURATION_
FILEPATH您在「步驟 5:設定服務帳戶驗證」中建立的憑證設定檔路徑和檔案名稱。 請提供名稱,並使用相對於圖表目錄的路徑。例如:
- 如果
apigee-synchronizer-credential-configuration.json
檔案位於apigee-env/
圖表目錄中,您只需要提供檔案名稱,例如:synchronizer: "FILE_NAME.json"
- 如果檔案位於
apigee-env/service-accounts/
目錄中,請指定相對路徑:synchronizer: "service-accounts/FILE_NAME.json"
服務帳戶的預設名稱和對應的圖表目錄如下:
正式環境
服務帳戶檔案名稱 圖表目錄 apigee-cassandra-credential-configuration.json
apigee-datastore/
apigee-logger-credential-configuration.json
apigee-telemetry/
apigee-mart-credential-configuration.json
apigee-org/
apigee-metrics-credential-configuration.json
apigee-telemetry/
apigee-mint-task-scheduler-credential-configuration.json
apigee-org/
apigee-runtime-credential-configuration.json
apigee-env/
apigee-synchronizer-credential-configuration.json
apigee-env/
apigee-udca-credential-configuration.json
apigee-org/
apigee-watcher-credential-configuration.json
apigee-org/
非正式環境
服務帳戶檔案名稱 圖表目錄 apigee-non-prod-credential-configuration.json
apigee-datastore/
apigee-org/
apigee-telemetry/
請參閱:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountPaths: synchronizer: "apigee-synchronizer-credential-configuration.json" runtime: "apigee-runtime-credential-configuration.json" udca: "apigee-udca-credential-configuration.json" cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountPath: "apigee-mart-credential-configuration.json" connectAgent: serviceAccountPath: "apigee-mart-credential-configuration.json" logger: enabled: false metrics: serviceAccountPath: "apigee-metrics-credential-configuration.json" udca: serviceAccountPath: "apigee-udca-credential-configuration.json" watcher: serviceAccountPath: "apigee-watcher-credential-configuration.json" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: apigee-mint-task-scheduler-credential-configuration.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
CREDENTIAL_
CONFIGURATION_
FILEPATH您在「步驟 5:設定服務帳戶驗證」中建立的憑證設定檔路徑和檔案名稱。 請提供名稱,並使用相對於圖表目錄的路徑。例如:
- 如果
apigee-synchronizer-credential-configuration.json
檔案位於apigee-env/
圖表目錄中,您只需要提供檔案名稱,例如:synchronizer: "FILE_NAME.json"
- 如果檔案位於
apigee-env/service-accounts/
目錄中,請指定相對路徑:synchronizer: "service-accounts/FILE_NAME.json"
服務帳戶的預設名稱和對應的圖表目錄如下:
正式環境
服務帳戶檔案名稱 圖表目錄 apigee-cassandra-credential-configuration.json
apigee-datastore/
apigee-logger-credential-configuration.json
apigee-telemetry/
apigee-mart-credential-configuration.json
apigee-org/
apigee-metrics-credential-configuration.json
apigee-telemetry/
apigee-mint-task-scheduler-credential-configuration.json
apigee-org/
apigee-runtime-credential-configuration.json
apigee-env/
apigee-synchronizer-credential-configuration.json
apigee-env/
apigee-udca-credential-configuration.json
apigee-org/
apigee-watcher-credential-configuration.json
apigee-org/
非正式環境
服務帳戶檔案名稱 圖表目錄 apigee-non-prod-credential-configuration.json
apigee-datastore/
apigee-org/
apigee-telemetry/
請參閱:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
非正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the apigee-env chart directory. synchronizer: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-non-prod-credential-configuration.json" runtime: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-non-prod-credential-configuration.json" udca: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # For example: "apigee-non-prod-credential-configuration.json" cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "apigee-non-prod-credential-configuration.json" connectAgent: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the apigee-org chart directory. # For example: "apigee-non-prod-credential-configuration.json" logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, provide # the path to the apigee-non-prod service account key file with # the logger.serviceAccountPath property. metrics: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-non-prod-credential-configuration.json" udca: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-non-prod-credential-configuration.json" watcher: serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-telemetry chart directory. # For example: "apigee-non-prod-credential-configuration.json" # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. mintTaskScheduler: # Required for Monetization for Apigee hybrid serviceAccountPath: NON_PROD_CREDENTIAL_CONFIGURATION_FILEPATH # Provide the path relative to the apigee-org chart directory. # For example: "apigee-non-prod-credential-configuration.json" # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
CREDENTIAL_
CONFIGURATION_
FILEPATH您在「步驟 5:設定服務帳戶驗證」中建立的憑證設定檔路徑和檔案名稱。 請提供名稱,並使用相對於圖表目錄的路徑。例如:
- 如果
apigee-synchronizer-credential-configuration.json
檔案位於apigee-env/
圖表目錄中,您只需要提供檔案名稱,例如:synchronizer: "FILE_NAME.json"
- 如果檔案位於
apigee-env/service-accounts/
目錄中,請指定相對路徑:synchronizer: "service-accounts/FILE_NAME.json"
服務帳戶的預設名稱和對應的圖表目錄如下:
正式環境
服務帳戶檔案名稱 圖表目錄 apigee-cassandra-credential-configuration.json
apigee-datastore/
apigee-logger-credential-configuration.json
apigee-telemetry/
apigee-mart-credential-configuration.json
apigee-org/
apigee-metrics-credential-configuration.json
apigee-telemetry/
apigee-mint-task-scheduler-credential-configuration.json
apigee-org/
apigee-runtime-credential-configuration.json
apigee-env/
apigee-synchronizer-credential-configuration.json
apigee-env/
apigee-udca-credential-configuration.json
apigee-org/
apigee-watcher-credential-configuration.json
apigee-org/
非正式環境
服務帳戶檔案名稱 圖表目錄 apigee-non-prod-credential-configuration.json
apigee-datastore/
apigee-org/
apigee-telemetry/
請參閱:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountPaths: synchronizer: "apigee-non-prod-credential-configuration.json" runtime: "apigee-non-prod-credential-configuration.json<" udca: "apigee-non-prod-credential-configuration.json" cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key mart: serviceAccountPath: "apigee-non-prod-credential-configuration.json" connectAgent: serviceAccountPath: "apigee-non-prod-credential-configuration.json" logger: enabled: false metrics: serviceAccountPath: "apigee-non-prod-credential-configuration.json" udca: serviceAccountPath: "apigee-non-prod-credential-configuration.json" watcher: serviceAccountPath: "apigee-non-prod-credential-configuration.json" # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" mintTaskScheduler: serviceAccountPath: apigee-non-prod-credential-configuration.json" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
<component>_
CREDENTIAL_
CONFIGURATION_
FILEPATH您在「步驟 5:設定服務帳戶驗證」中建立的憑證設定檔路徑和檔案名稱。 請提供名稱,並使用相對於圖表目錄的路徑。例如:
- 如果
apigee-synchronizer-credential-configuration.json
檔案位於apigee-env/
圖表目錄中,您只需要提供檔案名稱,例如:synchronizer: "FILE_NAME.json"
- 如果檔案位於
apigee-env/service-accounts/
目錄中,請指定相對路徑:synchronizer: "service-accounts/FILE_NAME.json"
服務帳戶的預設名稱和對應的圖表目錄如下:
正式環境
服務帳戶檔案名稱 圖表目錄 apigee-cassandra-credential-configuration.json
apigee-datastore/
apigee-logger-credential-configuration.json
apigee-telemetry/
apigee-mart-credential-configuration.json
apigee-org/
apigee-metrics-credential-configuration.json
apigee-telemetry/
apigee-mint-task-scheduler-credential-configuration.json
apigee-org/
apigee-runtime-credential-configuration.json
apigee-env/
apigee-synchronizer-credential-configuration.json
apigee-env/
apigee-udca-credential-configuration.json
apigee-org/
apigee-watcher-credential-configuration.json
apigee-org/
非正式環境
服務帳戶檔案名稱 圖表目錄 apigee-non-prod-credential-configuration.json
apigee-datastore/
apigee-org/
apigee-telemetry/
請參閱:
-
envs[].serviceAccountPaths.synchronizer
。 -
envs[].serviceAccountPaths.runtime
。 -
envs[].serviceAccountPaths.udca
。 -
logger.serviceAccountPath
。 -
connectAgent.serviceAccountPath
。 -
mart.serviceAccountPath
。 -
metrics.serviceAccountPath
。 -
mintTaskScheduler.serviceAccountPath
。 -
udca.serviceAccountPath
。 -
watcher.serviceAccountPath
。
WIF:保管箱
正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME serviceAccountSecretProviderClass: apigee-orgsakeys-spc # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretProviderClass: apigee-envsakeys-ENVIRONMENT_NAME-spc cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount:
3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, add # a "logger" : "value" entry in the orgsakeys vault secret # using the contents of the apigee-logger key file for the # value. See Step 5: Set up service account authentication. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi 下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project serviceAccountSecretProviderClass: apigee-orgsakeys-spc enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: prod-env serviceAccountSecretProviderClass: apigee-envsakeys-prod-env-spc cassandra: hostNetwork: false replicaCount: 3 storage: storageSize: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: false # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # For message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
非正式環境
範本
red, bold italics 中的值是您必須提供的屬性值。您可以在這個頁面編輯這些值。詳情請參閱下表。
instanceID: UNIQUE_INSTANCE_IDENTIFIER namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: false # Must be set to false to use # Workload Identity Federation on other platforms. federatedWorkloadIdentity: enabled: true audience: "AUDIENCE" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Closest Google Cloud region to your cluster. org: ORG_NAME serviceAccountSecretProviderClass: apigee-orgsakeys-spc # Required for Enhanced per-environment proxy limits: enhanceProxyLimits: true # Required if using data residency with hybrid: contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com envs: - name: ENVIRONMENT_NAME serviceAccountSecretProviderClass: apigee-envsakeys-ENVIRONMENT_NAME-spc cassandra: hostNetwork: false # Set to false for single region installations and for multi-region # installations with connectivity between pods in different clusters, # like GKE. # Set to true for multi-region installations with no communication # between pods in different clusters, for example Google Distributed # Cloud on VMware or bare metal, GKE on AWS, AKS, EKS, and OpenShift. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE logger: enabled: false # apigee-logger does not support Workload Identity Federation. # See Known issue #341099433. # If you want to enable the apigee-logger component, add # a "logger" : "value" entry in the orgsakeys vault secret # using the contents of the apigee-non-prod key file for the # value. See Step 5: Set up service account authentication. # Required if using Monetization for Apigee hybrid (v1.15.1 and later) runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # Must be 1.15.1 or higher. # If using message payloads larger than 10MB. # See configure large message payload support: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
範例
instanceID: "my_hybrid_example" namespace: "apigee" gcp: projectID: my-project region: us-central1 workloadIdentity: enabled: false federatedWorkloadIdentity: enabled: true audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider" credentialSourceFile: "/var/run/service-account/token" k8sCluster: name: hybrid-env region: us-central1 org: my-project serviceAccountSecretProviderClass: apigee-orgsakeys-spc enhanceProxyLimits: true contractProvider: https://us-apigee.googleapis.com envs: - name: test serviceAccountSecretProviderClass: apigee-envsakeys-test-env-spc cassandra: hostNetwork: false replicaCount: 1 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: false # Monetization for Apigee hybrid runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.15.1" # for message payloads larger than 10MB: runtime: cwcAppend: bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs resources: requests: memory: 4Gi limits: memory: 6Gi
下表說明您必須在覆寫檔案中提供的各個屬性值。詳情請參閱「設定屬性參考資料」。
變數 說明 UNIQUE_INSTANCE_
IDENTIFIER這個執行個體的專屬字串。可以混合使用英文字母和數字,最多 63 個字元。
您可以在同一個叢集中建立多個機構,但同一個 Kubernetes 叢集中所有機構的
instanceID
必須相同。請參閱
instanceID
。APIGEE_NAMESPACE Apigee Hybrid 元件的 Kubernetes 命名空間。
預設值為
apigee
。請參閱
namespace
。PROJECT_ID 識別 apigee-logger
和apigee-metrics
推送資料的 Google Cloud 專案。這是指派給環境變數PROJECT_ID
的值。請參閱
gcp.projectID
。ANALYTICS_REGION 在 GKE 中,您必須將這個值設為叢集執行的相同區域。在所有其他平台中,請選取最接近叢集的數據分析區域,該區域必須支援 Analytics (請參閱「第 1 部分,步驟 2:建立機構」中的表格)。 這是您先前指派給環境變數
ANALYTICS_REGION
的值。請參閱
gcp.region
。AUDIENCE Workload Identity 提供者的允許對象。如要找出這個值,請在任一憑證設定檔中搜尋「 audience:
」一詞。每個憑證設定檔中的目標對象值都相同。舉例來說,在下列範例
apigee-udca-credential-configuration.json
檔案中:{ "universe_domain": "googleapis.com", "type": "external_account:," "audience": "AUDIENCE", "subject_token_type": "TOKEN_TYPE", "token_url": "TOKEN_URL", "service "impersonation_url": "IMPERSONATION_URL", "credential_source": { "file": "FILE_PATH", "format": { "type": "text" } } }
目標對象值如下所示 (不含換行符):
"//iam.googleapis.com/projects/123456789012/ locations/global/workloadIdentityPools/ POOL_ID/providers/WORKLOAD_PROVIDER_ID"
CLUSTER_NAME Kubernetes 叢集名稱。這是指派給環境變數 CLUSTER_NAME
的值。請參閱
k8sCluster.name
。CLUSTER_LOCATION 叢集執行的區域。這是您在「 步驟 1:建立叢集」中建立叢集的地區。 這是您先前指派給環境變數
CLUSTER_LOCATION
的值。請參閱
k8sCluster.location
。ORG_NAME Apigee Hybrid 機構的 ID。這是指派給環境變數 ORG_NAME
的值。請參閱
org
。CONTROL_PLANE_
LOCATION如果您在 Apigee Hybrid 安裝作業中使用資料落地功能,就必須這樣做。這個位置會儲存客戶核心內容,例如 Proxy 套件。如需清單,請參閱「可用的 Apigee API 控制平面區域」。這是您在「步驟 2:建立機構」中指派給 CONTROL_PLANE_LOCATION
環境變數的值。請參閱
contractProvider
。ENVIRONMENT_NAME 使用您在 UI 中建立環境時使用的名稱,如「 專案和機構設定 - 步驟 3:建立環境群組」一文所述。 請參閱
envs[].name
。ENVIRONMENT_GROUP_
NAME環境所屬的環境群組名稱。 這是您在「 專案和機構設定 - 步驟 3:建立環境群組」中建立的群組。這是指派給環境變數 ENV_GROUP
的值。請參閱
virtualhosts[].name
。INGRESS_NAME 部署作業的 Apigee 進入閘道名稱。名稱必須符合下列規定: - 長度上限為 17 個半形字元
- 只能包含小寫英數字元、「-」或「.」
- 開頭為英數字元
- 結尾為英數字元
請參閱:
PATH_TO_CERT_FILE
PATH_TO_KEY_FILE輸入您先前在「 步驟 6:建立傳輸層安全標準 (TLS) 憑證」中產生的自行簽署 TLS 金鑰和憑證檔案的路徑和檔案名稱。這些檔案必須位於 APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs
目錄中。例如:sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key
請參閱:
SVC_ANNOTATIONS_
KEY:SVC_ANNOTATIONS_
VALUE(選用) 這是鍵/值組合,可為預設 Ingress 服務提供註解。雲端平台會使用註解來協助設定混合式安裝作業,例如將負載平衡器類型設為內部或外部。 註解會因平台而異。如需必要和建議的註解,請參閱平台說明文件。
如果您未使用這個部分,請註解掉或刪除。
摘要
設定檔會告訴 Kubernetes 如何將混合式元件部署至叢集。接著,您將啟用同步處理工具存取權,讓 Apigee 執行階段和管理平面能夠通訊。
下一步
1 2 3 4 5 6 7 (NEXT) Step 8: Enable Control Plane access 9 10 11