Vous pouvez configurer LBaaS à l'aide de l'interface de ligne de commande sur le nœud du contrôleur actif.

Les écouteurs LBaaS peuvent utiliser HTTP, TCP ou HTTPS terminé. Les écouteurs HTTPS terminés terminent TLS pour les connexions entrantes. Les certificats TLS et les clés de ces écouteurs sont stockés dans Barbican. Si vous souhaitez créer des écouteurs HTTPS terminés, contactez votre administrateur de cloud pour déterminer si vous devez configurer la liste de contrôle d'accès (ACL) pour accorder aux utilisateurs barbican l'accès aux secrets de votre projet.

Conditions préalables

  • Créez un sous-réseau public et un routeur sur votre réseau. Pour un déploiement NSX Data Center for vSphere, le type de routeur doit être exclusive.

    Note:

    Vous pouvez créer l'équilibrage de charge sur un sous-réseau de locataire, mais vous devez lui attribuer une adresse IP flottante.

  • Configurez au moins un client et au moins deux instances de serveur.

Procédure

  1. Connectez-vous à Serveur de gestion OpenStack en tant que viouser.
  2. Connectez-vous au nœud de contrôleur en tant que viouser.
  3. Chargez le fichier d'informations d'identification pour votre compte d'utilisateur.
    source user-credentials.rc
  4. Si vous souhaitez créer des écouteurs HTTPS terminés et que vous devez configurer la liste de contrôle d'accès, accordez à l'utilisateur barbican l'accès à vos certificats, clés et conteneurs TLS.
    openstack acl user add -u barbican-uuid object-name

    Exécutez cette commande une fois pour chaque certificat, clé et conteneur dans votre projet.

    Vous pouvez exécuter la commande openstack user list pour trouver l'UUID de l'utilisateur barbican. Vous pouvez exécuter la commande openstack secret list pour trouver des noms de certificats, de clés et de conteneurs.

  5. Créez un équilibrage de charge.
    neutron lbaas-loadbalancer-create --name lb-name lb-subnet-id

    Seuls les membres du sous-réseau peuvent être ajoutés au pool LBaaS.

  6. Créez un écouteur pour le nouvel équilibrage de charge.
    neutron lbaas-listener-create --loadbalancer lb-name --protocol {HTTP | TCP | TERMINATED_HTTPS} --protocol-port port-num --name listener-name [--default-tls-container=tls-container-uuid]

    Si vous spécifiez TERMINATED_HTTPS comme protocole, vous devez également fournir l'ID du conteneur TLS.

  7. Créez un pool LBaaS.
    neutron lbaas-pool-create --lb-algorithm lb-method --listener listener-name --protocol {TCP | HTTP} --name pool-name

    Le paramètre --lb-algorithm accepte les valeurs suivantes.

    Argument

    Description

    LEAST_CONNECTIONS

    Les nouvelles demandes de client 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é.

    SOURCE_IP

    Toutes les connexions issues de la même adresse IP source sont gérées par le même membre du pool.

  8. Ajoutez au moins deux instances de serveur au pool de LBaaS que vous avez créé.
    neutron lbaas-member-create --subnet lb-subnet-id --address server1-ip --protocol-port 80 pool-name
    neutron lbaas-member-create --subnet lb-subnet-id --address server2-ip --protocol-port 80 pool-name
  9. Configurez le moniteur de santé.
    neutron lbaas-healthmonitor-create --delay delay-seconds --type {HTTP | TCP | PING} --max-retries number --timeout timeout-seconds --pool pool-name

    Paramètre

    Description

    --delay

    Entrez l'intervalle en secondes entre l'envoi de sondes aux membres.

    --type

    Spécifiez HTTP, TCP ou PING.

    --max-retries

    Entrez le nombre d'échecs de connexion autorisés avant de remplacer l'état du membre par INACTIVE.

    --timeout

    Entrez la période d'attente d'établissement de connexion en secondes au terme de laquelle un moniteur subit une expiration de délai d'attente.

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

    --pool

    Spécifiez le pool de LBaaS que vous avez créé.

  10. Si vous avez créé l'équilibrage de charge sur un sous-réseau de locataire, associez une adresse IP flottante à l'équilibrage de charge.
  11. (Facultatif) Envoyez des requêtes de test pour valider votre configuration LBaaS.
    1. Connectez-vous à Serveur de gestion OpenStack en tant que viouser.
    2. Créez un fichier index.html de test.
    3. Dans le même répertoire, démarrez un serveur Web.
      sudo python -m SimpleHTTPServer 80
    4. Connectez-vous à l'instance du client.
    5. Exécutez la commande wget et déterminez si vos demandes obtiennent un bon équilibrage de charge entre les serveurs du pool.
      • Pour un équilibrage de charge sans TLS, exécutez la commande suivante :

        wget -O - http://mgmt-server-ip
      • Pour un équilibrage de charge avec TLS, exécutez la commande suivante :

        wget -O - https://mgmt-server-ip