Apigee ハイブリッド ランタイム コンポーネントをインストールする
このステップでは Helm を使用して、Apigee ハイブリッドの次のコンポーネントをインストールします。
- Apigee オペレーター
- Apigee データストア
- Apigee テレメトリー
- Apigee Redis
- Apigee Ingress Manager
- Apigee 組織
- Apigee 環境
各環境のチャートを 1 つずつインストールします。コンポーネントをインストールする順序は重要です。
インストール前の注意事項
- v3.14.2 以降をまだインストールしていない場合は、Helm のインストールの手順に沿って操作します。
- 
    Apigee ハイブリッドは、チャートのインストールまたはアップグレードの前に、Helm ガードレールを使用して構成を検証します。このセクションの各コマンドの出力に、ガードレール固有の情報が表示されることがあります。次に例を示します。 # Source: apigee-operator/templates/apigee-operators-guardrails.yaml apiVersion: v1 kind: Pod metadata: name: apigee-hybrid-helm-guardrail-operator namespace: APIGEE_NAMESPACE annotations: helm.sh/hook: pre-install,pre-upgrade helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded labels: app: apigee-hybrid-helm-guardrailhelm upgradeコマンドが失敗した場合は、ガードレールの出力を使用して原因を診断できます。ガードレールで問題を診断するをご覧ください。
- Helm のアップグレード / インストール コマンドを実行する前に、コマンドの末尾に --dry-run=serverを追加して、Helm ドライラン機能を使用します。サポートされているコマンド、オプション、使用方法の一覧は、helm install --hをご覧ください。
インストール手順
ハイブリッド インストールでサービス アカウント認証タイプのインストール手順を選択します。
Kubernetes Secret
- まだ行っていない場合は、APIGEE_HELM_CHARTS_HOMEディレクトリに移動します。このディレクトリから次のコマンドを実行します。
- Apigee オペレーター / コントローラをインストールします。
			- ドライラン:helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- チャートをインストールします。helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      Apigee Operator のインストールを確認します。 helm ls -n APIGEE_NAMESPACE NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s 
 
- ドライラン:
- 
      Apigee データストアをインストールします。 - ドライラン:helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
          次のステップに進む前に状態をチェックして、 apigeedatastoreが稼働していることを確認します。kubectl -n APIGEE_NAMESPACE get apigeedatastore default NAME STATE AGE default running 51s 
 
- ドライラン:
- 
      Apigee テレメトリーをインストールします。 - ドライラン:helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry NAME STATE AGE apigee-telemetry running 55s 
 
- ドライラン:
- 
      Apigee Redis をインストールします。 - 
      ドライランを実行します。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
        状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeredis default NAME STATE AGE default running 79s 
 
- 
      
- 
      Apigee Ingress マネージャーをインストールします。 - 
      ドライランを実行します。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s 
 
- 
      
- 
      Apigee 組織をインストールします。シェルで $ORG_NAME 環境変数を設定している場合は、次のコマンドで使用できます。 - 
      ドライランを実行します。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      それぞれの組織の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeorg NAME STATE AGE my-project-123abcd running 4m18s 
 
- 
      
