Use the following steps to install Apigee hybrid into your cluster:
Be sure that you are in the hybrid-base-directory/hybrid-files directory.
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.7 supports kubectl
version 1.21 and newer. If you are installing an older version of hybrid
and using kubectl version 1.7 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.7.
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.7, which is no longer supported and requires an upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eInstalling Apigee hybrid involves first initializing the deployment services and then applying the Apigee-specific runtime components to the cluster.\u003c/p\u003e\n"],["\u003cp\u003eA dry run is recommended before both initialization and application to identify potential errors without making any changes.\u003c/p\u003e\n"],["\u003cp\u003eThe status of the deployment can be monitored by using the \u003ccode\u003eapigeectl check-ready\u003c/code\u003e command and by checking the pod status in both the \u003ccode\u003eapigee-system\u003c/code\u003e and \u003ccode\u003eistio-system\u003c/code\u003e namespaces.\u003c/p\u003e\n"]]],[],null,["# Step 9: Install hybrid runtime\n\n| You are currently viewing version 1.7 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.\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.7 supports `kubectl` version 1.21 and newer. If you are installing an older version of hybrid and using `kubectl` version 1.7 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.7.\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.7/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 istio-system\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.7/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 Apigee hybrid. You are now ready to test\n| it."]]