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. Execute the init command with the
--dry-run flag. Doing a dry run lets you check for any errors before any
changes are made to the cluster.
In hybrid version 1.5.10, the syntax of the --dry-run
flag depends on the version of kubectl you are running. Check the version of
kubectl with the following command:
[[["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 pertains to Apigee hybrid version 1.5, which is end-of-life, and users should upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eInstallation of Apigee hybrid requires navigating to the \u003ccode\u003ehybrid-base-directory\u003c/code\u003e/\u003ccode\u003ehybrid-files\u003c/code\u003e directory and ensuring \u003ccode\u003ekubectl\u003c/code\u003e is set to the correct context for the target cluster.\u003c/p\u003e\n"],["\u003cp\u003ePrior to full execution, it is advised to perform a dry run of both the \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003eapply\u003c/code\u003e commands, with the syntax of the \u003ccode\u003e--dry-run\u003c/code\u003e flag depending on the version of \u003ccode\u003ekubectl\u003c/code\u003e being used.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003einit\u003c/code\u003e command installs the Apigee Deployment Controller and Apigee Admission Webhook, and after which you should apply the Apigee-specific runtime components using the \u003ccode\u003eapply\u003c/code\u003e command.\u003c/p\u003e\n"],["\u003cp\u003eDeployment status can be monitored using \u003ccode\u003e$APIGEECTL_HOME/apigeectl check-ready\u003c/code\u003e and \u003ccode\u003ekubectl get pods\u003c/code\u003e commands, and the installation is considered complete when all pods are ready.\u003c/p\u003e\n"]]],[],null,["# Step 9: Install hybrid runtime\n\n| You are currently viewing version 1.5 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. Execute the `init` command with the `--dry-run` flag. Doing a dry run lets you check for any errors before any changes are made to the cluster.\n\n\n In hybrid version 1.5.10, the syntax of the `--dry-run`\n flag depends on the version of `kubectl` you are running. Check the version of\n `kubectl` with the following command: \n\n ```\n kubectl version\n ```\n\n\n `kubectl` version 1.17 and older: \n\n ```\n $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true\n ```\n\n\n `kubectl` version 1.18 and newer: \n\n ```\n $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client\n ```\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.5/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 `kubectl` version 1.17 and older: \n\n ```\n $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true\n ```\n\n\n `kubectl` version 1.18 and newer: \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.5/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."]]