---
title: "Utiliser la fonctionnalité de poids sur un membre du Load Balancer"
description: "Découvrez comment ajuster le poids d'un membre du Load Balancer"
url: https://docs.ovhcloud.com/fr/guides/public-cloud/network-services/weight-load-balancer-member
lang: fr
lastUpdated: 2025-10-01
---
# Utiliser la fonctionnalité de poids sur un membre du Load Balancer

## Objectif

Ce guide explique comment utiliser la fonctionnalité de poids pour supprimer temporairement un membre du Load Balancer de la réception du trafic à des fins de maintenance.

### Utilisation de la fonction de pondération

Octavia prend en charge la configuration du poids des membres de 0 à 256.

:::info
Le poids d'un membre détermine la portion des requêtes ou des connexions qu'il traite par rapport aux autres membres du pool. Un poids plus élevé signifie qu'il recevra plus de trafic.
Par exemple, un membre avec un poids de 10 reçoit cinq fois plus de trafic qu'un membre avec un poids de 2.

:::

Le poids doit être un nombre compris entre 1 et 256. Une valeur de 0 signifie que le membre ne reçoit pas de nouvelles connexions mais continue à traiter les connexions existantes.

En définissant le poids sur 0, le membre est effectivement retiré du pool de trafic, ce qui vous permet d'effectuer des mises à niveau ou des opérations de maintenance sans interruption de service.

## Prérequis

- Un <ManagerLink to="/">compte OVHcloud actif</ManagerLink>.
- Un [projet Public Cloud OVHcloud](/fr/guides/public-cloud/cross-functional/create-a-public-cloud-project.md).
- Un [Load Balancer configuré avec plusieurs membres](/fr/guides/network/load-balancer/create-http-https.md).
- La [CLI OpenStack installée et configurée](/fr/guides/public-cloud/cross-functional/compute-prepare-openstack-api-environment.md).

## En pratique


***

### Accès à l'espace client OVHcloud

- **Lien direct :** <ManagerLink to="/#/pci/projects">Projets Public Cloud</ManagerLink>
- **Pour accéder à vos services :** <code className="action">Public Cloud</code> > Sélectionnez votre projet

***


### Étape 1 - Créer un Load Balancer avec deux membres

Utilisez le référentiel suivant pour créer un Load Balancer avec deux membres :

