Use the following steps to install Apigee hybrid into your cluster:
Be sure that you are in the hybrid-base-directory/hybrid-files directory.
cd $HYBRID_FILES
Verify that kubectl is set to the correct context using the following command.
The current context should be set to the cluster to which you are deploying Apigee hybrid.
kubectl config get-contexts | grep \*
For Anthos on bare metal, AWS on GKE, EKS, and GKE on prem platforms only, Verify
that the KUBECONFIG variable is set using the following command.
echo ${KUBECONFIG}
Do a dry run initialization. Doing a dry run lets you check for any errors before any
changes are made to the cluster. Execute the init command with
the --dry-run flag as follows:
Note: Apigee hybrid 1.8 supports kubectl
version 1.21 and newer. If you are installing an older version of hybrid
and using kubectl version 1.8 or older the syntax for the
--dry-run flag will be --dry-run=true. You will
need to update your kubectl to version 1.21 or newer before
installing Apigee hybrid 1.8.
If there are no errors, execute the init command as follows:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[[["\u003cp\u003eThis documentation refers to Apigee hybrid version 1.8, which is now end-of-life and requires an upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eInstalling Apigee hybrid involves navigating to the \u003ccode\u003e<var translate="no">hybrid-base-directory</var>\u003c/code\u003e \u003ccode\u003e/hybrid-files\u003c/code\u003e directory and executing commands from there, as the overrides file uses relative paths.\u003c/p\u003e\n"],["\u003cp\u003eBefore applying changes, users should perform dry runs of the \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003eapply\u003c/code\u003e commands to identify potential errors without altering the cluster.\u003c/p\u003e\n"],["\u003cp\u003eThe installation process uses \u003ccode\u003eapigeectl\u003c/code\u003e commands to initialize and apply configurations, followed by checking pod readiness with \u003ccode\u003ekubectl\u003c/code\u003e commands.\u003c/p\u003e\n"],["\u003cp\u003eAfter successfully applying configurations, Apigee-specific runtime components are installed, and the user is prompted to expose Apigee ingress as the next step.\u003c/p\u003e\n"]]],[],null,["# Step 8: Install hybrid runtime\n\n| You are currently viewing version 1.8 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\nApply the configuration to the cluster\n--------------------------------------\n\n\nUse the following steps to install Apigee hybrid into your cluster:\n\n1. Be sure that you are in the \u003cvar translate=\"no\"\u003ehybrid-base-directory\u003c/var\u003e`/hybrid-files` directory. \n\n ```\n cd $HYBRID_FILES\n ```\n | **Note:** Because the overrides file specifies service account files using paths relative to your \u003cvar translate=\"no\"\u003ehybrid-base-directory\u003c/var\u003e`/hybrid-files` directory, you must execute the commands from within that directory.\n2. Verify that `kubectl` is set to the correct context using the following command. The current context should be set to the cluster to which you are deploying Apigee hybrid. \n\n ```\n kubectl config get-contexts | grep \\*\n ```\n3. *For **Anthos on bare metal** , **AWS on GKE** , **EKS** , and **GKE on prem** platforms only* , Verify that the `KUBECONFIG` variable is set using the following command. \n\n ```\n echo ${KUBECONFIG}\n ```\n4. Do a *dry run* initialization. Doing a dry run lets you check for any errors before any changes are made to the cluster. Execute the `init` command with the `--dry-run` flag as follows: \n\n ```\n ${APIGEECTL_HOME}/apigeectl init -f overrides/overrides.yaml --dry-run=client\n ```\n **Note:** Apigee hybrid 1.8 supports `kubectl` version 1.21 and newer. If you are installing an older version of hybrid and using `kubectl` version 1.8 or older the syntax for the `--dry-run` flag will be `--dry-run=true`. You will need to update your `kubectl` to version 1.21 or newer before installing Apigee hybrid 1.8.\n5. If there are no errors, execute the `init` command as follows: \n\n ```\n ${APIGEECTL_HOME}/apigeectl init -f overrides/overrides.yaml\n ```\n\n The `init` command installs the [Apigee deployment\n services](/apigee/docs/hybrid/v1.8/apigee-deployment-services) Apigee Deployment Controller and Apigee Admission Webhook.\n6. To check the status of the deployment, you can use the following commands: \n\n ```\n ${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml\n ``` \n\n ```\n kubectl get pods -n apigee-system\n ``` \n\n ```\n kubectl get pods -n apigee\n ```\n\n\n When the pods are ready, go to the next step.\n7. Do a *dry run* install. Execute the `apply` command with the `--dry-run` flag. \n\n ```\n ${APIGEECTL_HOME}/apigeectl apply -f overrides/overrides.yaml --dry-run=client\n ```\n8. If there are no errors, you can apply the [Apigee-specific runtime components](/apigee/docs/hybrid/v1.8/what-is-hybrid#about-the-runtime-plane) to the cluster with the following command: \n\n ```\n ${APIGEECTL_HOME}/apigeectl apply -f overrides/overrides.yaml\n ```\n9. To check the status of the deployment, run the following command: \n\n ```\n ${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml\n ```\n\n\n Repeat this step until the pods are all ready. The pods may take several minutes to start up.\n\n| **Congratulations!**\n|\n| You've successfully installed and configured the Apigee hybrid runtime plane. Now it's time\n| to connect it to the outside world.\n[1](/apigee/docs/hybrid/v1.8/install-create-cluster) [2](/apigee/docs/hybrid/v1.8/install-cert-manager) [3](/apigee/docs/hybrid/v1.8/install-apigeectl) [4](/apigee/docs/hybrid/v1.8/install-service-accounts) [5](/apigee/docs/hybrid/v1.8/install-create-tls-certificates) [6](/apigee/docs/hybrid/v1.8/install-configure-cluster) [7](/apigee/docs/hybrid/v1.8/install-enable-synchronizer-access) [8](/apigee/docs/hybrid/v1.8/install-hybrid-runtime) [(NEXT) Step 9: Expose Apigee ingress](/apigee/docs/hybrid/v1.8/install-expose-apigee-ingress) [10](/apigee/docs/hybrid/v1.8/install-deploy-proxy)\n\n\u003cbr /\u003e"]]