ステップ 3: GKE On-Prem ユーザー クラスタを構成する

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

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

  1. hybrid-base-directory/hybrid-files ディレクトリに移動します。
  2. overrides-small.yaml ファイルを $APIGEECTL_HOME/examples ディレクトリから overrides ディレクトリにコピーします。
    cp $APIGEECTL_HOME/examples/overrides-small.yaml ./overrides/overrides.yaml

    このサンプル ファイルは、省スペース型のハイブリッド ランタイム インストール用の基本構成を提供します。この構成は最初のインストールに適しています。

  3. cd コマンドで overrides ディレクトリに移動します。
  4. cd overrides
  5. overrides.yaml を開いて、以下に示す必須のプロパティ値を追加します。各プロパティの詳細な説明も記載しています。

    構文

    overrides.yaml ファイルの構造と構文は次のとおりです。red, bold italics の値は、指定する必要があるプロパティ値です。これらについても以下の表で説明しています。

    gcp:
      region: gcp-region
      projectID: gcp-project-id
    
    k8sCluster:
      name: cluster-name
      region: cluster-region
    
    org: org-name
    
    virtualhosts:
      - name: virtual-host-name
        hostAliases:
          - "host-alias-1"
          - "host-alias-2"
          - "host-alias-n"
        sslCertPath: ./certs/test-cert-name.pem
        sslKeyPath: ./certs/test-key-name.key
        routingRules:
          - paths:
            - /path1
            - /path2
            - /pathn
            env: environment-name
    
    envs:
      - name: environment-name          # The same name of the env you created in the UI
        serviceAccountPaths:
          synchronizer: ./service-accounts/synchronizer-service-account-name.json
          udca: ./service-accounts/udca-service-account-name.json
    
    mart:
      hostAlias: mart-host-alias
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
      sslCertPath: ./certs/mart-cert-name.pem
      sslKeyPath: ./certs/mart-key-name.key
    
    cassandra:
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
    
    ingress:
      runtime:
        loadBalancerIP: virtual_IP_runtime
      mart:
        loadBalancerIP: virtual_IP_mart
    
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
    
    logger:
      enabled: false

    次の例は、プロパティ値が追加された完全なオーバーライド ファイルです。

    gcp:
      region: us-central1
      projectID: my-gcp-project
    
    k8sCluster:
      name: apigee-hybrid
      region: us-central1
    
    org: hybrid-org
    
    virtualhosts:
      - name: default
        hostAliases:
          - "*.acme.com"
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
        routingRules:
          - paths:
            - /foo
            - /bar
            env: test
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-udca.json
    
    mart:
      hostAlias: "mart.apigee-hybrid-docs.net"
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-mart.json
      sslCertPath: ./certs/fullchain.pem
      sslKeyPath: ./certs/privkey.key
    
    cassandra:
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
    
    ingress:
      runtime:
        loadBalancerIP: 21.0.124.13
      mart:
        loadBalancerIP: 21.0.124.14
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json
    
    logger:
      enabled: false
  6. 完了したら、ファイルを保存します。

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

変数 説明
project-id GCP プロジェクトの ID。
cluster-name Kubernetes クラスタ名。
cluster-region クラスタが作成されたリージョン
org-name Apigee ハイブリッド組織の名前。
environment-name ステップ 5: ハイブリッド UI で新しい環境を追加するの説明に従って、UI で環境を作成したときと同じ名前を使用します。
test-host-alias

(必須)クイックスタートでは、ワイルドカード文字「*」を使用します。

*」の使用は、自己署名 TLS 認証情報を使用する場合の試用版インストールでのみ推奨されます。後で、より複雑な Apigee ハイブリッド構成を開発する場合は(複数の環境の作成など)、この値に完全修飾ドメイン名を使用する必要があります。

test-cert-name
test-key-name
前にランタイム ゲートウェイ用の TLS 認証情報を作成するの手順で生成した自己署名 TLS 鍵および証明書ファイルの名前を入力します。これらのファイルは、base_directory/hybrid-files/certs ディレクトリに配置する必要があります。次に例を示します。
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
synchronizer-service-account-name create-service-account ツールで生成した Synchronizer サービス アカウント キー ファイルの名前。次に例を示します。
synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json
udca-service-account-name create-service-account ツールで生成した udca サービス アカウント キー ファイルの名前。例:
udca: ./service-accounts/hybrid-project-apigee-udca.json
virtual_IP_runtime,
virtual_IP_mart
GKE on-prem 統合負荷分散を使用するには、ハイブリッド MART サービスとランタイム サービスで LoadBalancer の仮想 IP を指定する必要があります。 GKE on-prem では、F5 BIG-IP ロードバランサの仮想 IP が自動的に構成されます。詳細については、GKE On-Prem のロードバランサの設定をご覧ください。
mart-host-alias MART サーバー エンドポイントの修飾 DNS 名。この名前は、この構成に必要な承認済み TLS 証明書で使用される共通名(CN)と一致する必要があります。例: mart.mydomain.com
mart-service-account-name create-service-account ツールで生成した mart サービス アカウント キー ファイルの名前。
mart-cert-name
mart-key-name
前に MART ゲートウェイ用の TLS 認証情報を作成するの手順で生成した承認済み TLS 鍵および証明書ファイルの名前を入力します。これらのファイルは、base_directory/hybrid-files/certs ディレクトリに配置する必要があります。次に例を示します。
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.key
gcp-region apigee-loggerapigee-metrics がデータを push する GCP のリージョンを識別します。
gcp-project-id apigee-loggerapigee-metrics でデータを push する Google Cloud プロジェクトを識別します。
metrics-service-account-name create-service-account ツールで生成した metrics サービス アカウント キー ファイルの名前。例:
serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json

まとめ

構成ファイルにより、ハイブリッド コンポーネントをクラスタにデプロイする方法が Kubernetes に指示されます。次は、この構成をクラスタに適用します。

1 2 3 (次)ステップ 4: ハイブリッド ランタイムをインストールする