Étape 3 : Installer apigeectl

Cette étape explique comment télécharger et installer apigeectl, configurer les répertoires d'installation et créer des comptes de service Google Cloud, ainsi que les identifiants TLS requis pour faire fonctionner Apigee hybrid.

Télécharger et installer apigeectl

apigeectl est l'interface de ligne de commande (CLI) permettant d'installer et de gérer Apigee hybrid dans un cluster Kubernetes.

Les étapes suivantes expliquent comment télécharger apigeectl :

  1. Stockez le dernier numéro de version dans une variable à l'aide de la commande suivante :
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. À l'aide de la commande suivante, vérifiez que le numéro de version a bien été enregistré dans la variable. Si vous souhaitez utiliser une autre version, vous pouvez l'enregistrer dans une variable d'environnement à la place.
    echo $VERSION
  3. Téléchargez le package de version de votre système d'exploitation à l'aide de la commande suivante :

    Mac 64 bits :

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Linux 64 bits :

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    Mac 32 bits :

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz

    Linux 32 bits :

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Créez un répertoire sur votre système qui servira de répertoire de base pour l'installation d'Apigee hybrid.
  5. À l'aide de la commande suivante, extrayez dans le répertoire de base que vous venez de créer le contenu du fichier gzip téléchargé :

    tar xvzf filename.tar.gz -C path-to-base-directory
  6. Remplacez le répertoire par le répertoire de base à l'aide de la commande cd.
  7. Par défaut, le contenu du fichier tar est décompressé dans un répertoire dont le nom contient la version et la plate-forme. Exemple : ./apigeectl_1.0.0-f7b96a8_linux_64. Changez le nom de ce répertoire en apigeectl à l'aide de la commande suivante :

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  8. Accédez au répertoire à l'aide de la commande suivante :
    cd ./apigeectl

    Ce répertoire correspond au répertoire d'accueil apigeectl. Il s'agit de l'emplacement de la commande exécutable apigeectl.

  9. Créez une variable d'environnement destinée à contenir le chemin d'accès à ce répertoire d'accueil à l'aide de la commande suivante :
    export APIGEECTL_HOME=$PWD
  10. Vérifiez que la variable contient le chemin d'accès correct à l'aide de la commande suivante :
    echo $APIGEECTL_HOME

Configurer la structure de répertoire du projet

La structure de répertoire suivante est une suggestion. Elle sépare le logiciel Apigee hybrid des fichiers de configuration que vous devez créer. Grâce à l'utilisation de la variable $APIGEECTL_HOME et des liens symboliques que vous créez, vous pouvez facilement passer à une nouvelle version du logiciel si vous le souhaitez. Consultez également Mise à niveau d'Apigee hybrid.

  1. Placez-vous dans le répertoire de base (le répertoire dans lequel se trouve le répertoire apigeectl) à l'aide de la commande suivante :
    cd $APIGEECTL_HOME/..
  2. Créez un dossier nommé hybrid-files à l'aide de la commande suivante : Vous pouvez donner un autre nom au répertoire, mais sachez que dans la documentation, c'est toujours le nom hybrid-files qui est utilisé. C'est dans ce répertoire que seront ultérieurement stockés les fichiers de configuration, les clés de compte de service et les certificats TLS. Il sert à séparer vos fichiers de configuration de l'installation du logiciel apigeectl.
    mkdir hybrid-files
  3. La structure de répertoire actuelle se présente maintenant comme suit :
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Remplacez le répertoire par le dossier hybrid-files à l'aide de la commande suivante :
    cd hybrid-files
  5. Dans le répertoire hybrid-files, créez les sous-répertoires suivants pour organiser les fichiers que vous créerez plus tard :
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. Dans le répertoire hybrid-files, créez les liens symboliques suivants vers $APIGEECTL_HOME. Ces liens vous permettent d'exécuter la commande apigeectl à partir du répertoire hybrid-files, comme illustré dans l'exemple suivant :
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. Pour vérifier que les liens symboliques ont été créés correctement, exécutez la commande suivante et assurez-vous que les chemins d'accès aux liens pointent vers les emplacements appropriés :
    ls -l | grep ^l

Créer des comptes de service

Apigee hybrid utilise des comptes de service Google Cloud pour permettre aux composants hybrides de communiquer en effectuant des appels d'API autorisés. Dans cette étape, vous allez utiliser un outil de ligne de commande Apigee hybrid pour créer un ensemble de comptes de service. Cet outil se charge également du téléchargement des clés privées des comptes de service. Vous devez ensuite ajouter ces clés au fichier de configuration de votre cluster Apigee hybrid.

