23.9. Utilisation de la multidiffusion haute performance
Vous pouvez utiliser le multicast sur votre réseau matériel de virtualisation d'E/S à racine unique (SR-IOV).
23.9.1. Multidiffusion haute performance Copier lienLien copié sur presse-papiers!
Le plugin réseau OpenShift SDN supporte le multicast entre les pods sur le réseau par défaut. Il est préférable de l'utiliser pour la coordination ou la découverte de services à faible bande passante, et non pour des applications à large bande passante. Pour les applications telles que le streaming média, comme la télévision sur protocole Internet (IPTV) et la vidéoconférence multipoint, vous pouvez utiliser du matériel de virtualisation d'E/S à racine unique (SR-IOV) pour fournir des performances quasi natives.
Lors de l'utilisation d'interfaces SR-IOV supplémentaires pour le multicast :
- Les paquets de multidiffusion doivent être envoyés ou reçus par un pod via l'interface SR-IOV supplémentaire.
- Le réseau physique qui connecte les interfaces SR-IOV décide du routage et de la topologie multicast, qui n'est pas contrôlée par OpenShift Container Platform.
23.9.2. Configuration d'une interface SR-IOV pour la multidiffusion Copier lienLien copié sur presse-papiers!
La procédure suivante crée un exemple d'interface SR-IOV pour le multicast.
Conditions préalables
-
Installez le CLI OpenShift (
oc). -
Vous devez vous connecter au cluster avec un utilisateur ayant le rôle
cluster-admin.
Procédure
Créer un objet
SriovNetworkNodePolicy:apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetworkNodePolicy metadata: name: policy-example namespace: openshift-sriov-network-operator spec: resourceName: example nodeSelector: feature.node.kubernetes.io/network-sriov.capable: "true" numVfs: 4 nicSelector: vendor: "8086" pfNames: ['ens803f0'] rootDevices: ['0000:86:00.0']Créer un objet
SriovNetwork:apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetwork metadata: name: net-example namespace: openshift-sriov-network-operator spec: networkNamespace: default ipam: |1 { "type": "host-local",2 "subnet": "10.56.217.0/24", "rangeStart": "10.56.217.171", "rangeEnd": "10.56.217.181", "routes": [ {"dst": "224.0.0.0/5"}, {"dst": "232.0.0.0/5"} ], "gateway": "10.56.217.1" } resourceName: exampleCréer un pod avec une application multicast :
apiVersion: v1 kind: Pod metadata: name: testpmd namespace: default annotations: k8s.v1.cni.cncf.io/networks: nic1 spec: containers: - name: example image: rhel7:latest securityContext: capabilities: add: ["NET_ADMIN"]1 command: [ "sleep", "infinity"]- 1
- La capacité
NET_ADMINn'est requise que si votre application doit attribuer l'adresse IP multicast à l'interface SR-IOV. Dans le cas contraire, elle peut être omise.