Ajouter un centre de données

Edge for Private Cloud v4.18.01

Ce document explique comment ajouter un centre de données (également appelé région) à un centre de données existant.

Éléments à prendre en compte avant d'ajouter un centre de données

Avant d'installer un centre de données, vous devez comprendre comment configurer les serveurs OpenLDAP, ZooKeeper, Cassandra et Postgres dans l'ensemble des centres de données. Vous devez également vous assurer que les ports nécessaires sont ouverts entre les nœuds des deux centres de données.

  • OpenLDAP
    Chaque centre de données dispose de son propre serveur OpenLDAP configuré avec la réplication activée. Lorsque vous installez le nouveau centre de données, vous devez configurer OpenLDAP pour utiliser la réplication et reconfigurer le serveur OpenLDAP dans le centre de données existant pour utiliser la réplication.
  • ZooKeeper
    Pour la propriété ZK_HOSTS des deux centres de données, spécifiez les adresses IP ou les noms DNS de tous les nœuds ZooKeeper des deux centres de données, dans le même ordre, et marquez tous les nœuds avec le modificateur ":observer". Les nœuds sans le modificateur ":observer" sont appelés "voters". Votre configuration doit comporter un nombre impair d'"électeurs".

    Dans cette topologie, l'hôte ZooKeeper sur l'hôte 9 est l'observateur:



    Dans l'exemple de fichier de configuration ci-dessous, le nœud 9 est tagué avec le modificateur ":observer" afin que vous ayez cinq votants: nœuds 1, 2, 3, 7 et 8.

    Pour la propriété ZK_CLIENT_HOSTS de chaque centre de données, spécifiez uniquement les adresses IP ou les noms DNS des nœuds ZooKeeper du centre de données (dans le même ordre) pour tous les nœuds ZooKeeper du centre de données.
  • Cassandra
    Tous les centres de données doivent avoir le même nombre de nœuds Cassandra.

    Pour CASS_HOSTS de chaque centre de données, veillez à spécifier toutes les adresses IP Cassandra (et non les noms DNS) des deux centres de données. Pour le centre de données 1, commencez par indiquer les nœuds Cassandra de ce centre de données. Pour le centre de données 2, commencez par répertorier les nœuds Cassandra de ce centre de données. Répertoriez les nœuds Cassandra du centre de données dans le même ordre pour tous les nœuds Cassandra.

    Tous les nœuds Cassandra doivent comporter les suffixes suivants : ":<d>" ou "<r>", par exemple "<ip>:1,1 = centre de données 1 et zone de rack/disponibilité 1" et "<ip>:2,1 = centre de données 2 et zone de rack/disponibilité 1".
    Par exemple, "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.12 de chaque centre de données"

    Dans ce modèle de déploiement, la configuration de Cassandra se présente comme suit:


  • Postgres
    Par défaut, Edge installe tous les nœuds Postgres en mode maître. Toutefois, lorsque vous disposez de plusieurs centres de données, vous configurez les nœuds Postgres pour qu'ils utilisent la réplication en attente maître. Ainsi, en cas de défaillance du nœud maître, le nœud de secours peut continuer à transmettre le trafic du serveur. En règle générale, vous configurez le serveur Postgres maître dans un centre de données et le serveur de secours dans le deuxième centre de données.

    Si le centre de données existant est déjà configuré pour exécuter deux nœuds Postgres en mode maître/veille, annulez l'enregistrement du nœud de secours existant et remplacez-le par un nœud de secours dans le nouveau centre de données.

    Le tableau suivant présente la configuration avant et après Postgres pour les deux scénarios:

    Avant

    Après

    Nœud Postgres maître unique dans dc-1

    Nœud Postgres maître dans dc-1

    Nœud Postgres de secours dans dc-2

    Nœud Postgres maître dans dc-1

    Nœud Postgres de secours dans dc-1

    Nœud Postgres maître dans dc-1

    Nœud Postgres de secours dans dc-2

    Annuler l'enregistrement de l'ancien nœud Postgres de mise en veille dans dc-1

  • Exigences concernant les ports
    Vous devez vous assurer que les ports nécessaires sont ouverts entre les nœuds des deux centres de données. Pour obtenir un schéma des ports, consultez la section Configuration requise pour l'installation.

Mettre à jour le centre de données existant

Pour ajouter un centre de données, vous devez suivre la procédure d'installation et de configuration des nouveaux nœuds du centre de données, mais également mettre à jour les nœuds dans le centre de données d'origine. Ces modifications sont nécessaires, car vous ajoutez des nœuds Cassandra et ZooKeeper au nouveau centre de données, qui doivent être accessibles au centre de données existant, et vous devez reconfigurer OpenLDAP pour utiliser la réplication.

Créer les fichiers de configuration