Apigee fournit l'outil create-service-account, qui permet, en une seule commande, de créer un compte de service, de lui attribuer les rôles nécessaires, puis de créer et de télécharger les fichiers de clé de ce compte. Pour en savoir plus sur les concepts Google Cloud associés, consultez les pages Créer et gérer des comptes de service et Créer et gérer les clés de comptes de service.

  1. Assurez-vous que vous vous trouvez bien dans le répertoire base_directory/hybrid-files que vous avez configuré à la section Configurer la structure de répertoire du projet.
  2. Exécutez la commande suivante à partir du répertoire hybrid-files. Cette commande crée un compte de service pour le composant apigee-metrics et place la clé téléchargée dans le répertoire ./service-accounts.
    ./tools/create-service-account apigee-metrics ./service-accounts

    Lorsque l'invite suivante s'affiche, saisissez y :

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    Si c'est la première fois qu'un compte de service portant le nom exact attribué par l'outil a été créé, l'outil le crée et vous n'avez rien à faire.

    Toutefois, si le message et l'invite suivants s'affichent, saisissez y pour générer de nouvelles clés :

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
    
  3. Créez maintenant les autres comptes de service à l'aide des commandes suivantes : La commande create-service-account est interactive et exige une réponse de votre part pour chaque compte :
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
    ./tools/create-service-account apigee-watcher ./service-accounts
  4. À l'aide de la commande suivante, vérifiez que les clés des comptes de service ont été créées : Vous avez la responsabilité de stocker ces clés privées en lieu sûr. Les noms de fichiers de clés commencent par le nom de votre projet Google Cloud.
    ls ./service-accounts

    Le résultat doit ressembler à :

    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json
    gcp-project-id-apigee-watcher.json
  5. Attribuez le rôle "Administrateur de l'organisation Apigee" aux comptes de service apigee-org-admin :
  6. Vérifiez que l'adresse e-mail du compte de service apigee-org-admin suit le modèle service_account@PROJECT_ID.iam.gserviceaccount.com, comme dans l'exemple suivant :
    gcloud iam service-accounts list --filter "apigee-org-admin"
  7. Attribuez le rôle à l'aide de la commande suivante :
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin

    PROJECT_ID est l'identifiant de votre projet Google Cloud. Si les adresses e-mail de votre compte de service diffèrent de ce modèle, remplacez-les en conséquence.

    Le résultat doit inclure une liste de tous les comptes de service et de leurs rôles, y compris les éléments suivants :

    - members:
      - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com
      role: roles/apigee.admin

Créer des certificats TLS

Vous devez fournir des certificats TLS pour la passerelle d'entrée d'exécution dans votre configuration Apigee hybrid. Pour les besoins de ce guide de démarrage rapide (une installation d'essai hors production), la passerelle d'exécution peut accepter des identifiants autosignés. Dans les étapes suivantes, openssl est utilisé pour générer les identifiants autosignés.

Lors de cette étape, vous allez créer les fichiers d'identifiants TLS et les ajouter au répertoire base_directory/hybrid-files/certs. À l'Étape 4 : Configurer le cluster, vous allez ajouter les chemins d'accès des fichiers au fichier de configuration du cluster.

  1. Assurez-vous que vous vous trouvez dans le répertoire base_directory/hybrid-files que vous avez configuré à la section Configurer la structure de répertoire du projet.
  2. Vérifiez que votre nom de domaine est enregistré dans la variable d'environnement DOMAIN à l'aide de la commande suivante :
    echo $DOMAIN
  3. Exécutez la commande suivante à partir du répertoire hybrid-files :
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650

    DOMAIN correspond au domaine que vous avez réservé pour votre installation Apigee hybrid lors de l'étape 5 du guide de démarrage rapide (Apigee hybrid) : Configurer votre DNS.

    Cette commande crée une paire certificat/clé autosignée que vous pouvez utiliser pour l'installation rapide.

  4. Vérifiez que les fichiers se trouvent dans le répertoire ./certs à l'aide de la commande suivante :
    ls ./certs
      keystore.pem
      keystore.key

    keystore.pem correspond au fichier de certificat TLS autosigné et keystore.key au fichier de clé.

Vous disposez désormais d'une base principale vous permettant de configurer, de déployer et de gérer Apigee hybrid dans votre cluster Kubernetes. Vous allez ensuite créer un fichier que Kubernetes utilisera pour déployer les composants d'exécution Apigee hybrid sur le cluster.

1 2 3 (SUIVANT) Étape 4 : configuration du cluster 5