VMware Integrated OpenStack 3.0 ou 3.1 prend en charge LBaaS v2.0. Par défaut, vous activez LBaaS v2.0 après avoir terminé le processus d'installation ou de mise à niveau de VMware Integrated OpenStack.

Avant de commencer

Remarque :

VMware Integrated OpenStack ne prend pas en charge LBaaS v1.0.

Cette tâche s'applique uniquement à VMware Integrated OpenStack déployé avec NSX.

Pourquoi et quand exécuter cette tâche

Cette tâche inclut la création d'un moniteur de santé et l'associe au pool LBaaS contenant les instances du serveur LBaaS. Le moniteur de santé est un service Neutron qui vérifie si les instances s'exécutent toujours sur le port de protocole spécifié.

Procédure

  1. À l'aide de SSH, connectez-vous à VMware Integrated OpenStack Manager.
  2. Passez à l'utilisateur racine.
    sudo su -
  3. Activez LBaaS v2.0.
    viocli lbaasv2-enable 

    Option

    Description

    -d DEPLOYMENT

    Indique le nom du déploiement de VMware Integrated OpenStack.

  4. Dans le gestionnaire d'VMware Integrated OpenStack, utilisez SSH pour vous connecter au nœud Object Storage.
  5. Passez à l'utilisateur racine.
    sudo su -
  6. Créez un routeur exclusif.
    neutron router-create --router_type=exclusive <router name>
  7. Attachez un sous-réseau au nouveau routeur.
    neutron net-create <network name>
    neutron subnet-create <network name> <CIDR value> --name <subnet name>
    neutron router-interface-add <router name or id> <subnet name or id>
  8. Créez l'équilibrage de charge.

    Cette étape inclut la création de l'équilibrage de charge, de l'écouteur et du pool d'équilibrage de charge.

    1. Créez l'équilibrage de charge en spécifiant le sous-réseau VIP de l'équilibrage de charge.
      neutron lbaas-loadbalancer-create --name LOAD_BALANCER_1_NAME <vip-subnet-id>

      Paramètre

      Description

      nom

      Donnez un nom au nouvel équilibrage de charge.

      vip-subnet-id

      Spécifiez le sous-réseau VIP du nouvel équilibrage de charge. Seuls les membres sur ce sous-réseau peuvent être ajoutés au pool.

    2. Créez un écouteur pour le nouvel équilibrage de charge.
      neutron lbaas-listener-create \
      --loadbalancer LOAD_BALANCER_1_NAME \
      --protocol <protocol type> \
      --protocol-port <protocol port> 
      --name LISTENER_1_NAME

      Paramètre

      Description

      équilibrage de charge

      Spécifiez l'équilibrage de charge que vous avez créé à l'étape subsidiaire précédente.

      type de protocole

      Spécifiez le type de protocole pour l'écouteur.

      • TCP

      • HTTP

      • HTTPS

      port du protocole

      Spécifiez le port du protocole.

      nom

      Donnez un nom au nouvel écouteur.

    3. Créez un pool LBaaS.
      neutron lbaas-pool-create \
      --lb-algorithm <load balancing method> \
      --listener LISTENER_1_NAME \
      --protocol <protocol type> \
      --name LB_POOL_1

      Paramètre

      Description

      lb-algorithm

      Spécifiez une méthode d'équilibrage de charge :

      • IP_HASH

        Sélectionne un serveur sur la base d'un hash de l'adresse IP de la source et de la destination de chaque paquet.

      • LEAST_CONN

        Distribue les demandes des clients à plusieurs serveurs sur la base du nombre de connexions déjà établies sur le serveur. Les nouvelles connexions sont envoyées au serveur établissant le moins de connexions.

      • ROUND_ROBIN

        Chaque serveur est utilisé à tour de rôle en fonction du poids qui lui est attribué. Cette procédure représente l'algorithme le plus équitable lorsque le temps de traitement du serveur reste uniformément distribué.

      • URI

        La partie gauche de l'URI, avant le point d'interrogation, fait l'objet d'un hash et est divisée par le poids des serveurs en cours d'exécution. Le résultat désigne quel serveur reçoit la demande, garantissant ainsi qu'une demande est toujours dirigée au même serveur tant que tous les serveurs restent disponibles.

      écouteur

      Spécifiez l'écouteur que vous avez créé à l'étape subsidiaire précédente.

      protocole

      Spécifiez le protocole à utiliser pour les membres du pool.

      • TCP

      • HTTP

      • HTTPS

      nom

      Donnez un nom au nouveau pool.

  9. Créez les instances pour les serveurs et le client.
    nova boot --image <image-uuid> --flavor <flavor> <server 1 name>
    nova boot --image <image-uuid> --flavor <flavor> <server 2 name>
    nova boot --image <image-uuid> --flavor 1 <client name>
  10. Ajoutez les instances de serveur au pool de LBaaS que vous avez créé.
    neutron lbaas-member-create  \
    --subnet <subnet-id> --address <server 1 IP> \
    --protocol-port 80 <pool name>
    
    neutron lbaas-member-create  \
    --subnet <subnet-id> --address <server 2 IP> \
    --protocol-port 80 <pool name>
  11. Configurez le moniteur de santé.
    neutron lbaas-healthmonitor-create \
    --delay DELAY_IN_SECONDS --type [HTTP | TCP] --max-retries NUMBER \
    --timeout TIMEOUT_IN_SECONDS --pool LBAAS_POOL

    Paramètre

    Description

    delay

    Intervalle en secondes entre l'envoi de sondes aux membres.

    type

    L'un des types de moniteurs de santé prédéfinis. Spécifiez HTTP ou TCP.

    max-retries

    Nombre de pannes de connexion autorisées avant la modification du statut des membres sur INACTIF.

    timeout

    Nombre maximal de secondes pendant lesquelles un moniteur doit attendre l'établissement d'une connexion avant son expiration.

    Remarque :

    La valeur de délai d'expiration doit être inférieure à la valeur de retard.

    pool

    Spécifiez le pool LBaaS à surveiller.

  12. (Facultatif) : Envoyez des requêtes de test pour valider votre configuration LBaaS.
    1. Créez un fichier index.html de test.
    2. À partir du même répertoire, exécutez une simple demande.
      # sudo python -m SimpleHTTPServer 80
    3. Connectez-vous à l'instance du client.
    4. Exécutez la commande wget pour voir si vos demandes obtiennent un bon équilibrage de charge entre les serveurs du pool.
       # wget -O - http://<vip-ip>