Étape 2 : Installez et configurez GKE On-Prem

Cette étape explique comment télécharger et installer apigeectl sur votre machine d'administration Anthos GKE On-Prem déployé sur site. Vous pouvez, par exemple, configurer les répertoires d'installation, créer des comptes de service GCP requis pour que les composants hybrides puissent communiquer, et créer des identifiants TLS requis par Apigee hybride pour fonctionner.

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.

Pour obtenir apigeectl :

  1. Téléchargez le package de version sur votre machine d'administration GKE On-Prem :

    Mac 64 bits :

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

    Linux 64 bits :

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

    Mac 32 bits :

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

    Linux 32 bits :

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_linux_32.tar.gz
  2. Créez un répertoire sur votre système qui servira de répertoire de base pour l'installation d'Apigee hybrid.
  3. Extrayez le contenu du fichier gzip téléchargé dans le répertoire de base que vous venez de créer. Exemple :

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. cd dans le répertoire de base.
  5. Le contenu du fichier tar est, par défaut, développé dans un répertoire dont le nom contient la version et la plate-forme. Exemple : ./apigeectl_1.0.0-f7b96a8_linux_64. Renommez ce répertoire en apigeectl :

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  6. cd dans le répertoire. Exemple :
  7. cd ./apigeectl

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

  8. Créez une variable d'environnement destinée à contenir le chemin de répertoire d'accueil :

    export APIGEECTL_HOME=$PWD

  9. Vérifiez que la variable contient le bon chemin :
    echo $APIGEECTL_HOME

Configurer la structure de répertoire du projet

La structure de répertoire décrite ci-dessous est suggérée. Elle sépare le logiciel Apigee hybrid des fichiers de configuration que vous devez créer. Par l'utilisation de la variable $APIGEECTL_HOME et de liens symboliques que vous allez créer, vous pouvez facilement passer à une nouvelle version du logiciel si vous le souhaitez. Consultez également Mise à niveau d'Apigee hybrid.

  1. Vérifiez que vous êtes bien dans le répertoire de base (le répertoire où se trouve le répertoire apigeectl).
  2. Créez un nouveau dossier nommé hybrid-files. Vous pouvez attribuer le nom de votre choix au répertoire. Toutefois, dans les documents, le nom hybrid-files sera utilisé systématiquement. Plus tard, vous stockerez les fichiers de configuration, les clés de compte de service et les certificats TLS dans ce dossier. Ce dossier vous permet de séparer vos fichiers de configuration de l'installation logicielle apigeectl :
    mkdir hybrid-files
  3. La structure de répertoire actuelle ressemble désormais à ceci :
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. cd dans le dossier hybrid-files :
    cd hybrid-files
  5. Dans le répertoire hybrid-files, créez les trois 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 des liens symboliques vers $APIGEECTL_HOME. Ces liens symboliques vous permettent d'exécuter la commande apigeectl à partir du répertoire hybrid-files :
    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 cette commande 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 GCP 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. L'outil télécharge aussi automatiquement les clés privées du compte de service. Vous devez ensuite ajouter ces clés à votre fichier de configuration de cluster Apigee hybrid.

Créez les clés :

  1. Vérifiez que vous êtes bien dans le répertoire base_directory/hybrid-files :
  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 cette invite 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 suivant et l'invite s'affichent, sélectionnez 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 à présent les autres comptes de service :
    ./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
  4. Vérifiez que les clés de compte de service ont été créées. Vous avez la responsabilité de stocker ces clés privées en lieu sûr. Les noms de fichier de clés comportent le nom de votre projet GCP en préfixe. Exemple :
    ls ./service-accounts
    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

Créer des certificats TLS

Vous devez fournir des certificats TLS pour les passerelles d'entrée MART et d'exécution dans votre configuration Apigee hybrid. Les identifiants utilisés pour la passerelle MART doivent être autorisés par une autorité de certification (CA). 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.

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 3 : Configurer le cluster, vous allez ajouter les chemins d'accès des fichiers au fichier de configuration du cluster.

Créer des identifiants TLS pour la passerelle d'exécution

La passerelle d'entrée d'exécution (la passerelle qui gère le trafic du proxy d'API) requiert une paire clé/certificat TLS. Pour cette installation rapide, vous pouvez utiliser des identifiants autosignés. Dans les étapes suivantes, openssl est utilisé pour générer les identifiants.

  1. Vérifiez que vous êtes bien dans le répertoire base_directory/hybrid-files.
  2. 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=mydomain.net' -days 3650

    Cette commande crée une paire certificat autosigné/clé que vous pouvez utiliser pour l'installation rapide. Le nom commun mydomain.net peut correspondre à n'importe quelle valeur que vous souhaitez pour les identifiants autosignés.

  3. Vérifiez que les fichiers se trouvent dans le répertoire ./certs :
    ls ./certs
      keystore.pem
      keystore.key

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

Créer des identifiants TLS pour la passerelle MART

Comme indiqué dans la section Avant de commencer, vous devez utiliser une paire certificat TLS/clé autorisée pour la configuration de la passerelle MART. Si vous ne l'avez pas déjà fait, procurez-vous ces identifiants ou créez-les maintenant.

  1. Récupérez ou créez une paire certificat TLS/clé autorisée par une autorité de certification. Vous trouverez un exemple montrant comment récupérer ces identifiants à l'aide de l'autorité de certification Let's Encrypt. Notez que le nom commun du certificat doit être un nom DNS valide. Pour obtenir des exemples d'étapes, consultez la section Exemple de récupération des identifiants TLS.
  2. Copiez les identifiants dans le répertoire base_directory/hybrid-files/certs.
  3. Lorsque vous avez terminé, vous devez avoir deux paires de fichiers d'identifiants dans le répertoire ./certs. Exemple :
    ls ./certs
      fullchain.pem
      privkey.key
      keystore.pem
      keystore.key

    fullchain.pem correspond au fichier de certificat TLS autorisé et privkey.key au fichier de clé autorisé.

Résumé

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 hybride sur le cluster.

1 2 (SUIVANT) Étape 3 : Configurer le cluster 4