ステップ 7: ハイブリッド ランタイムを構成する

構成のオーバーライドを指定する

Apigee ハイブリッド インストーラは、多くの設定でデフォルト値を使用しますが、デフォルト値がない設定もいくつかあります。その場合、次の値を指定する必要があります。

  1. 現在のディレクトリが hybrid-base-directory/hybrid-files/overrides/ ディレクトリであることを確認します。
    cd hybrid-base-directory/hybrid-files/overrides
  2. 任意のテキスト エディタで、overrides.yaml という名前の新しいファイルを作成します。次に例を示します。
    vi overrides.yaml

    overrides.yaml は、独自の Apigee ハイブリッド インストール用の構成を提供します。このステップのオーバーライド ファイルは、小規模なフットプリントのハイブリッド ランタイム インストールの基本的な構成を提供します。これは、最初のインストールに適しています。

  3. 次のように、必須プロパティの値を overrides.yaml に追加します。以下には、各プロパティの詳細な説明も記載されています。

    構文

    overrides.yaml ファイルが以下の構造と構文になっていることを確認します。red, bold italics の値は、指定する必要があるプロパティ値です。詳しくは次の表をご覧ください。

    Google Cloud プロジェクトのリージョンと Kubernetes クラスタのリージョンでは、それぞれのプラットフォーム間で差異があります。Apigee ハイブリッドをインストールするプラットフォームを選択してください。

    gcp:
      region: analytics-region
      projectID: gcp-project-id
    
    k8sCluster:
      name: cluster-name
      region: cluster-location # Must be the closest Google Cloud region to your cluster.
    org: org-name
    
    instanceID: "unique-instance-identifier"
      
    cassandra:
      hostNetwork: false
        # Set to false for single region installations and multi-region installations
        # with connectivity between pods in different clusters, for example GKE installations.
        # Set to true  for multi-region installations with no communication between
        # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal,
        # AKS, EKS, and OpenShift installations.
        # See Multi-region deployment: Prerequisites
    
    virtualhosts:
      - name: environment-group-name
        sslCertPath: ./certs/cert-name.pem
        sslKeyPath: ./certs/key-name.key
    
    envs:
      - name: environment-name
        serviceAccountPaths:
          synchronizer: ./service-accounts/synchronizer-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-apigee-synchronizer.json
          udca: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
    
    mart:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
      # Same account used for mart and connectAgent
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-metrics.json
    
    watcher:
      serviceAccountPath: ./service-accounts/watcher-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-watcher.json
    
    logger:
      enabled: true # set to "false" for GKE.
      serviceAccountPath: ./service-accounts/logger-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-logger.json
    
    

    以下の例は、サンプル プロパティの値が追加された完成後のオーバーライド ファイルを示しています。

    gcp:
      region: us-central1
      projectID: hybrid-example
    
    k8sCluster:
      name: apigee-hybrid
      region: us-central1
    
    org: hybrid-example
    
    instanceID: "my_hybrid_example"
      
    cassandra:
      hostNetwork: false
    
    virtualhosts:
      - name: example-env-group
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-udca.json
    
    mart:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, example-hybrid-apigee-mart.json
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-metrics.json
    
    watcher:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-watcher.json
    
    logger:
      enabled: true # set to "false" for GKE.
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, logger-service-account-name.json
    
    
  4. 完了したらファイルを保存します。

次の表に、オーバーライド ファイルで指定する必要があるプロパティ値を示します。詳細については、構成プロパティのリファレンスをご覧ください。

変数 説明
analytics-region GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、Analytics をサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 4: 組織を作成するの表を参照)。

これは、以前に環境変数 ANALYTICS_REGION に割り当てた値です。

gcp-project-id apigee-loggerapigee-metrics がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数 PROJECT_ID に割り当てられます。
cluster-name Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME に割り当てられます。
cluster-location クラスタが実行されているリージョン。ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。

以前に環境変数 CLUSTER_LOCATION に割り当てた値です。

org-name Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME に割り当てられます。
unique-instance-identifier

このインスタンスを識別する一意の文字列。任意の文字と数字の組み合わせで、長さは 63 文字以下にする必要があります。

同じクラスタ内に複数の組織を作成できますが、instanceId は同じ Kubernetes クラスタ内のすべての組織で同じにする必要があります。
environment-group-name 環境が割り当てられている環境グループの名前。これは、プロジェクトと組織の設定 - ステップ 6: 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP に割り当てられます。
cert-name
key-name
ステップ 6: TLS 証明書を作成するで生成した自己署名 TLS 鍵ファイルと証明書ファイルの名前を入力します。これらのファイルは、base_directory/hybrid-files/certs ディレクトリに配置する必要があります。次に例を示します。
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
environment-name プロジェクトと組織の設定 - ステップ 6: 環境グループを作成するで説明したように、UI で環境を作成したときに使用した名前を使用します。
synchronizer-service-account-name 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod)。本番環境の場合は、ハイブリッド ランタイムの設定 - ステップ 6: サービス アカウントと認証情報を作成するcreate-service-account ツールを使用して生成した apigee-synchronizer サービス アカウント キー ファイル。サービス アカウント ファイルの一覧は service-accounts/ ディレクトリで確認できます。次に例を示します。
ls ../service-accounts/
udca-service-account-name 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod)。本番環境の場合は、create-service-account ツールで生成した apigee-udca サービス アカウント キー ファイルの名前。
mart-service-account-name 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod)。本番環境の場合は、create-service-account ツールで生成した apigee-mart サービス アカウント キー ファイルの名前。
metrics-service-account-name 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod)。本番環境の場合は、create-service-account ツールで生成した apigee-metrics サービス アカウント キー ファイルの名前。
watcher-service-account-name 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod)。本番環境の場合は、create-service-account ツールで生成した apigee-watcher サービス アカウント キー ファイルの名前。
logger-service-account-name 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod)。本番環境の場合は、create-service-account ツールで生成した apigee-logger サービス アカウント キー ファイルの名前。

まとめ

構成ファイルを使用して、ハイブリッド コンポーネントをクラスタにデプロイする方法を Kubernetes に指示します。次のステップでは、Apigee ランタイムと管理プレーンが通信できるように Synchronizer アクセスを有効にします。

1 2 3 4 5 6 7 (次)ステップ 8: Synchronizer アクセスを有効にする 9