Appliquer la configuration au cluster
Pour installer Apigee hybride dans votre cluster, procédez comme suit :
- Vérifiez que vous êtes bien dans le répertoire
hybrid-base-directory/hybrid-files
. - Vérifiez que
kubectl
est défini sur le bon contexte. Le contexte actuel doit être défini sur le cluster sur lequel vous déployez :kubectl config get-contexts
- Exécutez la commande
init
:$APIGEECTL_HOME/apigeectl init -f overrides/overrides-aks.yaml
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 :
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides-aks.yaml
et
kubectl get pods -n apigee-system
et
kubectl get pods -n istio-system
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.$APIGEECTL_HOME/apigeectl apply -f overrides/overrides-aks.yaml --dry-run=true
- Si aucune erreur ne s'affiche, vous pouvez appliquer les composants d'exécution spécifiques à Apigee au cluster :
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides-aks.yaml
- Pour vérifier l'état du déploiement :
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides-aks.yaml
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 :
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
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 :
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \ -d '{"identities":["serviceAccount:synchronizer-manager-service-account-email"]}'
Où :
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
.
Exemple :
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \ -d '{"identities":["serviceAccount:apigee-synchronizer@my-project.iam.gserviceaccount.com"]}'
- Pour vérifier que le compte de service a été défini, appelez l'API suivante pour obtenir la liste des comptes de service :
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
La sortie ressemble à ceci :
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Ajouter l'adresse IP MART à votre organisation
Vous devez ajouter l'adresse IP 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'adresse IP 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 :
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
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 :
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/your_org_name \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "your_org_name", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.server.endpoint", "value" : "https://HOST_ALIAS_DNS" } ] } }'
Voici un exemple : Veillez à ajouter le préfixe "https://" au nom de domaine.
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/my_organization \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "my_organization", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.server.endpoint", "value" : "https://foo-mart.example.com" } ] } }'
Enregistrer le fichier de remplacement
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.