Appliquer la configuration au cluster
Pour installer Apigee hybrid sur 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 à l'aide de la commande suivante. Le contexte actuel doit être défini sur le cluster au sein duquel vous déployez Apigee hybrid.kubectl config get-contexts
- Effectuez une simulation d'initialisation. Exécutez la commande
init
avec l'option--dry-run
. L'exécution d'une simulation vous permet de rechercher les erreurs éventuelles avant que des modifications ne soient apportées au cluster.Dans la version 1.3 d'Apigee hybrid, la syntaxe de l'option
--dry-run
dépend de la version dekubectl
que vous exécutez. Vérifiez la version dekubectl
à l'aide de la commande suivante :gcloud version
kubectl
version 1.17 et antérieure :$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true
kubectl
version 1.18 et ultérieure :$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
- Si aucune erreur ne s'affiche, exécutez la commande
init
comme suit :$APIGEECTL_HOME/apigeectl init -f overrides/overrides.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. - Pour vérifier l'état du déploiement, vous pouvez exécuter les commandes suivantes :
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
kubectl get pods -n apigee-system
kubectl get pods -n istio-system
Lorsque les pods sont prêts, passez à l'étape suivante.
- Effectuez une simulation d'intallation. Exécutez la commande
apply
avec l'option--dry-run
.kubectl
version 1.17 et antérieure :$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
kubectl
version 1.18 et ultérieure :$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
- Si aucune erreur ne s'affiche, vous pouvez appliquer les composants d'exécution spécifiques à Apigee au cluster à l'aide de la commande suivante :
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Pour vérifier l'état du déploiement, exécutez la commande suivante :
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.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 du synchronisateur
Pour activer l'accès du synchronisateur, procédez comme suit :
- Assurez-vous que vous vous trouvez dans le répertoire
/hybrid-base-directory/hybrid-files/
. - Vérifiez le chemin d'accès à la clé du compte de service d'administrateur d'organisation Apigee. Il s'agit du compte que vous avez créé à l'étape 3 : Installer apigeectl.
Exécutez la commande suivante :
ls service-accounts/*admin*
Le résultat doit se présenter sous la forme suivante :
service-accounts/hybrid-example-2-apigee-org-admin.json
- Créez une variable d'environnement ORG_ADMIN_ACCOUNT contenant le nom du fichier de clé.
Exemple :
export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json"
- Exécutez les commandes suivantes pour obtenir un jeton :
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
export TOKEN=$(gcloud auth application-default print-access-token)
- Récupérez l'adresse e-mail de votre compte de service
apigee-synchronizer
à l'aide de la commande suivante :gcloud iam service-accounts list --filter "apigee-synchronizer"
Si elle correspond au modèle
apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
, vous pouvez utiliser ce modèle à l'étape suivante. - Appelez l'API setSyncAuthorization afin d'activer les autorisations requises pour le synchronisateur à l'aide de la commande suivante :
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'
Où :
$ORG_NAME
: nom de votre organisation hybride.apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
: adresse e-mail associée au compte de service apigee-syncnronizer.
- Afin de vérifier que le compte de service a été défini, utilisez la commande suivante pour appeler l'API et obtenir une liste de comptes de service :
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \ -d ''
La sortie ressemble à ceci :
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Activer Apigee Connect
Apigee Connect gère la communication entre le plan de gestion Apigee et le service MART dans le plan d'exécution. Pour en savoir plus, consultez la page Utiliser Apigee Connect.
Pour activer Apigee Connect, procédez comme suit :
-
Sur la ligne de commande, obtenez vos identifiants d'authentification
gcloud
, comme le montre l'exemple suivant :TOKEN=$(gcloud auth print-access-token)
Pour vérifier que votre jeton a été renseigné, utilisez
echo
, comme le montre l'exemple suivant :echo $TOKEN
Votre jeton doit s'afficher sous forme de chaîne encodée.
Pour en savoir plus, consultez la section présentation de l'outil de ligne de commande gcloud.
- Utilisez la commande suivante pour vérifier si Apigee Connect est activé pour votre organisation.
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
Où $ORG_NAME est l'ID de votre organisation.
Si le résultat contient les éléments suivants :
"name" : "features.mart.connect.enabled", "value" : "true"
Apigee Connect est activé. Vous pouvez ignorer le reste de cette section.
- Activez Apigee Connect à l'aide de la commande suivante :
curl -H "Authorization: Bearer $TOKEN" -X PUT \ -H "Content-Type: application/json" \ -d '{ "name" : "'"$ORG_NAME"'", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }' \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
Si le résultat contient les propriétés suivantes, Apigee Connect a bien été activé :
{ "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" }
Le résultat doit se présenter sous la forme suivante :
{ "name": "hybrid-example-2", "createdAt": "1594409699772", "lastModifiedAt": "1594776283697", "environments": [ "example-env" ], "properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "us-central1", "runtimeType": "HYBRID", "subscriptionType": "TRIAL" }