構成のオーバーライドを指定する
Apigee ハイブリッド インストーラでは、多くの設定でデフォルトが使用されます。ただし、デフォルトがない設定もあります。その場合、次の値を指定する必要があります。
始める前に
次のシナリオを確認して、クラスタを構成するかどうかを判断することをおすすめします。これらの構成は省略可能です。
- 複数のリージョンにハイブリッドをインストールする予定の場合は、先に進む前にマルチリージョン デプロイをご覧ください。
- Apigee Hybrid では、Cassandra ユーザーにデフォルト パスワードが用意されています。Apigee では、デフォルトのユーザー パスワードを変更することをおすすめしています。詳細については、Cassandra 用の TLS の構成をご覧ください。
- Cassandra のストレージとヒープの設定を構成する場合は、ストレージとヒープの設定を構成するをご覧ください。
- パート 1: プロジェクトと組織の設定 - ステップ 1: API を有効にするで説明されているように、本番環境へのインストール シナリオでは、Cassandra 用に永続ソリッド ステート ディスク(SSD)ストレージを構成します。Apigee ハイブリッドでは、ローカル SSD の使用をサポートしていません。詳細については、本番環境でのデプロイ用の SSD ストレージを追加するをご覧ください。
クラスタを構成する
慣例により、構成のオーバーライドは overrides.yaml
という名前のファイルに書き込まれ、通常は $APIGEE_HELM_CHARTS_HOME
ディレクトリに保存されます。
$APIGEE_HELM_CHARTS_HOME
ディレクトリにoverrides.yaml
という名前の新しいファイルを作成します。overrides.yaml
は、独自の Apigee ハイブリッド インストール用の構成を提供します。このステップのオーバーライド ファイルは、小規模なフットプリントのハイブリッド ランタイム インストールの基本的な構成を提供します。これは、最初のインストールに適しています。- 次のように、必須プロパティの値を
overrides.yaml
に追加します。以下では、各プロパティについて詳しく説明します。overrides.yaml
ファイルが以下の構造と構文になっていることを確認します。ステップ 4: サービス アカウントを作成するで、インストールで使用するサービス アカウント認証のタイプのタブを選択します。
- Kubernetes Secret のサービス アカウント キー: Kubernetes Secret
- サービス アカウントの JSON キーファイル: JSON ファイル
- Vault のサービス アカウント キー: Vault
- Workload Identity Federation for GKE: GKE 用 WIF
- Workload Identity 連携: 他のプラットフォームの WIF
さまざまな認証オプションの概要については、Apigee ハイブリッドのサービス アカウント認証方法をご覧ください。
ステップ 4: サービス アカウントを作成するで選択した環境に応じて、インストール、本番環境、非本番環境(デモ、評価、概念実証のインストール)のタブを選択してください。
本番環境へのインストールについては、本番環境に 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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
SERVICE_ACCOUNT_
SECRETステップ 5: サービス アカウント認証を設定するでサービス アカウント キー用に作成した Kubernetes Secret の名前。 このガイドで推奨されている Secret のデフォルト名は次のとおりです。
本番環境
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
SERVICE_ACCOUNT_
SECRETステップ 5: サービス アカウント認証を設定するでサービス アカウント キー用に作成した Kubernetes Secret の名前。 このガイドで推奨されている Secret のデフォルト名は次のとおりです。
本番環境
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
SERVICE_ACCOUNT_
SECRETステップ 5: サービス アカウント認証を設定するでサービス アカウント キー用に作成した Kubernetes Secret の名前。 このガイドで推奨されている Secret のデフォルト名は次のとおりです。
本番環境
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
SERVICE_ACCOUNT_
SECRETステップ 5: サービス アカウント認証を設定するでサービス アカウント キー用に作成した Kubernetes Secret の名前。 このガイドで推奨されている Secret のデフォルト名は次のとおりです。
本番環境
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<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"
非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前は
PROJECT_ID-non-prod.json
です。本番環境の場合は、ステップ 4: サービス アカウントを作成するで
create-service-account
ツールで生成したサービス アカウント キー ファイルの名前です。サービス アカウント ファイルは、対応する各チャート ディレクトリで確認できます。
デフォルトの名前と、サービス アカウントに対応するチャート ディレクトリは次のとおりです。
本番環境
サービス アカウント ファイル名 チャート ディレクトリ 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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<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"
非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前は
PROJECT_ID-non-prod.json
です。本番環境の場合は、ステップ 4: サービス アカウントを作成するで
create-service-account
ツールで生成したサービス アカウント キー ファイルの名前です。サービス アカウント ファイルは、対応する各チャート ディレクトリで確認できます。
デフォルトの名前と、サービス アカウントに対応するチャート ディレクトリは次のとおりです。
本番環境
サービス アカウント ファイル名 チャート ディレクトリ 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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<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"
非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前は
PROJECT_ID-non-prod.json
です。本番環境の場合は、ステップ 4: サービス アカウントを作成するで
create-service-account
ツールで生成したサービス アカウント キー ファイルの名前です。サービス アカウント ファイルは、対応する各チャート ディレクトリで確認できます。
デフォルトの名前と、サービス アカウントに対応するチャート ディレクトリは次のとおりです。
本番環境
サービス アカウント ファイル名 チャート ディレクトリ 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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<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"
非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前は
PROJECT_ID-non-prod.json
です。本番環境の場合は、ステップ 4: サービス アカウントを作成するで
create-service-account
ツールで生成したサービス アカウント キー ファイルの名前です。サービス アカウント ファイルは、対応する各チャート ディレクトリで確認できます。
デフォルトの名前と、サービス アカウントに対応するチャート ディレクトリは次のとおりです。
本番環境
サービス アカウント ファイル名 チャート ディレクトリ 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
。
Vault
本番環境
テンプレート
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。例
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。非本番環境
テンプレート
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。例
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
SERVICE_ACCOUNT_
EMAILWorkload 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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 2: 組織を作成するの表を参照)。 これは、以前に環境変数
ANALYTICS_REGION
に割り当てた値です。詳細については、
gcp.region
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
SERVICE_ACCOUNT_
EMAILWorkload 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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.workloadIdentity.gsa
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。例
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.workloadIdentity.gsa
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。他のプラットフォームでの 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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
WORKLOAD_IDENTITY_
SECRETステップ 5: サービス アカウント認証を設定するでサービス アカウント認証情報構成用に作成した Kubernetes Secret の名前。 このガイドで推奨されている Secret のデフォルト名は次のとおりです。
本番環境
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
WORKLOAD_IDENTITY_
SECRETステップ 5: サービス アカウント認証を設定するでサービス アカウント認証情報構成用に作成した Kubernetes Secret の名前。 このガイドで推奨されている Secret のデフォルト名は次のとおりです。
本番環境
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
WORKLOAD_IDENTITY_
SECRETステップ 5: サービス アカウント認証を設定するでサービス アカウント認証情報構成用に作成した Kubernetes Secret の名前。 このガイドで推奨されている Secret のデフォルト名は次のとおりです。
本番環境
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<component>_
WORKLOAD_IDENTITY_
SECRETステップ 5: サービス アカウント認証を設定するでサービス アカウント認証情報構成用に作成した Kubernetes Secret の名前。 このガイドで推奨されている Secret のデフォルト名は次のとおりです。
本番環境
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: files
本番環境
テンプレート
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。<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: Vault
本番環境
テンプレート
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。例
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。非本番環境
テンプレート
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。例
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 文字以下にします。
同じクラスタ内に複数の組織を作成できますが、
instanceID
は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。詳細については、
instanceID
をご覧ください。APIGEE_NAMESPACE Apigee ハイブリッド コンポーネントの Kubernetes Namespace。
デフォルト値は
apigee
です。詳細については、
namespace
をご覧ください。PROJECT_ID apigee-logger
とapigee-metrics
がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数PROJECT_ID
に割り当てられます。詳細については、
gcp.projectID
をご覧ください。ANALYTICS_REGION GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、アナリティクスをサポートするクラスタに最も近い分析リージョンを選択します(パート 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"
詳細については、
gcp.federatedWorkloadIdentity.audience
をご覧ください。CLUSTER_NAME Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME
に割り当てられます。詳細については、
k8sCluster.name
をご覧ください。CLUSTER_LOCATION クラスタが実行されているリージョン。これは、ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。 これは、以前に環境変数
CLUSTER_LOCATION
に割り当てた値です。詳細については、
k8sCluster.location
をご覧ください。ORG_NAME Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME
に割り当てられます。詳細については、
org
をご覧ください。CONTROL_PLANE_
LOCATIONApigee ハイブリッド インストールでデータ所在地を使用している場合は必須です。お客様のコアコンテンツ(プロキシ バンドルなど)が保存される場所。リストについては、使用可能な Apigee API コントロール プレーンのリージョンをご覧ください。これは、ステップ 2: 組織を作成するで CONTROL_PLANE_LOCATION
環境変数に割り当てられた値です。詳細については、
contractProvider
をご覧ください。ENVIRONMENT_NAME プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。 詳細については、
envs[].name
をご覧ください。ENVIRONMENT_GROUP_
NAME環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP
に割り当てられます。詳細については、
virtualhosts[].name
をご覧ください。INGRESS_NAME デプロイの Apigee Ingress ゲートウェイの名前。次の要件を満たす任意の名前を使用できます。 - 最大文字数が 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 サービスのアノテーションを提供する Key-Value ペアです。Cloud Platform では、アノテーションを使用してハイブリッド インストールを構成できます。たとえば、ロードバランサのタイプを内部または外部に設定できます。 アノテーションは、プラットフォームによって異なります。必須アノテーションと推奨アノテーションについては、プラットフォームのドキュメントをご覧ください。
使用しない場合は、このセクションをコメントアウトするか削除してください。
詳細については、
ingressGateways[].svcAnnotations
をご覧ください。まとめ
構成ファイルを使用して、ハイブリッド コンポーネントをクラスタにデプロイする方法を Kubernetes に指示します。次のステップでは、Apigee ランタイムと管理プレーンが通信できるように Synchronizer アクセスを有効にします。
次のステップ
1 2 3 4 5 6 7 (次)ステップ 8: コントロール プレーン アクセスを有効にする 9 10 11