diff options
Diffstat (limited to 'docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes')
7 files changed, 429 insertions, 0 deletions
diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-OvS-DPDK.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-OvS-DPDK.yaml new file mode 100644 index 00000000..4d1532dd --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-OvS-DPDK.yaml @@ -0,0 +1,68 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-rapid-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-ovs-net +spec: + containers: + - name: ovs-vhost + image: opnfv/rapid:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /opt/prox/ + name: prox-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: prox-dir + hostPath: + path: /opt/prox/ + - name: hugepage + emptyDir: + medium: HugePages diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-VPP.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-VPP.yaml new file mode 100644 index 00000000..e9d26667 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-VPP.yaml @@ -0,0 +1,68 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-rapid-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-vpp-net +spec: + containers: + - name: vpp-vhost + image: opnfv/rapid:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /opt/prox/ + name: prox-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: prox-dir + hostPath: + path: /opt/prox/ + - name: hugepage + emptyDir: + medium: HugePages diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-OvS-DPDK.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-OvS-DPDK.yaml new file mode 100644 index 00000000..fcae5981 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-OvS-DPDK.yaml @@ -0,0 +1,68 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-rapid-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-ovs-net, userspace-ovs-net +spec: + containers: + - name: ovs-vhost + image: opnfv/rapid:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /opt/prox/ + name: prox-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: prox-dir + hostPath: + path: /opt/prox/ + - name: hugepage + emptyDir: + medium: HugePages diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-VPP.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-VPP.yaml new file mode 100644 index 00000000..a67106ab --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-VPP.yaml @@ -0,0 +1,68 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-rapid-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-vpp-net, userspace-vpp-net +spec: + containers: + - name: vpp-vhost + image: opnfv/rapid:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /opt/prox/ + name: prox-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: prox-dir + hostPath: + path: /opt/prox/ + - name: hugepage + emptyDir: + medium: HugePages diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/TRex-pod/userspace-trex-pod-2-interfaces-VPP.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/TRex-pod/userspace-trex-pod-2-interfaces-VPP.yaml new file mode 100644 index 00000000..418d3ede --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/TRex-pod/userspace-trex-pod-2-interfaces-VPP.yaml @@ -0,0 +1,64 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-trex-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-vpp-net, userspace-vpp-net +spec: + containers: + - name: vpp-vhost + image: trex:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: hugepage + emptyDir: + medium: HugePages + diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-ovs-netAttach.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-ovs-netAttach.yaml new file mode 100644 index 00000000..a2ee5ea8 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-ovs-netAttach.yaml @@ -0,0 +1,47 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: "k8s.cni.cncf.io/v1" +kind: NetworkAttachmentDefinition +metadata: + name: userspace-ovs-net +spec: + config: '{ + "cniVersion": "0.3.1", + "type": "userspace", + "name": "userspace-ovs-net-1", + "kubeconfig": "/etc/cni/net.d/multus.d/multus.kubeconfig", + "logFile": "/var/log/userspace-ovs-net.log", + "logLevel": "debug", + "host": { + "engine": "ovs-dpdk", + "iftype": "vhostuser", + "netType": "bridge", + "vhost": { + "mode": "server" + }, + "bridge": { + "bridgeName": "vsperf-br0" + } + }, + "container": { + "engine": "ovs-dpdk", + "iftype": "vhostuser", + "netType": "interface", + "vhost": { + "mode": "client" + } + } + }' diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-vpp-netAttach-memif.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-vpp-netAttach-memif.yaml new file mode 100644 index 00000000..3b199686 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-vpp-netAttach-memif.yaml @@ -0,0 +1,46 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: "k8s.cni.cncf.io/v1" +kind: NetworkAttachmentDefinition +metadata: + name: userspace-vpp-net +spec: + config: '{ + "cniVersion": "0.3.1", + "type": "userspace", + "name": "userspace-vpp-net", + "kubeconfig": "/etc/cni/net.d/multus.d/multus.kubeconfig", + "logFile": "/var/log/userspace-vpp-net-1-cni.log", + "logLevel": "debug", + "host": { + "engine": "vpp", + "iftype": "memif", + "netType": "interface", + "memif": { + "role": "master", + "mode": "ethernet" + } + }, + "container": { + "engine": "vpp", + "iftype": "memif", + "netType": "interface", + "memif": { + "role": "slave", + "mode": "ethernet" + } + } + }' |