- 
      環境をインストールします。 同時にインストールできる環境は 1 つだけです。 --set env=ENV_NAME で環境を指定します。シェルで $ENV_NAME 環境変数を設定している場合は、次のコマンドで使用できます。- 
      ドライランを実行します。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server ENV_RELEASE_NAME は、 apigee-envチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_NAMEと同じにします。ただし、環境と環境グループの名前が同じである場合は、環境と環境グループに対して異なるリリース名(dev-env-releaseとdev-envgroup-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
		チャートをインストールします。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml 
- 
        それぞれの環境の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeenv NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s 
 
- 
      
- 
        環境グループ(virtualhosts)をインストールします。- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。--set envgroup=ENV_GROUP を使用して環境グループを指定します。シェルで $ENV_GROUP 環境変数を設定している場合は、次のコマンドで使用できます。overrides.yamlファイルに記載されている env グループそれぞれに対して、次のコマンドを繰り返します。ドライランを実行します。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server ENV_GROUP_RELEASE_NAME は、 apigee-virtualhostsチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_GROUPと同じにします。ただし、環境グループの名前がインストール環境の環境と同じである場合は、環境グループと環境に異なるリリース名(dev-envgroup-releaseとdev-env-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
          チャートをインストールします。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml 
- ApigeeRoute(AR)の状態を確認します。virtualhostsをインストールすると、ApigeeRouteConfig(ARC)が作成されます。これにより、Apigee ウォッチャーがコントロール プレーンから env グループ関連の詳細を pull した時点で、ApigeeRoute(AR)が内部で作成されます。このため、対応する AR の状態が実行中であることを確認します。kubectl -n APIGEE_NAMESPACE get arc NAME STATE AGE apigee-org1-dev-egroup 2m kubectl -n APIGEE_NAMESPACE get ar NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s 
 
- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。
JSON ファイル
- まだ行っていない場合は、APIGEE_HELM_CHARTS_HOMEディレクトリに移動します。このディレクトリから次のコマンドを実行します。
- Apigee オペレーター / コントローラをインストールします。
			- ドライラン:helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- チャートをインストールします。helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      Apigee Operator のインストールを確認します。 helm ls -n APIGEE_NAMESPACE NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s 
 
- ドライラン:
- 
      Apigee データストアをインストールします。 - ドライラン:helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
          次のステップに進む前に状態をチェックして、 apigeedatastoreが稼働していることを確認します。kubectl -n APIGEE_NAMESPACE get apigeedatastore default NAME STATE AGE default running 51s 
 
- ドライラン:
- 
      Apigee テレメトリーをインストールします。 - ドライラン:helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry NAME STATE AGE apigee-telemetry running 55s 
 
- ドライラン:
- 
      Apigee Redis をインストールします。 - 
      ドライランを実行します。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
        状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeredis default NAME STATE AGE default running 79s 
 
- 
      
- 
      Apigee Ingress マネージャーをインストールします。 - 
      ドライランを実行します。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s 
 
- 
      
- 
      Apigee 組織をインストールします。シェルで $ORG_NAME 環境変数を設定している場合は、次のコマンドで使用できます。 - 
      ドライランを実行します。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      それぞれの組織の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeorg NAME STATE AGE my-project-123abcd running 4m18s 
 
- 
      
- 
      環境をインストールします。 同時にインストールできる環境は 1 つだけです。 --set env=ENV_NAME で環境を指定します。シェルで $ENV_NAME 環境変数を設定している場合は、次のコマンドで使用できます。- 
      ドライランを実行します。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server ENV_RELEASE_NAME は、 apigee-envチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_NAMEと同じにします。ただし、環境と環境グループの名前が同じである場合は、環境と環境グループに対して異なるリリース名(dev-env-releaseとdev-envgroup-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
		チャートをインストールします。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml 
- 
        それぞれの環境の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeenv NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s 
 
- 
      
- 
        環境グループ(virtualhosts)をインストールします。- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。--set envgroup=ENV_GROUP を使用して環境グループを指定します。シェルで $ENV_GROUP 環境変数を設定している場合は、次のコマンドで使用できます。overrides.yamlファイルに記載されている env グループそれぞれに対して、次のコマンドを繰り返します。ドライランを実行します。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server ENV_GROUP_RELEASE_NAME は、 apigee-virtualhostsチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_GROUPと同じにします。ただし、環境グループの名前がインストール環境の環境と同じである場合は、環境グループと環境に異なるリリース名(dev-envgroup-releaseとdev-env-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
          チャートをインストールします。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml 
- ApigeeRoute(AR)の状態を確認します。virtualhostsをインストールすると、ApigeeRouteConfig(ARC)が作成されます。これにより、Apigee ウォッチャーがコントロール プレーンから env グループ関連の詳細を pull した時点で、ApigeeRoute(AR)が内部で作成されます。このため、対応する AR の状態が実行中であることを確認します。kubectl -n APIGEE_NAMESPACE get arc NAME STATE AGE apigee-org1-dev-egroup 2m kubectl -n APIGEE_NAMESPACE get ar NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s 
 
- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。
Vault
- まだ行っていない場合は、APIGEE_HELM_CHARTS_HOMEディレクトリに移動します。このディレクトリから次のコマンドを実行します。
- Apigee オペレーター / コントローラをインストールします。
			- ドライラン:helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- チャートをインストールします。helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      Apigee Operator のインストールを確認します。 helm ls -n APIGEE_NAMESPACE NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s 
 
- ドライラン:
- 
      Apigee データストアをインストールします。 - ドライラン:helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
          次のステップに進む前に状態をチェックして、 apigeedatastoreが稼働していることを確認します。kubectl -n APIGEE_NAMESPACE get apigeedatastore default NAME STATE AGE default running 51s 
 
- ドライラン:
- 
      Apigee テレメトリーをインストールします。 - ドライラン:helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry NAME STATE AGE apigee-telemetry running 55s 
 
- ドライラン:
- 
      Apigee Redis をインストールします。 - 
      ドライランを実行します。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
        状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeredis default NAME STATE AGE default running 79s 
 
- 
      
- 
      Apigee Ingress マネージャーをインストールします。 - 
      ドライランを実行します。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s 
 
- 
      
- 
      Apigee 組織をインストールします。シェルで $ORG_NAME 環境変数を設定している場合は、次のコマンドで使用できます。 - 
      ドライランを実行します。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      それぞれの組織の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeorg NAME STATE AGE my-project-123abcd running 4m18s 
 
- 
      
- 
      環境をインストールします。 同時にインストールできる環境は 1 つだけです。 --set env=ENV_NAME で環境を指定します。シェルで $ENV_NAME 環境変数を設定している場合は、次のコマンドで使用できます。- 
      ドライランを実行します。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server ENV_RELEASE_NAME は、 apigee-envチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_NAMEと同じにします。ただし、環境と環境グループの名前が同じである場合は、環境と環境グループに対して異なるリリース名(dev-env-releaseとdev-envgroup-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
		チャートをインストールします。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml 
- 
        それぞれの環境の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeenv NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s 
 
- 
      
- 
        環境グループ(virtualhosts)をインストールします。- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。--set envgroup=ENV_GROUP を使用して環境グループを指定します。シェルで $ENV_GROUP 環境変数を設定している場合は、次のコマンドで使用できます。overrides.yamlファイルに記載されている env グループそれぞれに対して、次のコマンドを繰り返します。ドライランを実行します。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server ENV_GROUP_RELEASE_NAME は、 apigee-virtualhostsチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_GROUPと同じにします。ただし、環境グループの名前がインストール環境の環境と同じである場合は、環境グループと環境に異なるリリース名(dev-envgroup-releaseとdev-env-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
          チャートをインストールします。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml 
- ApigeeRoute(AR)の状態を確認します。virtualhostsをインストールすると、ApigeeRouteConfig(ARC)が作成されます。これにより、Apigee ウォッチャーがコントロール プレーンから env グループ関連の詳細を pull した時点で、ApigeeRoute(AR)が内部で作成されます。このため、対応する AR の状態が実行中であることを確認します。kubectl -n APIGEE_NAMESPACE get arc NAME STATE AGE apigee-org1-dev-egroup 2m kubectl -n APIGEE_NAMESPACE get ar NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s 
 
- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。
GKE 用 WIF
- まだ行っていない場合は、APIGEE_HELM_CHARTS_HOMEディレクトリに移動します。このディレクトリから次のコマンドを実行します。
- Apigee オペレーター / コントローラをインストールします。
			- ドライラン:helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- チャートをインストールします。helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      Apigee Operator のインストールを確認します。 helm ls -n APIGEE_NAMESPACE NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s 
 
- ドライラン:
- 
      Apigee データストアをインストールします。 - ドライラン:helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      Workload Identity Federation for GKE の Cassandra のサービス アカウント バインディングを設定します。 helm upgradeコマンドの出力には、注 セクションにコマンドが含まれているはずです。これらのコマンドに沿って、サービス アカウントのバインディングを設定します。次の形式のコマンドが 2 つ必要です。本番環境gcloud iam service-accounts add-iam-policy-binding CASSANDRA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-cassandra-default]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-cassandra-default]" \ --project PROJECT_ID および: 本番環境kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=CASSANDRA_SERVICE_ACCOUNT_EMAIL \ --namespace APIGEE_NAMESPACE 非本番環境kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=NON_PROD_SERVICE_ACCOUNT_EMAIL \ --namespace APIGEE_NAMESPACE 次に例を示します。 本番環境NOTES: For Cassandra backup GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). gcloud iam service-accounts add-iam-policy-binding apigee-cassandra@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-cassandra-default]" \ --project my-project kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=apigee-cassandra@my-project.iam.gserviceaccount.com \ --namespace apigee非本番環境NOTES: For Cassandra backup GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-cassandra-default]" \ --project my-project kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=apigee-non-prod@my-project.iam.gserviceaccount.com \ --namespace apigee(省略可)この時点で Cassandra バックアップを設定しない場合は、オーバーライド ファイルを編集して cassandra.backupスタンザを削除するかコメントアウトしてから、--dry-runフラグなしでhelm upgradeコマンドを実行します。Cassandra バックアップの構成の詳細については、Cassandra のバックアップと復元をご覧ください。
- 
      チャートをインストールします。 helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
          次のステップに進む前に状態をチェックして、 apigeedatastoreが稼働していることを確認します。kubectl -n APIGEE_NAMESPACE get apigeedatastore default NAME STATE AGE default running 51s 
 
- ドライラン:
- 
      Apigee テレメトリーをインストールします。 - ドライラン:helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      Workload Identity Federation for GKE の Logger と Metrics のサービス アカウント バインディングを設定します。 helm upgradeコマンドの出力には、注 セクションにコマンドが含まれているはずです。これらのコマンドに沿って、サービス アカウントのバインディングを設定します。次の形式のコマンドが 2 つ必要です。Logger KSA: apigee-logger-apigee-telemetrygcloud iam service-accounts add-iam-policy-binding LOGGER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project PROJECT_ID 指標 KSA: apigee-metrics-sa本番環境gcloud iam service-accounts add-iam-policy-binding METRICS_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-metrics-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-metrics-sa]" \ --project PROJECT_ID 次に例を示します。 本番環境NOTES: For GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Logger KSA: apigee-logger-apigee-telemetry gcloud iam service-accounts add-iam-policy-binding apigee-logger@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project my-project Metrics KSA: apigee-metrics-sa gcloud iam service-accounts add-iam-policy-binding apigee-metrics@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-metrics-sa]" \ --project my-project非本番環境NOTES: For GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Logger KSA: apigee-logger-apigee-telemetry gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project my-project Metrics KSA: apigee-metrics-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-metrics-sa]" \ --project my-project
- 
      チャートをインストールします。 helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry NAME STATE AGE apigee-telemetry running 55s 
 
- ドライラン:
- 
      Apigee Redis をインストールします。 - 
      ドライランを実行します。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
        状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeredis default NAME STATE AGE default running 79s 
 
- 
      
- 
      Apigee Ingress マネージャーをインストールします。 - 
      ドライランを実行します。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s 
 
- 
      
- 
      Apigee 組織をインストールします。シェルで $ORG_NAME 環境変数を設定している場合は、次のコマンドで使用できます。 - 
      ドライランを実行します。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      Workload Identity Federation for GKE、MART、Apigee Connect、UDCA、Watcher の組織スコープ コンポーネントのサービス アカウント バインディングを設定します。 helm upgradeコマンドの出力には、注 セクションにコマンドが含まれているはずです。これらのコマンドに沿って、サービス アカウントのバインディングを設定します。4 つのコマンドがあります。MART KSA: apigee-mart-PROJECT_ID-ORG_HASH_ID-sa本番環境gcloud iam service-accounts add-iam-policy-binding MART_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mart-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mart-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID Connect Agent KSA: apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-sa本番環境gcloud iam service-accounts add-iam-policy-binding MART_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID Mint Task Scheduler KSA:(Apigee ハイブリッドの収益化を使用している場合) apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-sa本番環境gcloud iam service-accounts add-iam-policy-binding MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID UDCA KSA: apigee-udca-PROJECT_ID-ORG_HASH_ID-sa本番環境gcloud iam service-accounts add-iam-policy-binding UDCA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID Watcher KSA: apigee-watcher-PROJECT_ID-ORG_HASH_ID-sa本番環境gcloud iam service-accounts add-iam-policy-binding WATCHER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-watcher-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-watcher-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID 次に例を示します。 本番環境NOTES: For Apigee Organization GKE Workload Identity, my-project, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). MART KSA: apigee-mart-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mart@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mart-my-project-1a2b3c4-sa]" \ --project my-project Connect Agent KSA: apigee-connect-agent-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mart@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-connect-agent-my-project-1a2b3c4-sa]" \ --project my-project Mint task scheduler KSA: apigee-mint-task-scheduler-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mint-task-scheduler-my-project-1a2b3c4-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-udca@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-1a2b3c4-sa]" \ --project my-project Watcher KSA: apigee-watcher-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-watcher@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-watcher-my-project-1a2b3c4-sa]" \ --project my-project非本番環境NOTES: For Apigee Organization GKE Workload Identity, my-project, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). MART KSA: apigee-mart-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mart-my-project-1a2b3c4-sa]" \ --project my-project Connect Agent KSA: apigee-connect-agent-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-connect-agent-my-project-1a2b3c4-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-1a2b3c4-sa]" \ --project my-project Watcher KSA: apigee-watcher-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-watcher-my-project-1a2b3c4-sa]" \ --project my-project
