構成のオーバーライドを指定する
Apigee ハイブリッド インストーラは、多くの設定でデフォルト値を使用しますが、デフォルト値がない設定もいくつかあります。その場合、次の値を指定する必要があります。
- 現在のディレクトリが
hybrid-base-directory/hybrid-files/overrides/
ディレクトリであることを確認します。cd hybrid-base-directory/hybrid-files/overrides
- 任意のテキスト エディタで、
overrides.yaml
という名前の新しいファイルを作成します。次に例を示します。vi overrides.yaml
overrides.yaml
は、独自の Apigee ハイブリッド インストール用の構成を提供します。このステップのオーバーライド ファイルは、小規模なフットプリントのハイブリッド ランタイム インストールの基本的な構成を提供します。これは、最初のインストールに適しています。 - 次のように、必須プロパティの値を
overrides.yaml
に追加します。以下では、各プロパティの詳細についても説明します。本番環境へのインストールについては、本番環境に Cassandra を構成するの Cassandra データベースのストレージ要件をご覧ください。
構文
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" # See the property description table below information about this parameter. 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 storage: capacity: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. 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-id-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 runtime: ./service-accounts/runtime-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-runtime.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 # Use the same service account 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 udca: serviceAccountPath: ./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 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: false # Set to false to disable logger for GKE installations. # Set to true for all platforms other than GKE. # See apigee-logger in Service accounts and roles used by hybrid components. 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 runtime: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-runtime.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 udca: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-watcher.json logger: enabled: false # Set to "false" for GKE. Set to "true" for all other kubernetes platforms. serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, logger-service-account-name.json
- 完了したらファイルを保存します。
次の表に、オーバーライド ファイルで指定する必要があるプロパティ値を示します。詳細については、構成プロパティのリファレンスをご覧ください。
変数 | 説明 |
---|---|
analytics-region | GKE では、この値は、クラスタが稼働しているリージョンと同じリージョンに設定する必要があります。その他のプラットフォームでは、Analytics をサポートするクラスタに最も近い分析リージョンを選択します(パート 1: ステップ 4: 組織を作成するの表を参照)。
これは、以前に環境変数 |
gcp-project-id | apigee-logger と apigee-metrics がデータを push する Google Cloud プロジェクトを指定します。この値は、環境変数 PROJECT_ID に割り当てられます。 |
cluster-name | Kubernetes クラスタ名。この値は、環境変数 CLUSTER_NAME に割り当てられます。 |
cluster-location | クラスタが実行されているリージョン。ステップ 1: クラスタを作成するでクラスタを作成したリージョンです。
以前に環境変数 |
org-name | Apigee ハイブリッド組織の ID。この値は、環境変数 ORG_NAME に割り当てられます。 |
unique-instance-identifier | クラスタごとに Apigee ハイブリッド インスタンスを識別するための一意の文字列。文字列は、文字と数字の組み合わせで 63 文字以下にする必要があります。
一意の ID を生成するのにサポートが必要な場合は、random.org/strings などの文字列生成ツールを使用できます。 |
environment-group-name | 環境が割り当てられている環境グループの名前。プロジェクトと組織の設定 - ステップ 5 環境グループを作成するで作成したグループです。この値は、環境変数 ENV_GROUP に割り当てられます。
|
cert-name key-name |
ステップ 6: TLS 証明書を作成するで生成した自己署名 TLS 鍵ファイルと証明書ファイルの名前を入力します。これらのファイルは、base_directory/hybrid-files/certs ディレクトリに配置する必要があります。次に例を示します。sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key |
environment-name | プロジェクトと組織の設定 - ステップ 5: 環境グループを作成するで説明したように、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 サービス アカウント キー ファイルの名前。 |
runtime-service-account-name | 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod )。本番環境の場合は、create-service-account ツールで生成した apigee-runtime サービス アカウント キー ファイルの名前。 |
mart-service-account-name | 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod )。本番環境の場合は、create-service-account ツールで生成した apigee-mart サービス アカウント キー ファイルの名前。 |
metrics-service-account-name | 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod )。本番環境の場合は、create-service-account ツールで生成した apigee-metrics サービス アカウント キー ファイルの名前。 |
udca-service-account-name | 非本番環境の場合は、デフォルトでは 1 つのサービス アカウントの名前(non-prod )。本番環境の場合は、create-service-account ツールで生成した apigee-udca サービス アカウント キー ファイルの名前。 |
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