vpp icon indicating copy to clipboard operation
vpp copied to clipboard

L2/L3 PODs Config crashed when scaling, stressing the multi-path l2xconnect SFCs render

Open AdelBouridah opened this issue 4 years ago • 0 comments

When creating multi-paths (multi-replicatset linux CNFs) SFC with the l2xconnect render and trying to so some load-balancing algorithm tests with IPERF. I have configured Input/Output CNFs with Fixed IP adresses and bridging the in the midst CNFs to only forward traffic (no special treatment). Whereas, when stressing the system some PODS lose their Config (IP or Bridge). Before the IPERF tests I check that the net configs and SFCs are well established with auto pings of all paths.

---> We need the heck if the problem is related to Contiv vpp or K8s

Here after the yaml definition of the replicasetds CNFs and the SFC.


Linux CNF 1 pod definition. Pod is connected with one additional tap interface

in the "stub" network = meaning that it won't have any IP address assigned.

apiVersion: apps/v1 kind: ReplicaSet metadata: name: cnf1-sfc1 labels: cnf: cnf1-sfc1-rp spec:

modify replicas according to your case

replicas: 20 selector: matchLabels: cnf: cnf1-sfc1-rp template: metadata: annotations: contivpp.io/custom-if: tap1/tap/stub labels: cnf: cnf1-sfc1-rp spec: containers: - name: iperf-overlay-client image: jmarhee/iperf:latest imagePullPolicy: IfNotPresent securityContext: privileged: true


Linux CNF 1 pod definition. Pod is connected with one additional tap interface

in the "stub" network = meaning that it won't have any IP address assigned.

apiVersion: apps/v1 kind: ReplicaSet metadata: name: cnf2-sfc1 labels: cnf: cnf2-sfc1-rp spec:

modify replicas according to your case

replicas: 20 selector: matchLabels: cnf: cnf2-sfc1-rp template: metadata: annotations: contivpp.io/custom-if: tap1/tap/stub, tap2/tap/stub labels: cnf: cnf2-sfc1-rp spec: containers: - name: busybox image: busybox imagePullPolicy: IfNotPresent securityContext: privileged: true command: - sleep - "3600"


Linux CNF 1 pod definition. Pod is connected with one additional tap interface

in the "stub" network = meaning that it won't have any IP address assigned.

apiVersion: apps/v1 kind: ReplicaSet metadata: name: cnf3-sfc1 labels: cnf: cnf3-sfc1-rp spec:

modify replicas according to your case

replicas: 20 selector: matchLabels: cnf: cnf3-sfc1-rp template: metadata: annotations: contivpp.io/custom-if: tap1/tap/stub, tap2/tap/stub labels: cnf: cnf3-sfc1-rp spec: containers: - name: busybox image: busybox imagePullPolicy: IfNotPresent securityContext: privileged: true command: - sleep - "3600"


Linux CNF 1 pod definition. Pod is connected with one additional tap interface

in the "stub" network = meaning that it won't have any IP address assigned.

apiVersion: apps/v1 kind: ReplicaSet metadata: name: cnf4-sfc1 labels: cnf: cnf4-sfc1-rp spec:

modify replicas according to your case

replicas: 20 selector: matchLabels: cnf: cnf4-sfc1-rp template: metadata: annotations: contivpp.io/custom-if: tap1/tap/stub, tap2/tap/stub labels: cnf: cnf4-sfc1-rp spec: containers: - name: busybox image: busybox imagePullPolicy: IfNotPresent securityContext: privileged: true command: - sleep - "3600"


Linux CNF 1 pod definition. Pod is connected with one additional tap interface

in the "stub" network = meaning that it won't have any IP address assigned.

apiVersion: apps/v1 kind: ReplicaSet metadata: name: cnf5-sfc1 labels: cnf: cnf5-sfc1-rp spec:

modify replicas according to your case

replicas: 20 selector: matchLabels: cnf: cnf5-sfc1-rp template: metadata: annotations: contivpp.io/custom-if: tap1/tap/stub labels: cnf: cnf5-sfc1-rp spec: containers: - name: iperf-overlay-server image: jmarhee/iperf:latest ports: - containerPort: 5001 imagePullPolicy: IfNotPresent securityContext: privileged: true

The SFC is the following


apiVersion: contivpp.io/v1 kind: ServiceFunctionChain metadata: name: sfc1 spec: chain: - name: CNF 1 type: Pod podSelector: cnf: cnf1-sfc1-rp interface: tap1

- name: CNF 2
  type: Pod
  podSelector:
    cnf: cnf2-sfc1-rp
  inputInterface: tap1
  outputInterface: tap2

- name: CNF 3
  type: Pod
  podSelector:
    cnf: cnf3-sfc1-rp
  inputInterface: tap1
  outputInterface: tap2

- name: CNF 4
  type: Pod
  podSelector:
    cnf: cnf4-sfc1-rp
  inputInterface: tap1
  outputInterface: tap2

- name: CNF 5
  type: Pod
  podSelector:
    cnf: cnf5-sfc1-rp
  interface: tap1

AdelBouridah avatar Mar 23 '20 09:03 AdelBouridah