Étape 7 : Configurer l'environnement d'exécution hybride

Spécifier des remplacements de configuration

Le programme d'installation d'Apigee hybrid utilise les valeurs par défaut pour de nombreux paramètres. Toutefois, certains paramètres n'ont pas de valeurs par défaut. Vous devez fournir des valeurs pour ces paramètres, comme expliqué ci-dessous.

  1. Assurez-vous d'être dans le répertoire hybrid-base-directory/hybrid-files/overrides/.
    cd hybrid-base-directory/hybrid-files/overrides
  2. Créez un fichier nommé overrides.yaml dans votre éditeur de texte préféré. Exemple :
    vi overrides.yaml

    Le fichier overrides.yaml fournit la configuration pour votre installation Apigee hybrid unique. Le fichier de remplacement utilisé à cette étape fournit une configuration de base pour une installation d'exécution Apigee hybrid peu encombrante, adaptée pour une première installation.

  3. Dans overrides.yaml, ajoutez les valeurs de propriété requises, indiquées ci-dessous. Vous trouverez ci-dessous une description détaillée de chaque propriété :

    Pour les installations dans des environnements de production, consultez les exigences de stockage de la base de données Cassandra dans la section Configurer Cassandra pour la production.

    Syntaxe

    Assurez-vous que le fichier overrides.yaml possède la structure et la syntaxe suivantes. Les valeurs de red, bold italics sont des valeurs de propriété que vous devez fournir. Elles sont décrites dans le tableau ci-dessous.

    Il existe des différences entre les différentes plates-formes pour la région du projet Google Cloud et la région du cluster Kubernetes. Choisissez la plate-forme sur laquelle vous installez Apigee hybrid.

    gcp:
      region: analytics-region
      projectID: gcp-project-id
    
    k8sCluster:
      name: cluster-name
      region: cluster-location # Must be the closest Google Cloud region to your cluster.
    org: org-name
    
    instanceID: "unique-instance-identifier"  # See the property description table below information about this parameter.
    
    cassandra:
      hostNetwork: false
        # Set to false for single region installations and multi-region installations
        # with connectivity between pods in different clusters, for example GKE installations.
        # Set to true  for multi-region installations with no communication between
        # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal,
        # AKS, EKS, and OpenShift installations.
        # See Multi-region deployment: Prerequisites
      storage:
        capacity: 500Gi
      resources:
        requests:
          cpu: 7
          memory: 15Gi
      maxHeapSize: 8192M
      heapNewSize: 1200M
        # Minimum storage requirements for a production environment.
        # See Configure Cassandra for production.
    
    virtualhosts:
      - name: environment-group-name
        sslCertPath: ./certs/cert-name.pem
        sslKeyPath: ./certs/key-name.key
    
    envs:
      - name: environment-name
        serviceAccountPaths:
          synchronizer: ./service-accounts/synchronizer-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-synchronizer.json
          udca: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
          runtime: ./service-accounts/runtime-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-runtime.json
    
    mart:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
            # Use the same service account for mart and connectAgent
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-metrics.json
    
    udca:
      serviceAccountPath: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
    
    watcher:
      serviceAccountPath: ./service-accounts/watcher-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-watcher.json
    
    logger:
      enabled: false
            # Set to false to disable logger for GKE installations.
            # Set to true for all platforms other than GKE.
            # See apigee-logger in Service accounts and roles used by hybrid components.
      serviceAccountPath: ./service-accounts/logger-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-logger.json
    
    

    Exemple

    L'exemple suivant montre un fichier de remplacement terminé avec des exemples de valeurs de propriété ajoutées :

    gcp:
      region: us-central1
      projectID: hybrid-example
    
    k8sCluster:
      name: apigee-hybrid
      region: us-central1
    
    org: hybrid-example
    
    instanceID: "my_hybrid_example"
    
    cassandra:
      hostNetwork: false
    
    virtualhosts:
      - name: example-env-group
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-udca.json
          runtime: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-runtime.json
    
    mart:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, example-hybrid-apigee-mart.json
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-metrics.json
    
    udca:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-udca.json
    
    watcher:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-watcher.json
    
    logger:
      enabled: false # Set to "false" for GKE. Set to "true" for all other kubernetes platforms.
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, logger-service-account-name.json
    
    
  4. Lorsque vous avez terminé, enregistrez le fichier.

Le tableau suivant décrit chacune des valeurs de propriété que vous devez fournir dans le fichier de remplacement. Pour en savoir plus, consultez la documentation de référence sur les propriétés de configuration.

Variable Description
analytics-region Dans GKE, vous devez définir cette valeur sur la même région que celle où le cluster est exécuté. Sur toutes les autres plates-formes, sélectionnez la région d'analyse la plus proche de votre cluster compatible avec Analytics (consultez le tableau de la Partie 1, Étape 4 : Créer une organisation).

