Specify configuration overrides
The Apigee hybrid installer uses defaults for many settings; however, there are a few settings that do not have defaults. You must provide values for these settings, as explained next.
- Be sure you are in the
- Create a new file named
overrides.yamlin your favorite text editor. For example:
overrides.yamlprovides the configuration for your unique Apigee hybrid installation. The overrides file in this step provides a basic configuration for a small-footprint hybrid runtime installation, suitable for your first installation.
overrides.yaml, add the required property values, shown below. A detailed description of each property is also provided below:
Make sure the
overrides.yamlfile has the following structure and syntax. Values in red, bold italics are property values that you must provide. They are described in the table below.
There are differences between the different platforms for the Google Cloud project region and Kubernetes cluster region. Choose the platform where you are installing Apigee hybrid.
gcp: region: analytics-region projectID: gcp-project-id k8sCluster: name: cluster-name region: analytics-region # Must be the closest Google Cloud region to your cluster org: org-name instanceID: "unique-instance-identifier" cassandra: hostNetwork: false #Set this to `true` for GKE On-prem installations. 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 udca: ./service-accounts/udca-service-account-name.json mart: serviceAccountPath: ./service-accounts/mart-service-account-name.json connectAgent: serviceAccountPath: ./service-accounts/mart-service-account-name.json # Same account used for mart and connectAgent metrics: serviceAccountPath: ./service-accounts/metrics-service-account-name.json watcher: serviceAccountPath: ./service-accounts/watcher-service-account-name.json logger: enabled: true # set to "false" for GKE. serviceAccountPath: ./service-accounts/logger-service-account-name.json
The following example shows a completed overrides file with example property values added:
gcp: region: us-central1 projectID: hybrid-example k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example instanceID: "my_hybrid_example" cassandra: hostNetwork: false # Set this to: # false for GKE installations. # true for GKE On-prem GKE on AWS, Anthos on bare metal, # AKS, EKS, and OpenShift installations. virtualhosts: - name: example-env-group sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key envs: - name: test serviceAccountPaths: synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json udca: ./service-accounts/hybrid-project-apigee-udca.json mart: serviceAccountPath: ./service-accounts/hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/example-hybrid-apigee-mart.json metrics: serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json watcher: serviceAccountPath: ./service-accounts/hybrid-project-apigee-watcher.json logger: enabled: true # set to "false" for GKE. serviceAccountPath: ./service-accounts/logger-service-account-name.json
- When you are finished, save the file.
The following table describes each of the property values that you must provide in the overrides file. For more information, see Configuration property reference.
|analytics-region||In GKE, You must set this value to the same region where the cluster is running. In all
other platforms, select the closest analytics region to your cluster that has Analytics
support (see the table in
Part 1, Step 4: Create an organization.
This is the value you assigned to the environment variable
|gcp-project-id||Identifies the Google Cloud project where the
|cluster-name||Your Kubernetes cluster name. This is the value assigned to the environment variable
|org-name||The ID of your Apigee hybrid organization. This is the value assigned to the environment
A unique string to identify this instance. This can be any combination of letters and numbers up to 63 characters in length.You can create multiple organizations in the same cluster, but the
|environment-group-name||The name of the environment group your environments are assigned to. This is the group
you created in Project and org setup - Step 6: Create an environment group.
This is the value assigned to the environment variable
|Enter the name of the self-signed TLS key and certificate files that you generated previously in
Step 3: Install apigeectl.
These files must be located in
sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key
|environment-name||Use the same name that you used when you created an environment in the UI, as explained in Project and org setup - Step 6: Create an environment group.|
|synchronizer-service-account-name||The name of the
|udca-service-account-name||The name of the
|mart-service-account-name||The name of the
|metrics-service-account-name||The name of the
|watcher-service-account-name||The name of the
|logger-service-account-name||The name of the
The configuration file tells Kubernetes how to deploy the hybrid components to a cluster. Next, you will apply this configuration to your cluster.