gcp:
region: analytics-region
projectID: gcp-project-id
k8sCluster:
name: cluster-name
region: cluster-region # Must be the same region where the cluster is running.
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
serviceAccountPath: ./service-accounts/logger-service-account-name.json
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-26。"],[[["\u003cp\u003eThis documentation outlines the process of setting up configuration overrides for an Apigee hybrid installation, which requires creating an \u003ccode\u003eoverrides.yaml\u003c/code\u003e file in the specified directory.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eoverrides.yaml\u003c/code\u003e file requires specific property values related to GCP, Kubernetes cluster details, organization specifics, and service account paths for various Apigee components, such as synchronizer, UDCA, mart, metrics, watcher, and logger.\u003c/p\u003e\n"],["\u003cp\u003eSeveral essential property values in \u003ccode\u003eoverrides.yaml\u003c/code\u003e need to match previously set environment variables, such as the analytics region, GCP project ID, cluster name, and organization name.\u003c/p\u003e\n"],["\u003cp\u003eEach service account (synchronizer, UDCA, mart, etc.) needs its unique service account key file generated and referenced in the \u003ccode\u003eoverrides.yaml\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe instance ID must be unique and consistent across all organizations in the same Kubernetes cluster, while environment group configurations must be included in the overrides file for each cluster instance when using multiple regions.\u003c/p\u003e\n"]]],[],null,["# Step 4: Configure the cluster\n\n| You are currently viewing version 1.3 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\nSpecify configuration overrides\n-------------------------------\n\n\nThe Apigee hybrid installer uses defaults for many settings; however, there are a few settings\nthat do not have defaults. You must provide values for these settings, as explained next.\n\n1. Be sure you are in the \u003cvar translate=\"no\"\u003ehybrid-base-directory\u003c/var\u003e`/hybrid-files/overrides/` directory. \n\n ```\n cd hybrid-base-directory/hybrid-files/overrides\n ```\n2. Create a new file named **\u003cvar translate=\"no\"\u003eoverrides\u003c/var\u003e`.yaml`** in your favorite text editor. For example: \n\n ```\n vi overrides.yaml\n ```\n\n\n The \u003cvar translate=\"no\"\u003eoverrides\u003c/var\u003e`.yaml` provides the configuration for your unique Apigee hybrid\n installation. The overrides file in this step provides a basic configuration for a small-footprint\n hybrid runtime installation, suitable for your first installation.\n3. In \u003cvar translate=\"no\"\u003eoverrides\u003c/var\u003e`.yaml`, add the required property values, shown below. A detailed description of each property is also provided below: \n\n ### Syntax\n\n Make sure the \u003cvar translate=\"no\"\u003eoverrides\u003c/var\u003e`.yaml` file has the following structure and syntax.\n Values in \u003cvar translate=\"no\"\u003ered, bold italics\u003c/var\u003e are\n property values that you must provide. They are described in the [table below](#tablebelow). \n\n ```\n\n gcp:\n region: analytics-region\n projectID: gcp-project-id\n\n k8sCluster:\n name: cluster-name\n region: cluster-region # Must be the same region where the cluster is running.\n\n org: org-name\n\n instanceID: \"unique-instance-identifier\"\n\n cassandra:\n hostNetwork: false #Set this to `true` for GKE-On-prem installations.\n\n virtualhosts:\n - name: environment-group-name\n sslCertPath: ./certs/cert-name.pem\n sslKeyPath: ./certs/key-name.key\n\n envs:\n - name: environment-name\n serviceAccountPaths:\n synchronizer: ./service-accounts/synchronizer-service-account-name.json\n udca: ./service-accounts/udca-service-account-name.json\n\n mart:\n serviceAccountPath: ./service-accounts/mart-service-account-name.json\n\n connectAgent:\n serviceAccountPath: ./service-accounts/mart-service-account-name.json\n # Same account used for mart and connectAgent\n\n metrics:\n serviceAccountPath: ./service-accounts/metrics-service-account-name.json\n\n watcher:\n serviceAccountPath: ./service-accounts/watcher-service-account-name.json\n\n logger:\n enabled: true\n serviceAccountPath: ./service-accounts/logger-service-account-name.json\n ```\n\n ### Example\n\n The following example shows a completed overrides file with example property values\n added: \n\n ```\n gcp:\n region: us-central1\n projectID: hybrid-example\n\n k8sCluster:\n name: apigee-hybrid\n region: us-central1\n\n org: hybrid-example\n\n instanceID: \"my_hybrid_example\"\n\n cassandra:\n hostNetwork: false #Set this to `true` for GKE-On Prem installations.\n\n virtualhosts:\n - name: example-env-group\n sslCertPath: ./certs/keystore.pem\n sslKeyPath: ./certs/keystore.key\n\n envs:\n - name: test\n serviceAccountPaths:\n synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json\n udca: ./service-accounts/hybrid-project-apigee-udca.json\n\n mart:\n serviceAccountPath: ./service-accounts/hybrid-project-apigee-mart.json\n\n connectAgent:\n serviceAccountPath: ./service-accounts/example-hybrid-apigee-mart.json\n\n metrics:\n serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json\n\n watcher:\n serviceAccountPath: ./service-accounts/hybrid-project-apigee-watcher.json\n\n logger:\n enabled: true\n serviceAccountPath: ./service-accounts/logger-service-account-name.json\n\n ```\n4. When you are finished, save the file.\n\n\nThe following table describes each of the property values that you must provide in the\noverrides file. For more information, see\n[Configuration property reference](/apigee/docs/hybrid/v1.3/config-prop-ref).\n\n| **Note:** If you want to create a security perimeter around your cluster and related Cloud services, you can configure one using Google Cloud [Virtual Private Cloud (VPC) Service\n| Controls](https://cloud.google.com/vpc-service-controls) with Apigee hybrid. See [Using\n| VPC Service Controls with Apigee and Apigee hybrid](/apigee/docs/api-platform/security/vpc-sc) for instructions.\n\nSummary\n-------\n\n\nThe configuration file tells Kubernetes how to deploy the hybrid components to\na cluster. Next, you will apply this configuration to your cluster.\n[1](/apigee/docs/hybrid/v1.3/install-create-cluster) [2](/apigee/docs/hybrid/v1.3/install-download-cert-manager-istio) [3](/apigee/docs/hybrid/v1.3/install-download-install) [4](/apigee/docs/hybrid/v1.3/install-copy-overrides) [(NEXT) Step 5: Install hybrid runtime](/apigee/docs/hybrid/v1.3/install-apply-hybrid)\n\n\u003cbr /\u003e"]]