This step explains how to install the Custom Resource Definitions (CRDs) for Apigee hybrid.
Install the Apigee CRDs:
If you are installing Apigee Hybrid into a different namespace than the default (apigee),
edit apigee-operator/etc/crds/default/kustomization.yaml and change the namespace to match:
namespace: APIGEE_NAMESPACE
For example:
namespace: my-namespace
Perform a dry-run of the installation by running
the following command:
You have now installed the structure for Apigee hybrid. Next you will check the readiness of
your Kubernetes cluster before installing the Apigee Helm charts.
[[["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-29 UTC."],[[["\u003cp\u003eThis process outlines the only supported method for installing Apigee Custom Resource Definitions (CRDs), emphasizing the use of \u003ccode\u003ekubectl apply\u003c/code\u003e with \u003ccode\u003e-k\u003c/code\u003e and \u003ccode\u003e--server-side\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eBefore installing, you must execute a dry-run of the installation using the \u003ccode\u003ekubectl apply\u003c/code\u003e command with the \u003ccode\u003e--dry-run=server\u003c/code\u003e flag to preview the changes.\u003c/p\u003e\n"],["\u003cp\u003eAfter the dry-run, the actual installation of the Apigee CRDs is done by running the same \u003ccode\u003ekubectl apply\u003c/code\u003e command without the \u003ccode\u003e--dry-run\u003c/code\u003e flag.\u003c/p\u003e\n"],["\u003cp\u003eVerify that the Apigee CRDs have been installed successfully by running \u003ccode\u003ekubectl get crds | grep apigee\u003c/code\u003e, and checking for the output list of all apigee CRDs.\u003c/p\u003e\n"],["\u003cp\u003eAll commands from here on should be run in the \u003ccode\u003e$APIGEE_HELM_CHARTS_HOME\u003c/code\u003e directory and requires elevated cluster permissions to run.\u003c/p\u003e\n"]]],[],null,["# Step 9: Install the Apigee hybrid CRDs\n\n| You are currently viewing version 1.14 of the Apigee hybrid documentation. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\nThis step explains how to install the Custom Resource Definitions (CRDs) for Apigee hybrid.\n\nInstall the Apigee CRDs:\n------------------------\n\n| **Note:** From this step onwards, all commands should be run from `$APIGEE_HELM_CHARTS_HOME` directory.\n| **Note:** This is the only supported method for installing Apigee CRDs. Do not use `kubectl apply` without `-k`, do not omit `--server-side`.\n| **Note:** This step requires elevated cluster permissions.\n\n1.\n If you are installing Apigee Hybrid into a different namespace than the default (`apigee`),\n edit `apigee-operator/etc/crds/default/kustomization.yaml` and change the namespace to match:\n\n ```\n namespace: APIGEE_NAMESPACE\n ```\n\n \u003cbr /\u003e\n\n\n For example: \n\n ```\n namespace: my-namespace\n ```\n\n \u003cbr /\u003e\n\n2. Perform a dry-run of the installation by running\n the following command:\n\n ```\n kubectl apply -k apigee-operator/etc/crds/default/ \\\n --server-side \\\n --force-conflicts \\\n --validate=false \\\n --dry-run=server\n ```\n3. After checking the installation with `--dry-run`, install the Apigee CRDs with\n the following command:\n\n ```\n kubectl apply -k apigee-operator/etc/crds/default/ \\\n --server-side \\\n --force-conflicts \\\n --validate=false\n ```\n4. Validate the installation with the `kubectl get crds` command: \n\n ```\n kubectl get crds | grep apigee\n ```\n\n Your output should look something like the following: \n\n ```\n apigeedatastores.apigee.cloud.google.com 2024-12-16T19:44:48Z\n apigeedeployments.apigee.cloud.google.com 2024-12-16T19:44:49Z\n apigeeenvironments.apigee.cloud.google.com 2024-12-16T19:44:50Z\n apigeeissues.apigee.cloud.google.com 2024-12-16T19:44:52Z\n apigeeorganizations.apigee.cloud.google.com 2024-12-16T19:44:53Z\n apigeeredis.apigee.cloud.google.com 2024-12-16T19:44:55Z\n apigeerouteconfigs.apigee.cloud.google.com 2024-12-16T19:44:56Z\n apigeeroutes.apigee.cloud.google.com 2024-12-16T19:44:56Z\n apigeetelemetries.apigee.cloud.google.com 2024-12-16T19:44:58Z\n cassandradatareplications.apigee.cloud.google.com 2024-12-16T19:45:00Z\n secretrotations.apigee.cloud.google.com 2024-12-16T19:45:00Z\n ```\n\n| **Note:** You may see warnings about deprecated terms. This will not impact the installation of the Apigee hybrid CRDs.\n\n\nYou have now installed the structure for Apigee hybrid. Next you will check the readiness of\nyour Kubernetes cluster before installing the Apigee Helm charts.\n\n\nNext step\n---------\n\n\u003cbr /\u003e\n\n[1](/apigee/docs/hybrid/v1.14/install-create-cluster) [2](/apigee/docs/hybrid/v1.14/install-download-charts) [3](/apigee/docs/hybrid/v1.14/install-create-namespace) [4](/apigee/docs/hybrid/v1.14/install-service-accounts) [5](/apigee/docs/hybrid/v1.14/install-create-tls-certificates) [6](/apigee/docs/hybrid/v1.14/install-create-overrides) [7](/apigee/docs/hybrid/v1.14/install-enable-control-plane-access) [8](/apigee/docs/hybrid/v1.14/install-cert-manager) [9](/apigee/docs/hybrid/v1.14/install-crds) [(NEXT) Step 10: Install Apigee hybrid using Helm charts](/apigee/docs/hybrid/v1.14/install-helm-charts) [11](/apigee/docs/hybrid/v1.14/install-workload-identity)\n\n\u003cbr /\u003e"]]