Chapitre 8. Plugin réseau OpenShift SDN


8.1. Activer la multidiffusion pour un projet

8.1.1. À propos du multidiffusion

Avec le multidiffusion IP, les données sont diffusées simultanément à de nombreuses adresses IP.

Important
  • À l’heure actuelle, le multicast est le mieux utilisé pour la coordination à faible bande passante ou la découverte de services et non pour une solution à bande passante élevée.
  • Les stratégies réseau affectent par défaut toutes les connexions dans un espace de noms. Cependant, la multidiffusion n’est pas affectée par les politiques de réseau. Lorsque la multidiffusion est activée dans le même espace de noms que vos stratégies réseau, elle est toujours autorisée, même s’il existe une stratégie réseau refusée. Les administrateurs de clusters devraient tenir compte des implications de l’exemption de la multidiffusion des politiques réseau avant de l’autoriser.

Le trafic multidiffusion entre les pods dédiés OpenShift est désactivé par défaut. En utilisant le plugin réseau OVN-Kubernetes, vous pouvez activer la multidiffusion par projet.

8.1.2. Activer la multidiffusion entre les pods

Il est possible d’activer le multicast entre les pods pour votre projet.

Conditions préalables

  • Installez le OpenShift CLI (oc).
  • Connectez-vous au cluster avec un utilisateur qui a le rôle cluster-admin ou dédié-admin.

Procédure

  • Exécutez la commande suivante pour activer le multicast pour un projet. <namespace> par l’espace de noms pour le projet pour lequel vous souhaitez activer le multicast.

    $ oc annotate namespace <namespace> \
        k8s.ovn.org/multicast-enabled=true
    Copy to Clipboard Toggle word wrap
    Astuce

    Alternativement, vous pouvez appliquer le YAML suivant pour ajouter l’annotation:

    apiVersion: v1
    kind: Namespace
    metadata:
      name: <namespace>
      annotations:
        k8s.ovn.org/multicast-enabled: "true"
    Copy to Clipboard Toggle word wrap

La vérification

Afin de vérifier que la multidiffusion est activée pour un projet, complétez la procédure suivante:

  1. Changez votre projet actuel au projet pour lequel vous avez activé le multicast. &lt;project&gt; par le nom du projet.

    $ oc project <project>
    Copy to Clipboard Toggle word wrap
  2. Créer un pod pour agir en tant que récepteur multicast:

    $ cat <<EOF| oc create -f -
    apiVersion: v1
    kind: Pod
    metadata:
      name: mlistener
      labels:
        app: multicast-verify
    spec:
      containers:
        - name: mlistener
          image: registry.access.redhat.com/ubi9
          command: ["/bin/sh", "-c"]
          args:
            ["dnf -y install socat hostname && sleep inf"]
          ports:
            - containerPort: 30102
              name: mlistener
              protocol: UDP
    EOF
    Copy to Clipboard Toggle word wrap
  3. Créer un pod pour agir en tant qu’expéditeur multicast:

    $ cat <<EOF| oc create -f -
    apiVersion: v1
    kind: Pod
    metadata:
      name: msender
      labels:
        app: multicast-verify
    spec:
      containers:
        - name: msender
          image: registry.access.redhat.com/ubi9
          command: ["/bin/sh", "-c"]
          args:
            ["dnf -y install socat && sleep inf"]
    EOF
    Copy to Clipboard Toggle word wrap
  4. Dans une nouvelle fenêtre ou onglet terminal, démarrez l’auditeur multicast.

    1. Accédez à l’adresse IP du Pod:

      $ POD_IP=$(oc get pods mlistener -o jsonpath='{.status.podIP}')
      Copy to Clipboard Toggle word wrap
    2. Démarrez l’auditeur multicast en entrant la commande suivante:

      $ oc exec mlistener -i -t -- \
          socat UDP4-RECVFROM:30102,ip-add-membership=224.1.0.1:$POD_IP,fork EXEC:hostname
      Copy to Clipboard Toggle word wrap
  5. Démarrez l’émetteur multidiffusion.

    1. Accédez à la plage d’adresse IP du réseau pod:

      $ CIDR=$(oc get Network.config.openshift.io cluster \
          -o jsonpath='{.status.clusterNetwork[0].cidr}')
      Copy to Clipboard Toggle word wrap
    2. Afin d’envoyer un message multicast, entrez la commande suivante:

      $ oc exec msender -i -t -- \
          /bin/bash -c "echo | socat STDIO UDP4-DATAGRAM:224.1.0.1:30102,range=$CIDR,ip-multicast-ttl=64"
      Copy to Clipboard Toggle word wrap

      Lorsque le multicast fonctionne, la commande précédente renvoie la sortie suivante:

      mlistener
      Copy to Clipboard Toggle word wrap
Retour au début
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. Découvrez nos récentes mises à jour.

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 le Blog 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.

Theme

© 2025 Red Hat