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.6 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.6.
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 covers the installation of Apigee hybrid version 1.6, which is now end-of-life and requires an upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eThe installation process involves using \u003ccode\u003eapigeectl\u003c/code\u003e commands within the \u003ccode\u003ehybrid-base-directory/hybrid-files\u003c/code\u003e directory to initialize and apply configurations.\u003c/p\u003e\n"],["\u003cp\u003eBefore making changes, a dry run of the initialization (\u003ccode\u003einit\u003c/code\u003e) and the application (\u003ccode\u003eapply\u003c/code\u003e) commands are advised to check for potential errors.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003einit\u003c/code\u003e command installs the Apigee Deployment Controller and Apigee Admission Webhook, while the \u003ccode\u003eapply\u003c/code\u003e command installs Apigee-specific runtime components.\u003c/p\u003e\n"],["\u003cp\u003eAfter initialization and applying the configurations, it's important to monitor the deployment status by checking if all pods are ready using \u003ccode\u003eapigeectl check-ready\u003c/code\u003e and \u003ccode\u003ekubectl get pods\u003c/code\u003e commands.\u003c/p\u003e\n"]]],[],null,["# Step 9: Install hybrid runtime\n\n| You are currently viewing version 1.6 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.6 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.6.\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.6/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.6/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."]]