ステップ 11: Helm を使用して Apigee ハイブリッドをインストールする

Apigee ハイブリッド ランタイム コンポーネントをインストールする

このステップでは Helm を使用して、Apigee ハイブリッドの次のコンポーネントをインストールします。

  • Apigee オペレーター
  • Apigee データストア
  • Apigee テレメトリー
  • Apigee Redis
  • Apigee Ingress Manager
  • Apigee 組織
  • Apigee 環境

各環境のチャートを 1 つずつインストールします。コンポーネントをインストールする順序は重要です。

インストール前の注意事項

  1. v3.14.2 以降をまだインストールしていない場合は、Helm のインストールの手順に沿って操作します。
  2. Apigee ハイブリッドは、チャートのインストールまたはアップグレードの前に、Helm ガードレールを使用して構成を検証します。このセクションの各コマンドの出力に、ガードレール固有の情報が表示されることがあります。次に例を示します。

    # Source: apigee-operator/templates/apigee-operators-guardrails.yaml
    apiVersion: v1
    kind: Pod
    metadata:
      name: apigee-hybrid-helm-guardrail-operator
      namespace: apigee-system
      annotations:
        helm.sh/hook: pre-install,pre-upgrade
        helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
      labels:
        app: apigee-hybrid-helm-guardrail
    

    helm upgrade コマンドが失敗した場合は、ガードレールの出力を使用して原因を診断できます。ガードレールで問題を診断するをご覧ください。

  3. Helm のアップグレード / インストール コマンドを実行する前に、コマンドの末尾に --dry-run を追加して、Helm ドライラン機能を使用します。サポートされているコマンド、オプション、使用方法の一覧は、helm install --h をご覧ください。
  4. Apigee Helm 移行ツールを使用して apigeectl 管理から Helm 管理に移行するクラスタにチャートをインストールする場合は、以下のすべてのコマンドで --atomic フラグを省略してください。

