1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

Add guide for high performance multicast

This commit is contained in:
Peng Liu
2019-11-13 12:13:52 +08:00
committed by openshift-cherrypick-robot
parent 36bee8b87f
commit 8673474efc
2 changed files with 102 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
// Module included in the following assemblies:
//
// * networking/multiple-networks/configuring-sr-iov.adoc
= Configuring performance multicast
Openshift SDN supports multicast between Pods on the default network. This is best used for low-bandwidth coordination or service discovery, and not a high-bandwidth solution. For applications of streaming media, such as IPTV and
multipoint videoconferencing, you can utilize SR-IOV to provide near-native
performance.
When using additional SR-IOV interfaces for multicast:
* Multicast packages must be sent or received by a Pod through the additional SR-IOV
interface.
* The physical network which connects the SR-IOV interfaces decides the
multicast routing and topology, which is not controlled by Openshift.
= Using an SR-IOV interface for multicast
The follow procedure creates an example SR-IOV interface for multicast.
.Prerequisites
* Install the OpenShift Command-line Interface (CLI), commonly known as `oc`.
* You must log in to the cluster with a user that has the `cluster-admin` role.
.Procedure
. Create a SriovNetworkNodePolicy CR
+
[source,yaml]
----
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"
pfName: ['ens803f0']
rootDevices: ['0000:86:00.0']
----
. Create a SriovNetwork CR
+
[source,yaml]
----
apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetwork
metadata:
name: net-example
namespace: openshift-sriov-network-operator
spec:
networkNamespace: default
ipam: |
{
"type": "host-local", <1>
"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: example
----
<1> Make sure to provision the following default routes through your DHCP server
224.0.0.0/5, 232.0.0.0/5, if you choose to use DHCP as IPAM. This is to override
the static multicast route set by Openshift-SDN.
. User can now create a Pod with multicast application
+
[source,yaml]
----
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> The NET_ADMIN capability is only required if your application needs to
assign the multicast IP address to the SR-IOV interface. Otherwise, it can be
omitted.

View File

@@ -125,3 +125,5 @@ include::modules/nw-multus-add-pod.adoc[leveloffset=+1]
include::modules/nw-sriov-add-pod-runtimeconfig.adoc[leveloffset=+1]
include::modules/nw-sriov-topology-manager.adoc[leveloffset=+1]
include::modules/nw-configuring-high-performance-multicast-with-sriov.adoc[leveloffset=+1]