Vous trouverez ci-dessous les fichiers de configuration silencieuses pour les deux centres de données, où chaque centre dispose de six nœuds, comme indiqué dans la section Topologies d'installation. Notez que le fichier de configuration de dc-1 ajoute des paramètres supplémentaires aux éléments suivants:

  • Configurer OpenLDAP avec réplication sur deux nœuds OpenLDAP.
  • Ajoutez les nouveaux nœuds Cassandra et ZooKeeper de dc-2 au fichier de configuration de dc-1.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

Procédure d'ajout d'un centre de données

Dans cette procédure, les centres de données sont nommés:

  • dc-1: le centre de données existant
  • dc-2: le nouveau centre de données
  1. Sur dc-1, réexécutez setup.sh sur les nœuds Cassandra d'origine avec le nouveau fichier de confiig dc-1 qui inclut les nœuds Cassandra de dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. Sur dc-1, réexécutez setup.sh sur le nœud du serveur de gestion:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Sur dc-2, installez apigee-setup sur tous les nœuds. Pour plus d'informations, consultez la section Installer l'utilitaire de configuration d'Edge apigee-setup.
  4. Sur dc-2, installez Cassandra et ZooKeeper sur les nœuds appropriés:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. Sur dc-2, exécutez la commande "rebuild" sur tous les nœuds Cassandra, en spécifiant le nom de la région de dc-1:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1
  6. Sur dc-2, installez le serveur de gestion sur le nœud approprié:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. Sur le nœud Management Server dans dc-2, installez apigee-provision qui installe l'utilitaire apigee-adminapi.sh:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. Sur dc-2, installez les routes et les processeurs de messages sur les nœuds appropriés:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. Sur dc-2, installez Qpid sur les nœuds appropriés:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. Sur dc-2, installez Postgres sur le nœud approprié:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Configurer le système Postgres maître/veille pour les nœuds Postgres. Le nœud Postgres dans dc-1 est le maître, et le nœud Postgres dans dc-2 est le serveur de secours.

    Remarque: Si dc-1 est déjà configuré pour exécuter deux nœuds Postgres en mode maître/veille, utilisez dans le cadre de cette procédure le nœud Postgres maître existant dans dc-1 en tant que maître et le nœud Postgres dans dc-2 comme serveur de secours. Plus tard dans cette procédure, vous annulerez l'enregistrement du serveur de secours Postgres existant dans dc-1.
    1. Sur le nœud maître dans dc-1, modifiez le fichier de configuration comme suit:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Activez la réplication sur le nouveau maître:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-réplication-on-master -f configFIle
    3. Sur le nœud de secours dans dc-2, modifiez le fichier de configuration comme suit:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. Sur le nœud de secours dans dc-2, arrêtez le serveur, puis supprimez toutes les données Postgres existantes:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      > rm -rf /opt/apigee/data/apigee-postgresql/

      Remarque: Si nécessaire, vous pouvez sauvegarder ces données avant de les supprimer.
    5. Configurez le nœud de secours dans dc-2:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-réplication-on-standby -f configFile
  12. Sur dc-1, mettez à jour la configuration Analytics et configurez les organisations.
    1. Sur le nœud du serveur de gestion de dc-1, récupérez l'UUID du nœud Postgres:
      > apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      L'UUID apparaît à la fin des données renvoyées. Enregistrez cette valeur.

      Remarque: Si dc-1 est configuré pour comporter deux nœuds Postgres exécutés en mode maître/veille, deux adresses IP et deux UUID s'affichent dans le résultat. Enregistrez les deux UUID. À partir des adresses IP, vous devriez pouvoir déterminer quel UUID est destiné au maître et lequel est destiné au nœud de secours.
    2. Sur le nœud du serveur de gestion de dc-2, obtenez l'UUID du nœud Postgres comme indiqué à l'étape précédente. Enregistrez cette valeur.
    3. Sur le nœud du serveur de gestion de dc-1, déterminez le nom des groupes d'analyse et de consommateurs. La plupart des commandes ci-dessous nécessitent ces informations.
      Par défaut, le nom du groupe d'analyse est axgroup-001, et le nom du groupe de consommateurs est Consumer-group-001. Dans le fichier de configuration silencieuse d'une région, vous pouvez définir le nom du groupe d'analyse à l'aide de la propriété AXGROUP.

      Si vous n'êtes pas sûr des noms des groupes d'analyse et de consommateurs, utilisez la commande suivante pour les afficher:
      > apigee-adminapi.sh analytics groups list --admin adminEmail --pwd adminPword --host localhost

      Cette commande renvoie le nom du groupe d'analyse dans le champ "Name" (Nom) et le nom du groupe de consommateurs dans le champ "consumer-groups".
    4. Sur le nœud du serveur de gestion de dc-1, supprimez le serveur Postgres existant du groupe d'analyse :
      1. Supprimez le nœud Postgres1 PostgreSQL du groupe "consumer-group" :
        > apigee-adminapi.sh analytics groups customer_groups datastores remove -g axgroup-001 -c customer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --host consommateur mode localhost

        Si dc-1customer groups remove -g axgroup-001 -c customer-group-001
      2. Supprimez le nœud Postgres du groupe d'analyse :
        > apigee-adminapi.sh analytics groups postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Si dc-1 est configuré pour avoir deux nœuds Postgres-admin --admin-server-------------------------server-
    5. Sur le nœud du serveur de gestion de dc-1, ajoutez les nouveaux serveurs Postgres maîtres/de secours au groupe d'analyse :
      1. Ajoutez les deux serveurs Postgres au groupe d'analyse:
        > apigee-adminapi.sh groupes d'analyse postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        UUID_UUID_1 correspond au nœud Postgres_2 et dc-1.
      2. Ajoutez les serveurs PG au groupe "consumer-group" en tant que maître/veille:
        > apigee-adminapi.sh analytics groups Consumer_groups datastores add -g axgroup-001 -c customer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    6. Ajoutez les serveurs Qpid de dc-2 au groupe d'analyse :
      1. Sur le nœud du serveur de gestion de dc-1, récupérez les UUID des nœuds Qpid dans dc-2:
        > apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        Les UUID renvoyés apparaissent à la fin des données localhost. Enregistrez ces valeurs.
      2. Sur le nœud du serveur de gestion de dc-1, ajoutez les nœuds Qpid au groupe d'analyse (exécutez les deux commandes):
        >apigee-adminapi.sh groupes d'analyse qpid_server add -g axgroup-001 -u "UUID_1 --admin adminEmail --pwd adminPword --host-word
        --host-admin-email-groupes-----host-admin-help-admin- localhost--adminpword-group-admin- d-h/---host--------------------------------------------------------------------------------------

      3. Sur le nœud du serveur de gestion de dc-1, ajoutez les nœuds Qpid au groupe de consommateurs (exécutez les deux commandes):
        > apigee-adminapi.sh groupes d'analyse consommateurs add -g axgroup-001 -c customer-group-001 -u "UUID_1" customer analytics_1" --admin localhost-groupEmail --pwd localhost_adminEmail

    7. Annulez l'enregistrement de l'ancien serveur de secours Postgres de dc-1 et supprimez-le :
      1. Annulez l'enregistrement du serveur de secours Postgres dc-1 existant:
        > Les serveurs apigee-adminapi.sh désenregistrent -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        où UUID est l'ancien nœud Postgres de secours dans dc-1.
      2. Supprimez le serveur de secours dc-1 Postgres existant:
        Remarque: Cette commande ne désinstalle pas le nœud du serveur Postgres. Elle ne la supprime que de la liste des nœuds périphériques. Si nécessaire, vous pourrez désinstaller Postgres du nœud ultérieurement.
        > apigee-adminapi.sh serveurs delete -u UUID --admin adminEmail --pwd adminPword --host localhost
  13. Mettre à jour les espaces de clés Cassandra avec un facteur de réplication approprié pour les deux centres de données Vous n'avez besoin d'exécuter cette étape qu'une seule fois sur un serveur Cassandra de l'un ou l'autre des centres de données:

    Remarque: Les commandes ci-dessous définissent toutes le facteur de réplication sur "3", ce qui indique trois nœuds Cassandra du cluster. Modifiez cette valeur si nécessaire pour votre installation.
    1. Lancez l'utilitaire Cassandra cqlsh:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Exécutez les commandes CQL suivantes dans l'invite "cqlsh>" pour définir les niveaux de réplication des espaces de clés Cassandra :
      1. cqlsh> ALTER KEYSPACE "identityzone" WITH réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTER KEYSPACE "system_traces" WITH réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Affichez les espaces de clés à l'aide de la commande suivante:
        cqlsh> select * from system.schema_keyspaces;
      4. Quittez cqlsh:
        cqlsh> exit.
  14. Exécutez la commande nodetool suivante sur tous les nœuds Cassandra de dc-1 pour libérer de la mémoire:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP nettoyage
  15. Pour chaque organisation et chaque environnement que vous souhaitez gérer dans les centres de données :
    1. Sur le nœud de serveur de gestion de dc-1, ajoutez le nouveau MP_POD à l'organisation:
      > apigee-adminapi.sh pods orgs add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost

      passerelle par la propriété MP_POD est le nom du fichier de la passerelle MP-2.
    2. Ajoutez les nouveaux processeurs de messages à l'organisation et à l'environnement :
      1. Sur le nœud de serveur de gestion de dc-2, récupérez les UUID des nœuds du processeur de messages dans dc-2:
        > apigee-adminapi.sh servers list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost

        Les UUID renvoyés apparaissent à la fin des données UUID renvoyées. Enregistrez ces valeurs.
      2. Sur le nœud du serveur de gestion de dc-1, pour chaque processeur de messages dans dc-2, ajoutez-le à un environnement de l'organisation:
        > apigee-adminapi.sh orgs envs servers add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. Sur le nœud du serveur de gestion de dc-1, vérifiez l'organisation:
      > apigee-adminapi.sh orgs apis déploiements -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      apiProxyName est le nom d'un proxy d'API déployé dans l'organisation.