インストール手順

  1. 適切なバージョンの Helm がインストールされていることを確認します。

    helm version

    このインストールに必要な Helm のバージョンは v3.14.2 以降です。表示されたバージョンが適切でない場合は、次のコマンドを実行して Helm をアップグレードしてください。get_helm.sh スクリプトによって最新バージョンが取得され、インストールされます。

    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
    chmod 700 get_helm.sh
    ./get_helm.sh

    インストール後、Helm のバージョンを再確認します。

    helm version
  2. APIGEE_HELM_CHARTS_HOME ディレクトリに移動します。このディレクトリから次のコマンドを実行します。
  3. Apigee オペレーター / コントローラをインストールします。

    ドライランを実行します。

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    チャートをインストールします。

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      --atomic \
      -f overrides.yaml
    

    Apigee オペレーターのインストールを確認します。

    helm ls -n apigee-system
    
    NAME       NAMESPACE       REVISION   UPDATED                                STATUS     CHART                                       APP VERSION
    operator   apigee-system   3          2023-06-26 00:42:44.492009 -0800 PST   deployed   apigee-operator-1.12.3   1.12.3
    

    可用性をチェックして、稼働していることを確認します。

    kubectl -n apigee-system get deploy apigee-controller-manager
    
    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager   1/1     1            1           7d20h
    
  4. Apigee データストアをインストールします。

    ドライランを実行します。

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    チャートをインストールします。

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    次のステップに進む前に状態をチェックして、apigeedatastore が稼働していることを確認します。

    kubectl -n apigee get apigeedatastore default
    
    NAME      STATE       AGE
    default   running    2d
    
  5. Apigee テレメトリーをインストールします。

    ドライランを実行します。

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    チャートをインストールします。

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    状態をチェックして、稼働していることを確認します。

    kubectl -n apigee get apigeetelemetry apigee-telemetry
    
    NAME               STATE     AGE
    apigee-telemetry   running   2d
    
  6. Apigee Redis をインストールします。

    ドライランを実行します。

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    チャートをインストールします。

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    状態をチェックして、稼働していることを確認します。

    kubectl -n apigee get apigeeredis default
    
    NAME      STATE     AGE
    default   running   2d
    
  7. Apigee Ingress マネージャーをインストールします。

    ドライランを実行します。

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    チャートをインストールします。

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    可用性をチェックして、稼働していることを確認します。

    kubectl -n apigee get deployment apigee-ingressgateway-manager
    
    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-ingressgateway-manager   2/2     2            2           2d
    
  8. Apigee 組織をインストールします。シェルで $ORG_NAME 環境変数を設定している場合は、次のコマンドで使用できます。

    ドライランを実行します。

    helm upgrade $ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    チャートをインストールします。

    helm upgrade $ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    それぞれの組織の状態をチェックして、稼働していることを確認します。

    kubectl -n apigee get apigeeorg
    
    NAME                      STATE     AGE
    apigee-org1-xxxxx          running   2d
    
  9. 環境をインストールします。

    同時にインストールできる環境は 1 つだけです。--set env=ENV_NAME で環境を指定します。シェルで $ENV_NAME 環境変数を設定している場合は、次のコマンドで使用できます。

    ドライランを実行します。

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=$ENV_NAME \
      -f overrides.yaml \
      --dry-run
    

      ENV_RELEASE_NAME は、apigee-env チャートのインストールとアップグレードの追跡に使用される名前です。この名前は、インストール内の他の Helm リリース名とは一意である必要があります。通常、これは ENV_NAME と同じです。ただし、環境の名前が環境グループと同じ場合は、環境と環境グループに異なるリリース名(dev-env-releasedev-envgroup-release など)を使用する必要があります。Helm でのリリースの詳細については、Helm のドキュメントの3 つの大きなコンセプトをご覧ください。

    チャートをインストールします。

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=$ENV_NAME \
      -f overrides.yaml
    

    それぞれの環境の状態をチェックして、稼働していることを確認します。

    kubectl -n apigee get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d
    
  10. 環境グループ(virtualhosts)をインストールします。
    1. 一度にインストールできる環境グループ(virtualhost)は 1 つだけです。--set envgroup=ENV_GROUP を使用して環境グループを指定します。シェルで $ENV_GROUP 環境変数を設定している場合は、次のコマンドで使用できます。overrides.yaml ファイルに記載されている env グループそれぞれに対して、次のコマンドを繰り返します。

      ドライランを実行します。

      helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --atomic \
        --set envgroup=$ENV_GROUP \
        -f overrides.yaml \
        --dry-run
      

        ENV_GROUP_RELEASE_NAME は、apigee-virtualhosts チャートのインストールとアップグレードの追跡に使用される名前です。この名前は、インストール内の他の Helm リリース名とは一意である必要があります。通常、これは ENV_GROUP と同じです。ただし、環境グループの名前がインストール環境の環境と同じである場合は、環境グループと環境に異なるリリース名(dev-envgroup-releasedev-env-release など)を使用する必要があります。Helm でのリリースの詳細については、Helm のドキュメントの 3 つの大きなコンセプトをご覧ください。

      チャートをインストールします。

      helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --atomic \
        --set envgroup=$ENV_GROUP \
        -f overrides.yaml
      
    2. ApigeeRoute(AR)の状態を確認します。

      virtualhosts をインストールすると、ApigeeRouteConfig(ARC)が作成されます。これにより、Apigee ウォッチャーがコントロール プレーンから env グループ関連の詳細を pull した時点で、ApigeeRoute(AR)が内部で作成されます。このため、対応する AR の状態が実行中であることを確認します。

      kubectl -n apigee get arc
      
      NAME                                STATE   AGE
      apigee-org1-dev-egroup                       2d
      
      kubectl -n apigee get ar
      
      NAME                                        STATE     AGE
      apigee-org1-dev-egroup-xxxxxx                running   2d
      

次のステップ

Workload Identity を使用したインストール

GKE に Apigee ハイブリッドをインストールし、サービス アカウントを認証するように Workload Identity を構成する場合は、次のステップで、クラスタの Kubernetes サービス アカウントと Google サービス アカウント間の関連付けを構成します。

1 2 3 4 5 6 7 8 9 10 11 (次)ステップ 12: Workload Identity を設定する

その他のすべてのインストール

次のステップでは、Apigee Ingress ゲートウェイを構成し、プロキシをデプロイしてインストールをテストします。

(次)ステップ 1: Apigee ingress を公開する 2