- 
      チャートをインストールします。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      それぞれの組織の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeorg NAME STATE AGE my-project-123abcd running 4m18s 
 
- 
      
- 
      環境をインストールします。 同時にインストールできる環境は 1 つだけです。 --set env=ENV_NAME で環境を指定します。シェルで $ENV_NAME 環境変数を設定している場合は、次のコマンドで使用できます。- 
      ドライランを実行します。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server ENV_RELEASE_NAME は、 apigee-envチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_NAMEと同じにします。ただし、環境と環境グループの名前が同じである場合は、環境と環境グループに対して異なるリリース名(dev-env-releaseとdev-envgroup-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
      Workload Identity Federation for GKE、Runtime、Synchronizer、UDCA の環境スコープ コンポーネントのサービス アカウント バインディングを設定します。 helm upgradeコマンドの出力には、注 セクションにコマンドが含まれているはずです。これらのコマンドに沿って、サービス アカウントのバインディングを設定します。4 つのコマンドがあります。ランタイム KSA: apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa本番環境gcloud iam service-accounts add-iam-policy-binding RUNTIME_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID Synchronizer KSA: apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa本番環境gcloud iam service-accounts add-iam-policy-binding SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID UDCA KSA: apigee-udca-PROJECT_ID-ORG_HASH_ID-ENV_NAME-ENV_HASH_ID-sa本番環境gcloud iam service-accounts add-iam-policy-binding UDCA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID 非本番環境gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID 次に例を示します。 NOTES: For Apigee Environment GKE Workload Identity, my-env, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Runtime KSA: apigee-runtime-my-project-my-env-b2c3d4e-sa gcloud iam service-accounts add-iam-policy-binding apigee-runtime@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-runtime-my-project-my-env-b2c3d4e-sa]" \ --project my-project Synchronizer KSA: apigee-synchronizer-my-project-my-env-b2c3d4e-sa gcloud iam service-accounts add-iam-policy-binding apigee-synchronizer@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-synchronizer-my-project-my-env-b2c3d4e-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-my-env-b2c3d4e-sa: gcloud iam service-accounts add-iam-policy-binding apigee-udca@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-my-env-b2c3d4e-sa]" \ --project my-project
