Étape 5 : Installez un environnement d'exécution hybride

Appliquer la configuration au cluster

Pour installer Apigee hybrid sur votre cluster, procédez comme suit :

  1. Vérifiez que vous êtes bien dans le répertoire hybrid-base-directory/hybrid-files.
  2. 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
  3. 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 de kubectl que vous exécutez. Vérifiez la version de kubectl à 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
  4. 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.

  5. 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.

  6. 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
  7. 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
  8. 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 :

  1. Assurez-vous que vous vous trouvez dans le répertoire /hybrid-base-directory/hybrid-files/.
  2. 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
  3. 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"
  4. 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)
  5. 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.

  6. 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.
  7. 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 :

  1. 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.

  2. 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"

    $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.

  3. 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"
    }