- [simple\_http\_lb](https://github.com/yomovh/tf-at-ovhcloud/tree/main/simple_http_lb)

Vérifiez que les deux membres reçoivent du trafic en exécutant ce script :

```bash
#!/bin/sh

while true; do
  curl http://<FIP>/
  sleep 1
done
```

Les réponses des deux membres doivent être alternées :

```html
<html><head><title>Load Balanced Member 1</title></head><body><h1>You hit your OVHCloud load balancer member #1 !</h1></body></html>
<html><head><title>Load Balanced Member 0</title></head><body><h1>You hit your OVHCloud load balancer member #0 !</h1></body></html>
```

### Étape 2 - Définir le poids d'un membre sur 0


**API OVHcloud**

Connectez-vous à l’interface APIv6 d’OVHcloud en utilisant ce guide de [premiers pas avec l’API OVHcloud](/fr/guides/manage-and-operate/api/first-steps.md).
Si l'identifiant du projet est inconnu, les appels d'API ci-dessous permettent de le récupérer.
Cet appel permet de récupérer la liste des projets:

🇪🇺EU▾

[GET/cloud/project](https://eu.api.ovh.com/console/?section=/cloud&branch=v1#get-/cloud/project)

Cet appel identifie le projet via le champ « description ».

🇪🇺EU▾

[GET/cloud/project/{serviceName}](https://eu.api.ovh.com/console/?section=/cloud&branch=v1#get-/cloud/project/-serviceName-)

L'appel ci-dessous permet de récupérer l'identifiant du pool. Complétez les champs avec les informations précédemment obtenues :
- **serviceName** : ID du projet Public Cloud sous la forme d'une chaîne de 32 caractères.
- **regionName** : nom de votre région.

🇪🇺EU▾

[GET/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool](https://eu.api.ovh.com/console/?section=/cloud&branch=v1#get-/cloud/project/-serviceName-/region/-regionName-/loadbalancing/pool)

Vous pouvez laisser le champ « loadbalancerId » vide afin d'obtenir tous les pools créés dans la région spécifiée.
L'appel ci-dessous permet de récupérer l'identifiant du membre (member), complétez les champs avec les informations précédemment obtenues :
- **serviceName** : ID du projet Public Cloud sous la forme d'une chaîne de 32 caractères.
- **regionName** : nom de votre région.
- **poolId** : ID du pool sous la forme d'une chaîne de 32 caractères.

🇪🇺EU▾

[GET/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member](https://eu.api.ovh.com/console/?section=/cloud&branch=v1#get-/cloud/project/-serviceName-/region/-regionName-/loadbalancing/pool/-poolId-/member)

Vous pouvez mettre à jour un membre du pool avec l'appel API suivant :

🇪🇺EU▾

[PUT/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}](https://eu.api.ovh.com/console/?section=/cloud&branch=v1#put-/cloud/project/-serviceName-/region/-regionName-/loadbalancing/pool/-poolId-/member/-memberId-)

Remplissez les champs avec les informations précédemment obtenues :
- **serviceName** : ID du projet Public Cloud sous la forme d'une chaîne de 32 caractères.
- **regionName** : nom de votre région.
- **poolId** : ID du pool sous la forme d'une chaîne de 32 caractères.
- **memberId** : ID de membre sous forme de chaîne de 32 caractères.
- **weight** : Définissez le poids sur 0.
Cliquez sur <code className="action">Execute</code>.
![public-cloud](/images/public-cloud/network-services/weight-load-balancer/member-api-update.png)

**Horizon**

Il existe deux façons d'accéder à l'interface Horizon :
- Pour vous connecter avec l'authentification unique OVHcloud (SSO) : utilisez le lien <code className="action">Horizon</code> dans le menu de gauche sous « Interfaces de gestion » dans votre projet <code className="action">Public Cloud</code>.
- Pour vous connecter avec un utilisateur OpenStack spécifique : ouvrez la [page de connexion à Horizon](https://horizon.cloud.ovh.net/auth/login/) et entrez les [identifiants de l'utilisateur OpenStack](/fr/guides/public-cloud/cross-functional/create-and-delete-a-user.md) précédemment créé, puis cliquez sur <code className="action">Se connecter</code>.
Sélectionnez la région appropriée dans le menu déroulant en haut à gauche.
Dans l'onglet de gauche, cliquez sur l'onglet <code className="action">Network</code> puis sur <code className="action">Load Balancers</code>.
Cliquez sur le load balancer concerné.
Dans l'onglet, cliquez sur <code className="action">Pools</code> puis sur le <code className="action">pool</code> dans lequel se trouve le membre.
![public-cloud](/images/public-cloud/network-services/weight-load-balancer/pool-tab.png)Dans l'onglet, cliquez sur <code className="action">Members</code> puis sur <code className="action">Edit Member</code>.
![Mettre à jour le tableau de bord Openstack membre](/images/public-cloud/network-services/weight-load-balancer/update-member_openstack_dashboard-1.png)Modifiez le poids (`Weight`) à 0, puis cliquer sur <code className="action">Update</code>.
![Update weight](/images/public-cloud/network-services/weight-load-balancer/update-weight.png)

**CLI**

Pour empêcher le trafic d'être routé vers un membre spécifique, définissez son poids sur 0 :
```bash
$ openstack loadbalancer member set --weight 0 <pool> <member_0>
```


### Étape 3 - Vérifier le statut du membre

Après avoir défini le poids du membre sur 0, son statut passe de **ONLINE** à **DRAINING**.

:::info
Il est important de noter que dans le système actuel, le membre restera dans l'état **DRAINING** même après que tout le trafic ait été vidé.

:::

Cela peut être déroutant car certains utilisateurs s'attendent à un statut final de **DRAINED** une fois que tout le trafic a été redirigé. Cependant, le système ne passe pas automatiquement à **DRAINED**.

- **DRAINING** signifie simplement que le membre ne reçoit plus de trafic, et non pas qu'il draine toujours activement le trafic.
- L'état **DRAINED** n'est pas encore pris en charge par l'API OpenStack actuelle.

Si avoir un statut final **DRAINED** est critique pour vos opérations, il est recommandé de [soumettre une demande de fonctionnalité à OVHcloud](https://github.com/ovh/public-cloud-roadmap) pour cette fonctionnalité lors d'une prochaine mise à jour. Cependant, cela ne sera possible qu'une fois cette fonctionnalité prise en charge par OpenStack.


**API OVHcloud**

Utilisez l'appel API suivant :

🇪🇺EU▾

[PUT/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}](https://eu.api.ovh.com/console/?section=/cloud&branch=v1#put-/cloud/project/-serviceName-/region/-regionName-/loadbalancing/pool/-poolId-/member/-memberId-)


**Horizon**

Pour vérifier l'état du membre, cliquez sur <code className="action">Network</code> dans l'onglet de gauche puis sur <code className="action">Load Balancers</code>.
Cliquez sur le load balancer concerné.
Dans l'onglet, cliquez sur <code className="action">Pools</code> puis sur le <code className="action">pool</code> dans lequel se trouve le membre.
Cliquez sur l'onglet <code className="action">Members</code> :
![Mettre à jour le poids](/images/public-cloud/network-services/weight-load-balancer/member-status-draining.png)

**CLI**

Vous pouvez vérifier l'état du membre à l'aide de la commande suivante :
```bash
$ openstack loadbalancer member list <pool_name>
```
Vous devriez voir :
```bash
---------------------------------------------------------------------------------------------------
id                                   name       provisioning_status  operating_status   weight
---------------------------------------------------------------------------------------------------
27cfe834-7fef-4548-b71b-fa0ce67222f8 member_1   ACTIVE               ONLINE             1
118756ba-2cae-4141-b9c2-8b18b120c8dc member_0   ACTIVE               DRAINING           0
---------------------------------------------------------------------------------------------------
```


**Terraform**

Créez un fichier `.tf` pour gérer une ressource de membres V2 dans OpenStack. Par exemple :
```python
resource "openstack_lb_monitor_v2" "monitor_1" {
 pool_id     = "<POOL_ID>"
 member {
 address       = "10.0.0.158"
 protocol_port = 8080
 weight = 0
 }
 
 member {
 address       = "10.0.0.200"
 protocol_port = 8080
 weight = 1
 }
}
```
Remplacez `<POOL_ID>` par l'ID de votre Pool. Pour plus de détails sur les options disponibles pour cette ressource, référez-vous à la [documentation officielle](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/lb_monitor_v2) pour la ressource `openstack_lb_monitor_v2` sur le registre Terraform.
**Application de la configuration**
Pour appliquer votre configuration Terraform :
- Exécutez `terraform init` pour initialiser le répertoire de travail Terraform.
- Exécutez `terraform apply` pour appliquer les modifications définies dans votre configuration.
**Vérification**
Après avoir exécuté `terraform apply`, Terraform vous fournira un résumé des ressources créées, modifiées ou supprimées. Ceci confirme la création ou la mise à jour de votre moniteur d'intégrité.


### Étape 4 - Confirmer que le trafic est dirigé vers le membre actif

Le membre dont le poids est égal à 0 aura un état de fonctionnement (_Operating Status_) `Draining`. Exécutez à nouveau le script de test :

```bash
#!/bin/sh

while true; do
  curl http://<FIP>/
  sleep 1
done
```

Vous ne devriez maintenant voir que les réponses de `member_1` :

```html
<html><head><title>Load Balanced Member 1</title></head><body><h1>You hit your OVHCloud load balancer member #1 !</h1></body></html>
```

### Étape 5 - Effectuer la maintenance

Maintenant que `member_0` ne reçoit plus de trafic, vous pouvez effectuer en toute sécurité des tâches de maintenance ou de mise à niveau.

### Étape 6 - Restaurer le trafic vers le membre

Une fois la maintenance terminée, réglez le poids de `member_0` sur sa valeur d'origine (par exemple, 1) :


**API OVHcloud**

Vous pouvez mettre à jour un membre du pool avec l'appel API suivant :

🇪🇺EU▾

[PUT/cloud/project/{serviceName}/region/{regionName}/loadbalancing/pool/{poolId}/member/{memberId}](https://eu.api.ovh.com/console/?section=/cloud&branch=v1#put-/cloud/project/-serviceName-/region/-regionName-/loadbalancing/pool/-poolId-/member/-memberId-)

Remplissez les champs avec les informations précédemment obtenues :
- **serviceName** : ID du projet Public Cloud sous la forme d'une chaîne de 32 caractères.
- **regionName** : nom de votre région.
- **poolId** : ID du pool sous la forme d'une chaîne de 32 caractères.
- **memberId** : ID de membre sous forme de chaîne de 32 caractères.
- **weight** : Définissez le poids sur 1.
Cliquez sur <code className="action">Execute</code>.
![public-cloud](/images/public-cloud/network-services/weight-load-balancer/member-api-update.png)

**Horizon**

Connectez-vous à l'[interface Horizon](https://horizon.cloud.ovh.net/auth/login/).
Sélectionnez la région appropriée dans le menu déroulant en haut à gauche.
Dans l'onglet de gauche, cliquez sur <code className="action">Network</code>, puis sur <code className="action">Load Balancers</code>.
Cliquez sur le load balancer concerné.
Dans l'onglet, cliquez sur <code className="action">Pools</code> puis sur le <code className="action">pool</code> dans lequel se trouve le membre.
![Mettre à jour le tableau de bord Openstack membre](/images/public-cloud/network-services/weight-load-balancer/pool-tab.png)Cliquez sur l'onglet <code className="action">Members</code>, puis sur <code className="action">Edit Member</code> à côté du membre correspondant.
![Update Member Openstack dashboard](/images/public-cloud/network-services/weight-load-balancer/update-member_openstack_dashboard.png)Vous pouvez modifier le Poids (_Weight_) à 1 puis cliquer sur <code className="action">Update</code>
![public-cloud](/images/public-cloud/network-services/weight-load-balancer/update-member-3-OpenStack_dashboard.png)

**CLI**

Pour restaurer le trafic routé vers un membre spécifique, définissez son poids sur 1 :
```bash
$ openstack loadbalancer member set --weight 1 <pool> <member_0>
```


**Terraform**

Créez un fichier `.tf` pour gérer une ressource de membres V2 dans OpenStack. Par exemple :
```python
resource "openstack_lb_monitor_v2" "monitor_1" {
 pool_id     = "<POOL_ID>"
 member {
 address       = "10.0.0.158"
 protocol_port = 8080
 weight = 1
 }
 
 member {
 address       = "10.0.0.200"
 protocol_port = 8080
 weight = 1
 }
}
```
Remplacez `<POOL_ID>` par l'ID de votre Pool. Pour plus de détails sur les options disponibles pour cette ressource, référez-vous à la [documentation officielle](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/lb_monitor_v2) pour la ressource `openstack_lb_monitor_v2` sur le registre Terraform.
**Application de la configuration**
Pour appliquer votre configuration Terraform :
- Exécutez `terraform init` pour initialiser le répertoire de travail Terraform.
- Exécutez `terraform apply` pour appliquer les modifications définies dans votre configuration.
**Vérification**
Après avoir exécuté `terraform apply`, Terraform vous fournira un résumé des ressources créées, modifiées ou supprimées. Cela confirme la création ou la mise à jour de votre Health Monitor.


### Étape 7 - Vérifier que les deux membres reçoivent bien le trafic

Réutilisez le script :

```bash
#!/bin/sh
while true; do
curl http://<FIP>/
sleep 1
done
```

Vous devriez voir des réponses alternées provenant des deux membres :

```html
<html><head><title>Load Balanced Member 1</title></head><body><h1>You hit your OVHCloud load balancer member #1 !</h1></body></html>
<html><head><title>Load Balanced Member 0</title></head><body><h1>You hit your OVHCloud load balancer member #0 !</h1></body></html>
```

## Aller plus loin

Échangez avec notre [communauté d’utilisateurs](https://community.ovhcloud.com/).