- 
		チャートをインストールします。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml 
- 
        それぞれの環境の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeenv NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s 
 
- 
      
- 
        環境グループ(virtualhosts)をインストールします。- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。--set envgroup=ENV_GROUP を使用して環境グループを指定します。シェルで $ENV_GROUP 環境変数を設定している場合は、次のコマンドで使用できます。overrides.yamlファイルに記載されている env グループそれぞれに対して、次のコマンドを繰り返します。ドライランを実行します。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server ENV_GROUP_RELEASE_NAME は、 apigee-virtualhostsチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_GROUPと同じにします。ただし、環境グループの名前がインストール環境の環境と同じである場合は、環境グループと環境に異なるリリース名(dev-envgroup-releaseとdev-env-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
          チャートをインストールします。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml 
- ApigeeRoute(AR)の状態を確認します。virtualhostsをインストールすると、ApigeeRouteConfig(ARC)が作成されます。これにより、Apigee ウォッチャーがコントロール プレーンから env グループ関連の詳細を pull した時点で、ApigeeRoute(AR)が内部で作成されます。このため、対応する AR の状態が実行中であることを確認します。kubectl -n APIGEE_NAMESPACE get arc NAME STATE AGE apigee-org1-dev-egroup 2m kubectl -n APIGEE_NAMESPACE get ar NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s 
 
- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。
- (省略可)Kubernetes サービス アカウントのステータスは、 Google Cloud consoleの Kubernetes: ワークロードの概要ページで確認できます。
他のプラットフォームでの WIF
- まだ行っていない場合は、APIGEE_HELM_CHARTS_HOMEディレクトリに移動します。このディレクトリから次のコマンドを実行します。
- Apigee オペレーター / コントローラをインストールします。
			- ドライラン:helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- チャートをインストールします。helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      Apigee Operator のインストールを確認します。 helm ls -n APIGEE_NAMESPACE NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s 
 
- ドライラン:
- 
      Apigee データストアをインストールします。 - ドライラン:helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
          Cassandra バックアップまたは Cassandra 復元を有効にしている場合は、関連付けられた apigee-cassandraIAM サービス アカウントの権限借用を Cassandra Kubernetes サービス アカウントに許可します。- 
              Cassandra の IAM サービス アカウントのメールアドレスを一覧表示します。
              本番環境gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-cassandra" 非本番環境gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod" 出力は次のようになります。 本番環境apigee-cassandra apigee-cassandra@my-project.iam.gserviceaccount.com False非本番環境apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False
- 
              Cassandra Kubernetes サービス アカウントのリストを取得します。kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-cassandra" 出力は次のようになります。 apigee-cassandra-backup-sa 0 7m37s apigee-cassandra-default 0 7m12s apigee-cassandra-guardrails-sa 0 6m43s apigee-cassandra-restore-sa 0 7m37s apigee-cassandra-schema-setup-my-project-1a2b2c4 0 7m30s apigee-cassandra-schema-val-my-project-1a2b2c4 0 7m29s apigee-cassandra-user-setup-my-project-1a2b2c4 0 7m22s
- 
              apigee-cassandra-backup-saまたはapigee-cassandra-restore-saKubernetes サービス アカウントを作成した場合は、次のコマンドを使用して、各アカウントにapigee-cassandraIAM サービス アカウントの権限借用を許可します。本番環境テンプレートgcloud iam service-accounts add-iam-policy-binding \ CASSANDRA_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-cassandra@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-cassandra-backup-sa" \ --role=roles/iam.workloadIdentityUser非本番環境テンプレートgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-cassandra-backup-sa" \ --role=roles/iam.workloadIdentityUserここで - CASSANDRA_IAM_SA_EMAIL: Cassandra IAM サービス アカウントのメールアドレス。
- PROJECT_NUMBER: Workload Identity プールを作成したプロジェクトのプロジェクト番号。
- POOL_ID: Workload Identity プール ID。
- MAPPED_SUBJECT: ID トークンのクレームから取得した Kubernetes ServiceAccount。ほとんどのハイブリッド インストールでは、この形式は- system:serviceaccount:APIGEE_NAMESPACE:K8S_SA_NAMEになります。- apigee-cassandra-backup-saの場合、- system:serviceaccount:apigee:apigee-cassandra-backup-saに似たものになります。
- apigee-cassandra-restore-saの場合、- system:serviceaccount:apigee:apigee-cassandra-restore-saに似たものになります。
 
 
 
- 
              Cassandra の IAM サービス アカウントのメールアドレスを一覧表示します。
              
- 
          次のステップに進む前に状態をチェックして、 apigeedatastoreが稼働していることを確認します。kubectl -n APIGEE_NAMESPACE get apigeedatastore default NAME STATE AGE default running 51s 
 
- ドライラン:
- 
      Apigee テレメトリーをインストールします。 - ドライラン:helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry NAME STATE AGE apigee-telemetry running 55s 
- 
          関連付けられた apigee-metricsIAM サービス アカウントの権限借用をテレメトリー Kubernetes サービス アカウントに許可します。- 
              指標の IAM サービス アカウントのメールアドレスを一覧表示します。
              本番環境gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-metrics" 出力は次のようになります。 apigee-metrics apigee-metrics@my-project.iam.gserviceaccount.com False 非本番環境gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod" 出力は次のようになります。 apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False 
- 
              テレメトリー Kubernetes サービス アカウントのリストを取得します。kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "telemetry" 出力は次のようになります。 apigee-metrics-apigee-telemetry 0 42m apigee-open-telemetry-collector-apigee-telemetry 0 37m 
- 
              次のコマンドを使用して、各テレメトリー Kubernetes サービス アカウントに apigee-metricsIAM サービス アカウントの権限借用を許可します。本番環境Apigee 指標 KSA: apigee-metrics-apigee-telemetryからapigee-metricsGoogle IAM サービス アカウントコードgcloud iam service-accounts add-iam-policy-binding \ METRICS_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-metrics@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-metrics-apigee-telemetry" \ --role=roles/iam.workloadIdentityUserApigee OpenTelemetry Collector KSA: apigee-open-telemetry-collector-apigee-telemetryからapigee-metricsGoogle IAM サービス アカウントコードgcloud iam service-accounts add-iam-policy-binding \ METRICS_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-metrics@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-open-telemetry-collector-apigee-telemetry" \ --role=roles/iam.workloadIdentityUser非本番環境Apigee 指標 KSA: apigee-metrics-apigee-telemetryからapigee-non-prodGoogle IAM サービス アカウントコードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-metrics-apigee-telemetry" \ --role=roles/iam.workloadIdentityUserApigee OpenTelemetry Collector KSA: apigee-open-telemetry-collector-apigee-telemetryからapigee-non-prodGoogle IAM サービス アカウントコードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-open-telemetry-collector-apigee-telemetry" \ --role=roles/iam.workloadIdentityUser
 
- 
              指標の IAM サービス アカウントのメールアドレスを一覧表示します。
              
 
- ドライラン:
- 
      Apigee Redis をインストールします。 - 
      ドライランを実行します。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
        状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeredis default NAME STATE AGE default running 79s 
 
- 
      
- 
      Apigee Ingress マネージャーをインストールします。 - 
      ドライランを実行します。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      可用性をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s 
 
- 
      
- 
      Apigee 組織をインストールします。シェルで $ORG_NAME 環境変数を設定している場合は、次のコマンドで使用できます。 - 
      ドライランを実行します。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server 
- 
      チャートをインストールします。 helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
- 
      それぞれの組織の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeorg NAME STATE AGE my-project-123abcd running 4m18s 
- 
          関連付けられた IAM サービス アカウントの権限借用を組織スコープの Kubernetes サービス アカウントに許可します。- 
              apigee-mart、apigee-udca、apigee-watcherコンポーネントで使用される IAM サービス アカウントのメールアドレスを一覧表示します。本番環境gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mart\|apigee-udca\|apigee-watcher" 出力は次のようになります。 apigee-mart apigee-mart@my-project.iam.gserviceaccount.com False apigee-udca apigee-udca@my-project.iam.gserviceaccount.com False apigee-watcher apigee-watcher@my-project.iam.gserviceaccount.com False Apigee ハイブリッドの収益化を使用している場合は、 apigee-mint-task-schedulerサービス アカウントのメールアドレスも取得します。gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mint-task-scheduler" 出力は次のようになります。 apigee-mint-task-scheduler apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com False 非本番環境gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod" 出力は次のようになります。 apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False
- 
              組織スコープの Kubernetes サービス アカウントを一覧表示します。kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-connect-agent\|apigee-mart\|apigee-udca\|apigee-watcher" 出力は次のようになります。 apigee-connect-agent-my-project-123abcd 0 1h4m apigee-mart-my-project-123abcd 0 1h4m apigee-mint-task-scheduler-my-project-123abcd 0 1h3m apigee-udca-my-project-123abcd 0 1h2m apigee-watcher-my-project-123abcd 0 1h1m
- 
              次のコマンドを使用して、関連付けられた IAM サービス アカウントの権限借用を組織スコープの Kubernetes サービス アカウントに許可します。
              本番環境Connect エージェント KSA: apigee-connect-agent-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-martIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ APIGEE_MART_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-mart@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-connect-agent-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMART KSA: apigee-mart-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-martIAM サービス アカウント。MART と Connect エージェントは同じ IAM サービス アカウントを使用します。コードgcloud iam service-accounts add-iam-policy-binding \ APIGEE_MART_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-mart@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mart-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMint タスク スケジューラ KSA:(Apigee ハイブリッドの収益化を使用している場合) apigee-mint-task-scheduler-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-mint-task-schedulerIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ APIGEE_MINT_TASK_SCHEDULER_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mint-task-scheduler-my-org-123abcd" \ --role=roles/iam.workloadIdentityUser組織をスコープとする UDCA KSA: apigee-udca-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-udcaIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ APIGEE_UDCA_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-udca-task-scheduler@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserWatcher KSA: apigee-watcher-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-watcherIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ APIGEE_WATCHER_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-watcher@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-watcher-my-org-123abcd" \ --role=roles/iam.workloadIdentityUser非本番環境Connect エージェント KSA: apigee-connect-agent-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-non-prodIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-connect-agent-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMART KSA: apigee-mart-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-non-prodIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mart-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMint タスク スケジューラ KSA:(Apigee ハイブリッドの収益化を使用している場合) apigee-mint-task-scheduler-ORG_NAME-UUIORG_HASH_IDDKubernetes サービス アカウントからapigee-non-prodIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mint-task-scheduler-my-org-123abcd" \ --role=roles/iam.workloadIdentityUser組織をスコープとする UDCA KSA: apigee-udca-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-non-prodIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserWatcher KSA: apigee-watcher-ORG_NAME-ORG_HASH_IDKubernetes サービス アカウントからapigee-non-prodIAM サービス アカウント。コードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-watcher-my-org-123abcd" \ --role=roles/iam.workloadIdentityUser
 
- 
              
 
- 
      
- 
      環境をインストールします。 同時にインストールできる環境は 1 つだけです。 --set env=ENV_NAME で環境を指定します。シェルで $ENV_NAME 環境変数を設定している場合は、次のコマンドで使用できます。- 
      ドライランを実行します。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server ENV_RELEASE_NAME は、 apigee-envチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_NAMEと同じにします。ただし、環境と環境グループの名前が同じである場合は、環境と環境グループに対して異なるリリース名(dev-env-releaseとdev-envgroup-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
		チャートをインストールします。 helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml 
- 
        それぞれの環境の状態をチェックして、稼働していることを確認します。 kubectl -n APIGEE_NAMESPACE get apigeeenv NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s 
- 
          環境スコープの Kubernetes サービス アカウントに、関連付けられた IAM サービス アカウントの権限借用を許可します。- 
              apigee-runtime、apigee-synchronizer、apigee-udcaコンポーネントで使用される IAM サービス アカウントのメールアドレスを一覧表示します。本番環境gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-runtime\|apigee-synchronizer\|apigee-udca" 非本番環境gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod" gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mart\|apigee-udca\|apigee-watcher" 出力は次のようになります。 本番環境apigee-runtime apigee-runtime@my-project.iam.gserviceaccount.com False apigee-synchronizer apigee-synchronizer@my-project.iam.gserviceaccount.com False apigee-udca apigee-udca@my-project.iam.gserviceaccount.com False非本番環境apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False
- 
              環境スコープの Kubernetes サービス アカウントを一覧表示します。kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-runtime\|apigee-synchronizer\|apigee-udca" 出力は次のようになります。 apigee-runtime-my-project--my-env-cdef123 0 19m apigee-synchronizer-my-project-my-env-cdef123 0 17m apigee-udca-my-project-123abcd 0 1h29m apigee-udca-my-project-my-env-cdef123 0 22m
- 
              次のコマンドを使用して、環境スコープの Kubernetes サービス アカウントに、関連付けられた IAM サービス アカウントの権限借用を許可します。
              本番環境ランタイム KSA: apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA からapigee-runtimeGoogle IAM SAコードgcloud iam service-accounts add-iam-policy-binding \ RUNTIME_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-runtime@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-runtime-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserSynchronizer KSA: apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA からapigee-synchronizerGoogle IAM SAコードgcloud iam service-accounts add-iam-policy-binding \ SYNCHRONIZER_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-synchronizer@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-synchronizer-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserUDCA KSA: apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA からapigee-udcaGoogle IAM SAコードgcloud iam service-accounts add-iam-policy-binding \ UDCA_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-udca@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUser非本番環境ランタイム KSA: apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA からapigee-non-prodGoogle IAM SAコードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-runtime-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUser非本番環境Synchronizer KSA: apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA からapigee-non-prodGoogle IAM SAコードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-synchronizer-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUser非本番環境UDCA KSA: apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA からapigee-non-prodGoogle IAM SAコードgcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUser例gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUser
 
- 
              
 
- 
      
- 
        環境グループ(virtualhosts)をインストールします。- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。--set envgroup=ENV_GROUP を使用して環境グループを指定します。シェルで $ENV_GROUP 環境変数を設定している場合は、次のコマンドで使用できます。overrides.yamlファイルに記載されている env グループそれぞれに対して、次のコマンドを繰り返します。ドライランを実行します。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server ENV_GROUP_RELEASE_NAME は、 apigee-virtualhostsチャートのインストールとアップグレードの追跡に使用する名前です。この名前は、インストール内の他の Helm リリース名と重複していない必要があります。通常、これはENV_GROUPと同じにします。ただし、環境グループの名前がインストール環境の環境と同じである場合は、環境グループと環境に異なるリリース名(dev-envgroup-releaseとdev-env-releaseなど)を使用する必要があります。Helm でのリリースの詳細については、Helm ドキュメントの 3 つの大きなコンセプトをご覧ください。
- 
          チャートをインストールします。 helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml 
- ApigeeRoute(AR)の状態を確認します。virtualhostsをインストールすると、ApigeeRouteConfig(ARC)が作成されます。これにより、Apigee ウォッチャーがコントロール プレーンから env グループ関連の詳細を pull した時点で、ApigeeRoute(AR)が内部で作成されます。このため、対応する AR の状態が実行中であることを確認します。kubectl -n APIGEE_NAMESPACE get arc NAME STATE AGE apigee-org1-dev-egroup 2m kubectl -n APIGEE_NAMESPACE get ar NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s 
 
- 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。
次のステップ
次のステップでは、Apigee Ingress ゲートウェイを構成し、プロキシをデプロイしてインストールをテストします。
(次)ステップ 1: Apigee ingress を公開する 2