La commande init installe les services de déploiement Apigee, le contrôleur de déploiement Apigee ainsi que le webhook d'admission Apigee, et déploie des composants non-Apigee tels qu'Istio et Cert Manager.
Pour vérifier l'état du déploiement, vous pouvez utiliser les commandes suivantes :
Lorsque les pods sont prêts, passez à l'étape suivante.
Procédez à une installation de simulation. Exécutez la commande apply avec l'option --dry-run=true. L'exécution d'une simulation vous permet de rechercher les erreurs éventuelles avant que des modifications ne soient apportées au cluster.
Répétez cette étape jusqu'à ce que tous les pods soient prêts.
Le démarrage des pods peut prendre plusieurs minutes.
Activer l'accès au synchronisateur
Créez un compte de service GCP et ajoutez-y le rôle Administrateur de l'organisation Apigee. Ce compte de service sera utilisé pour authentifier un appel d'API que vous effectuerez ultérieurement. La console GCP permet de créer facilement le compte de service.
Pour obtenir des instructions, consultez la page Créer et gérer des comptes de service dans la documentation de GCP.
Téléchargez la clé du compte de service sur votre système. Suivez les instructions de la section Créer des clés de compte de service dans la documentation de GCP.
Déplacez la clé du compte de service téléchargé dans le répertoire de vos comptes de service : /hybrid-base-directory/hybrid-files/service-accounts.
Exécutez ces deux commandes pour obtenir un jeton :
Où org-admin-service-account-file correspond au chemin d'accès de votre système vers la clé de compte de service que vous avez téléchargée avec le rôle Administrateur d'organisation Apigee.
Appelez l'API setSyncAuthorization pour activer les autorisations requises pour l'outil de synchronisation :
your_org_name : nom de votre organisation hybride.
synchronizer-manager-service-account-email : nom d'un compte de service ayant le rôle Gestionnaire de synchronisateur Apigee.
Le nom se présente comme une adresse e-mail. Par exemple, apigee-synchronizer@my-project.iam.gserviceaccount.com.
Vous devez ajouter l'alias d'hôte du point de terminaison MART à votre organisation Apigee. Vous avez défini cette valeur précédemment lors de la définition de la propriété mart.hostAlias dans votre fichier de remplacement.
Le plan de gestion a besoin de cette adresse afin de pouvoir communiquer avec le plan d'exécution via MART.
Pour ajouter l'alias d'hôte MART à votre organisation, procédez comme suit :
Obtenez la valeur que vous avez définie précédemment dans votre fichier de remplacement pour la propriété mart.hostAlias. Pour que MART fonctionne, l'alias d'hôte doit être un nom de domaine complet.
Localisez la clé du compte de service avec le rôle Administrateur de l'organisation Apigee que vous avez téléchargé précédemment, dans la section Activer l'accès au synchronisateur.
Exécutez ces deux commandes pour obtenir un jeton :
Où org-admin-service-account-file correspond au chemin d'accès de votre système vers la clé de compte de service que vous avez téléchargée avec le rôle Administrateur d'organisation Apigee.
Appelez l'API de gestion suivante pour mettre à jour votre organisation avec le point de terminaison MART :
Veillez à enregistrer votre fichier de remplacement. Vous en aurez besoin pour effectuer les mises à niveau ultérieures, les correctifs ou toute autre modification de la configuration du cluster.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThis documentation outlines the steps to install Apigee hybrid into a cluster, starting with verifying the directory and kubectl context.\u003c/p\u003e\n"],["\u003cp\u003eThe installation process involves using the \u003ccode\u003eapigeectl\u003c/code\u003e command to initialize the deployment services, including the Apigee Deployment Controller, Admission Webhook, Istio, and Cert Manager.\u003c/p\u003e\n"],["\u003cp\u003eA "dry run" is recommended before applying Apigee-specific runtime components to the cluster to check for potential errors.\u003c/p\u003e\n"],["\u003cp\u003eEnabling synchronizer access requires creating a GCP service account with the Apigee Organization Admin role, downloading its key, and using it to authenticate and set permissions via API calls.\u003c/p\u003e\n"],["\u003cp\u003eAdding the MART host alias to the Apigee organization is a necessary step, involving obtaining the \u003ccode\u003emart.hostAlias\u003c/code\u003e value from the overrides file and updating the organization properties using a management API call.\u003c/p\u003e\n"]]],[],null,["# Step 4: Install hybrid on GKE\n\n| You are currently viewing version 1.2 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\nTo 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. The current context should be set to the cluster to which you are deploying: \n\n ```\n kubectl config get-contexts\n ```\n3. Execute the `init` command: \n\n ```\n $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml\n ```\n\n The `init` command installs the [Apigee deployment services](/apigee/docs/hybrid/v1.2/apigee-deployment-services)\n Apigee Deployment Controller and Apigee Admission Webhook, and it deploys non-Apigee\n components [Istio](https://istio.io/) and\n [Cert Manager](https://docs.cert-manager.io/en/latest/).\n4. To check the status of the deployment, you can use these commands: \n\n ```\n $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml\n ```\n\n\n and \n\n ```\n kubectl get pods -n apigee-system\n ```\n\n\n and \n\n ```\n kubectl get pods -n istio-system\n ```\n\n\n When the pods are ready, go to the next step.\n5. Do a \"dry run\" install. Execute the `apply` command with the `--dry-run=true` flag. Doing a dry run lets you check for any errors before any changes are made to the cluster. \n\n ```\n $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true\n ```\n6. If there are no errors, you can apply the [Apigee-specific\n runtime components](/apigee/docs/hybrid/v1.2/what-is-hybrid#about-the-runtime-plane) to the cluster: \n\n ```\n $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml\n ```\n7. To check the status of the deployment: \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.\n The pods may take several minutes\n to start up.\n\nEnable synchronizer access\n--------------------------\n\n1. Create a GCP service account and add the **Apigee Organization Admin** role to it. This service account will be used to authenticate an API call that you will make in a later step. An easy way to create the service account is through the GCP console. For instructions, see [Creating and managing service accounts](https://cloud.google.com/iam/docs/creating-managing-service-accounts#iam-service-accounts-create-gcloud) in the GCP documentation.\n2. Download the service account key to your system. Follow the instructions in [Creating service account keys](https://cloud.google.com/iam/docs/creating-managing-service-account-keys#iam-service-account-keys-create-gcloud) in the GCP documentation.\n3. Move the downloaded service account key into your service accounts directory: \u003cvar translate=\"no\"\u003e/hybrid-base-directory\u003c/var\u003e`/hybrid-files/service-accounts`.\n4. Execute these two commands to get a token: \n\n export GOOGLE_APPLICATION_CREDENTIALS=\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eorg\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eadmin\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eservice\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eaccount\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003efile\u003c/span\u003e\u003c/var\u003e\n export TOKEN=$(gcloud auth application-default print-access-token)\n\n\n Where \u003cvar translate=\"no\"\u003eorg-admin-service-account-file\u003c/var\u003e is the path on your system to the service\n account key you downloaded with the **Apigee Organization Admin** role.\n5. Call the [setSyncAuthorization](/apigee/docs/reference/apis/apigee/rest/v1/organizations/setSyncAuthorization) API to enable the required permissions for Synchronizer: \n\n ```\n curl -X POST -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type:application/json\" \\\n \"https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization\" \\\n -d '{\"identities\":[\"serviceAccount:synchronizer-manager-service-account-email\"]}'\n ```\n\n\n Where:\n - `your_org_name`: The name of your hybrid organization.\n - `synchronizer-manager-service-account-email`: The name of a service account with the **Apigee Synchronizer Manager** role. The name is formed like an email address. For example: `apigee-synchronizer@my-project.iam.gserviceaccount.com`\n\n Example: \n\n ```\n curl -X POST -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type:application/json\" \\\n \"https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization\" \\\n -d '{\"identities\":[\"serviceAccount:apigee-synchronizer@my-project.iam.gserviceaccount.com\"]}'\n ```\n6. To verify that the service account was set, call the following API to get a list of service accounts: \n\n ```\n curl -X POST -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type:application/json\" \\\n \"https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization\" \\\n -d ''\n ```\n\n\n The output looks similar to the following: \n\n ```\n {\n \"identities\":[\n \"serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com\"\n ],\n \"etag\":\"BwWJgyS8I4w=\"\n }\n \n ```\n\nAdd the MART host alias to your org\n-----------------------------------\n\n\nYou must add the host alias of the [MART](/apigee/docs/hybrid/v1.2/what-is-hybrid#mart) endpoint\nto your Apigee organization. You set this value previously when set\nthe value of the `mart.hostAlias` property in your overrides\nfile.\nThe management plane needs this address so that it can communicate with the runtime\nplane over MART.\n\n\nFollow these steps to add the MART host alias to your organization:\n\n1. Get the value you set previously in your overrides file for the `mart.hostAlias` property. For MART to function, the host alias must be a fully qualified domain name.\n2. Locate the service account key with the **Apigee Organization Admin** role that you downloaded previously, in the section [Enable synchronizer access](#enable-synchronizer-access).\n3. Execute these two commands to get a token: \n\n export GOOGLE_APPLICATION_CREDENTIALS=\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eorg\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eadmin\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eservice\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eaccount\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003efile\u003c/span\u003e\u003c/var\u003e\n export TOKEN=$(gcloud auth application-default print-access-token)\n\n\n Where \u003cvar translate=\"no\"\u003eorg-admin-service-account-file\u003c/var\u003e is the path on your system to the service\n account key you downloaded with the **Apigee Organization Admin** role.\n4. Call the following management API to update your organization with the MART endpoint: \n\n ```\n curl -v -X PUT \\\n https://apigee.googleapis.com/v1/organizations/your_org_name \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -d '{\n \"name\" : \"your_org_name\",\n \"properties\" : {\n \"property\" : [ {\n \"name\" : \"features.hybrid.enabled\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"features.mart.server.endpoint\",\n \"value\" : \"https://HOST_ALIAS_DNS\"\n } ]\n }\n }'\n ```\n\n Here is an example. Be sure to add the prefix \"https://\" to the host alias. \n\n ```\n curl -v -X PUT \\\n https://apigee.googleapis.com/v1/organizations/my_organization \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -d '{\n \"name\" : \"my_organization\",\n \"properties\" : {\n \"property\" : [ {\n \"name\" : \"features.hybrid.enabled\",\n \"value\" : \"true\"\n }, {\n \"name\" : \"features.mart.server.endpoint\",\n \"value\" : \"https://foo-mart.example.com\"\n } ]\n }\n }'\n ```\n\nSave the overrides file\n-----------------------\n\n\nBe sure to save your overrides file. You will need this file to perform future upgrades,\npatches, or any other modifications to the cluster configuration.\n| **CONGRATULATIONS!**\n|\n| **You've successfully installed Apigee hybrid. You are now ready to test\n| it.**"]]