Il s'agit de la valeur que vous avez précédemment attribuée à la variable d'environnement ANALYTICS_REGION.

gcp-project-id Identifie le projet Google Cloud dans lequel apigee-logger et apigee-metrics envoient leurs données. Il s'agit de la valeur attribuée à la variable d'environnement PROJECT_ID.
cluster-name Le nom de votre cluster Kubernetes. Il s'agit de la valeur attribuée à la variable d'environnement CLUSTER_NAME.
cluster-location La région dans laquelle le cluster est exécuté. Il s'agit de la région dans laquelle vous avez créé le cluster à l'étape 1 : Créer un cluster.

Il s'agit de la valeur que vous avez précédemment attribuée à la variable d'environnement CLUSTER_LOCATION.

org-name ID de votre organisation Apigee hybrid. Il s'agit de la valeur attribuée à la variable d'environnement ORG_NAME.
unique-instance-identifier

Chaîne unique permettant d'identifier cette instance Apigee hybrid par cluster. La chaîne peut être composée d'une combinaison de lettres et de chiffres d'une longueur maximale de 63 caractères.

  • Vous pouvez créer plusieurs organisations dans un même cluster. Veillez à utiliser la même valeur instanceID chaque fois que vous ajoutez une nouvelle organisation au même cluster.
  • Si vous disposez de plusieurs clusters (dans la même région ou sur plusieurs régions), chaque cluster nécessite un instanceID unique.

Si vous avez besoin d'aide pour générer un ID unique, vous pouvez utiliser un outil de génération de chaînes aléatoire de votre choix, tel que random.org/strings.

environment-group-name Nom du groupe d'environnements auquel vos environnements sont attribués. Il s'agit du groupe que vous avez créé lors de la configuration du projet et de l'organisation - Étape 5 : Créer un groupe d'environnements. Il s'agit de la valeur attribuée à la variable d'environnement ENV_GROUP.
cert-name
key-name
Saisissez le nom de la clé TLS autosignée et des fichiers de certificat que vous avez générés précédemment à l'Étape 6 : Créer des certificats TLS. Ces fichiers doivent se trouver dans le répertoire base_directory/hybrid-files/certs. Exemple :

sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
environment-name Utilisez le même nom que celui que vous avez utilisé lors de la création d'un environnement dans l'interface utilisateur, comme expliqué à l'étape 5 "Créer un groupe d'environnements" de la configuration du projet et de l'organisation.
synchronizer-service-account-name Pour les environnements hors production, le nom du compte de service unique, non-prod par défaut. Pour les environnements de production, le nom du fichier de clé de compte de service apigee-synchronizer que vous avez généré à l'aide de l'outil create-service-account à l'Étape 6 : Créer des comptes de service et des identifiants de la configuration de l'environnement d'exécution hybride. Vous pouvez consulter la liste des fichiers de compte de service dans votre répertoire service-accounts/. Exemple :

ls ../service-accounts/
udca-service-account-name Pour les environnements hors production, le nom du compte de service unique, non-prod par défaut. Pour les environnements de production, le nom du fichier de clé de compte de service apigee-udca que vous avez généré avec l'outil create-service-account.
runtime-service-account-name Pour les environnements hors production, le nom du compte de service unique, non-prod par défaut. Pour les environnements de production, le nom du fichier de clé de compte de service apigee-runtime que vous avez généré avec l'outil create-service-account.
mart-service-account-name Pour les environnements hors production, le nom du compte de service unique, non-prod par défaut. Pour les environnements de production, le nom du fichier de clé de compte de service apigee-mart que vous avez généré avec l'outil create-service-account.
metrics-service-account-name Pour les environnements hors production, le nom du compte de service unique, non-prod par défaut. Pour les environnements de production, le nom du fichier de clé de compte de service apigee-metrics que vous avez généré avec l'outil create-service-account.
udca-service-account-name Pour les environnements hors production, le nom du compte de service unique, non-prod par défaut. Pour les environnements de production, le nom du fichier de clé de compte de service apigee-udca que vous avez généré avec l'outil create-service-account.
watcher-service-account-name Pour les environnements hors production, le nom du compte de service unique, non-prod par défaut. Pour les environnements de production, le nom du fichier de clé de compte de service apigee-watcher que vous avez généré avec l'outil create-service-account.
logger-service-account-name Pour les environnements hors production, le nom du compte de service unique, non-prod par défaut. Pour les environnements de production, le nom du fichier de clé de compte de service apigee-logger que vous avez généré avec l'outil create-service-account.

Résumé

Le fichier de configuration indique à Kubernetes comment déployer les composants hybrides sur un cluster. Vous allez ensuite activer l'accès du synchronisateur pour que les plans d'exécution et de gestion Apigee puissent communiquer.

Étape suivante

1 2 3 4 5 6 7 (SUITE) Étape 8 : Activer l'accès au synchronisateur 9