ステップ 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: ハイブリッド ランタイムをインストールする