Rechercher

32.4. Configuration des pools d'adresses MetalLB

download PDF

En tant qu'administrateur de cluster, vous pouvez ajouter, modifier et supprimer des pools d'adresses. L'opérateur MetalLB utilise les ressources personnalisées du pool d'adresses pour définir les adresses IP que MetalLB peut attribuer aux services. L'espace de noms utilisé dans les exemples suppose que l'espace de noms est metallb-system.

32.4.1. À propos de la ressource personnalisée IPAddressPool

Note

La définition de ressource personnalisée du pool d'adresses (CRD) et l'API documentées dans "Load balancing with MetalLB" dans OpenShift Container Platform 4.10 peuvent toujours être utilisées dans 4.12. Cependant, la fonctionnalité améliorée associée à la publicité de IPAddressPools avec la couche 2 ou le protocole BGP n'est pas prise en charge lors de l'utilisation de la CRD du pool d'adresses.

Les champs de la ressource personnalisée IPAddressPool sont décrits dans le tableau suivant.

Tableau 32.1. MetalLB IPAddressPool pool ressource personnalisée
FieldTypeDescription

metadata.name

string

Spécifie le nom du pool d'adresses. Lorsque vous ajoutez un service, vous pouvez spécifier ce nom de pool dans l'annotation metallb.universe.tf/address-pool pour sélectionner une adresse IP dans un pool spécifique. Les noms doc-example, silver, et gold sont utilisés dans la documentation.

metadata.namespace

string

Spécifie l'espace de noms pour le pool d'adresses. Spécifier le même espace de noms que celui utilisé par l'opérateur MetalLB.

metadata.label

string

Facultatif : Spécifie la paire clé-valeur attribuée à IPAddressPool et peut être référencée par ipAddressPoolSelectors dans les CRD BGPAdvertisement et L2Advertisement afin d'associer IPAddressPool à l'annonce

spec.addresses

string

Spécifie une liste d'adresses IP que MetalLB Operator attribuera aux services. Vous pouvez spécifier plusieurs plages dans un seul pool ; elles partageront toutes les mêmes paramètres. Spécifiez chaque plage en notation CIDR ou sous forme d'adresses IP de début et de fin séparées par un trait d'union.

spec.autoAssign

boolean

Facultatif : Spécifie si MetalLB attribue automatiquement les adresses IP de ce pool. Spécifiez false si vous voulez demander explicitement une adresse IP de ce pool avec l'annotation metallb.universe.tf/address-pool. La valeur par défaut est true.

32.4.2. Configuration d'un pool d'adresses

En tant qu'administrateur de cluster, vous pouvez ajouter des pools d'adresses à votre cluster pour contrôler les adresses IP que MetalLB peut attribuer aux services de load-balancer.

Conditions préalables

  • Installez le CLI OpenShift (oc).
  • Connectez-vous en tant qu'utilisateur disposant des privilèges cluster-admin.

Procédure

  1. Créez un fichier, tel que ipaddresspool.yaml, dont le contenu ressemble à l'exemple suivant :

    apiVersion: metallb.io/v1beta1
    kind: IPAddressPool
    metadata:
      namespace: metallb-system
      name: doc-example
      labels: 1
        zone: east
    spec:
      addresses:
      - 203.0.113.1-203.0.113.10
      - 203.0.113.65-203.0.113.75
    1
    Cette étiquette attribuée à IPAddressPool peut être référencée par ipAddressPoolSelectors dans le CRD BGPAdvertisement pour associer IPAddressPool à l'annonce.
  2. Appliquer la configuration du pool d'adresses IP :

    $ oc apply -f ipaddresspool.yaml

Vérification

  • Afficher le pool d'adresses :

    $ oc describe -n metallb-system IPAddressPool doc-example

    Exemple de sortie

    Name:         doc-example
    Namespace:    metallb-system
    Labels:       zone=east
    Annotations:  <none>
    API Version:  metallb.io/v1beta1
    Kind:         IPAddressPool
    Metadata:
      ...
    Spec:
      Addresses:
        203.0.113.1-203.0.113.10
        203.0.113.65-203.0.113.75
      Auto Assign:  true
    Events:         <none>

Confirmez que le nom du pool d'adresses, tel que doc-example, et les plages d'adresses IP apparaissent dans la sortie.

32.4.3. Exemples de configurations de pools d'adresses

32.4.3.1. Exemple : Plages IPv4 et CIDR

Vous pouvez spécifier une plage d'adresses IP en notation CIDR. Vous pouvez combiner la notation CIDR avec la notation qui utilise un trait d'union pour séparer les limites inférieures et supérieures.

apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: doc-example-cidr
  namespace: metallb-system
spec:
  addresses:
  - 192.168.100.0/24
  - 192.168.200.0/24
  - 192.168.255.1-192.168.255.5

32.4.3.2. Exemple : Réserver des adresses IP

Vous pouvez définir le champ autoAssign sur false pour empêcher MetalLB d'attribuer automatiquement les adresses IP du pool. Lorsque vous ajoutez un service, vous pouvez demander une adresse IP spécifique du pool ou vous pouvez spécifier le nom du pool dans une annotation pour demander n'importe quelle adresse IP du pool.

apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: doc-example-reserved
  namespace: metallb-system
spec:
  addresses:
  - 10.0.100.0/28
  autoAssign: false

32.4.3.3. Exemple : Adresses IPv4 et IPv6

Vous pouvez ajouter des pools d'adresses qui utilisent IPv4 et IPv6. Vous pouvez spécifier plusieurs plages dans la liste addresses, comme dans plusieurs exemples IPv4.

L'attribution d'une adresse IPv4 unique, d'une adresse IPv6 unique ou des deux est déterminée par la façon dont vous ajoutez le service. Les champs spec.ipFamilies et spec.ipFamilyPolicy contrôlent la manière dont les adresses IP sont attribuées au service.

apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: doc-example-combined
  namespace: metallb-system
spec:
  addresses:
  - 10.0.100.0/28
  - 2002:2:2::1-2002:2:2::100

32.4.4. Ressources supplémentaires

32.4.5. Prochaines étapes

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.