Outcomes from the GWTester NSM implementation Victor Morales




















- Slides: 20
Outcomes from the GW-Tester NSM implementation Victor Morales v. morales@samsung. com
GW Tester https: //github. com/cncf/cnf-testbed/tree/master/examples/use_case/gogtp-k 8 s https: //github. com/electrocucaracha/gw-tester/
NSM maps the concept of a service mesh to L 2/L 3 payloads. Releases: • Aug 9, 2019 - 0. 1. 0 (Andromeda) Per-Pod Network Services within a single cluster support • Nov 17, 2019 - 0. 2. 0 (Borealis) Introduces interdomain support
Implementation alternatives
4 G Network Topology example https: //github. com/networkservicemesh /examples NSM Endpoint PFCP Protocol NSM Client
1. Control and User Plane Separation https: //github. com/wmnsk/go-gtp/issues/70#issuecomment-688414207
2. Multiple services per one NSM endpoint https: //github. com/networkservicemesh/issues/2186
3. Multiple NSM sidecars MME sidecar-s 1 c sgw e. NB sidecar-euu enb S-GW sidecar-s 1 u sidecar-s 11 Client externalclient sgw P-GW sidecar-s 5 u HTTP Server sidecar-s 5 c http-server sidecar-sgi pgw https: //github. com/electrocucaracha/gw-tester/blob/master/k 8 s/pgw_nsm. yml Container Pod
Implementation details
How NSM endpoint selection works? https: //github. com/networkservicemesh/blob/v 0. 2. 0/sdk/README. md#client-list NIC name
NSE Routing implementation https: //github. com/electrocucaracha/gw-tester/blob/master/k 8 s/nsm/nse/cmd/main. go
Init script Improvised DNS NICs on demand https: //github. com/electrocucaracha/gw-tester/blob/master/k 8 s/mme_nsm. yml
Conclusion • Networks are defined through Network. Attachment. Definition or Cluster. Network/Tenant. Network resources • Supports Static and Dynamic IP addresses assignment. • Creates network interfaces during the Pod Creation • Allows to specify network interface names. • Easy to retrieve IP addresses[1]. • Isolated networks [1] https: //github. com/k 8 snetworkplumbingwg/network-attachmentdefinition-client/blob/release-1. 16/pkg/utils/net-attach-def. go#L 63 CNI Multiplexers • Networks are defined through Network. Service resources • Only provides Dynamic IP addresses assignment • Network Interfaces are created on demand • Naming network interfaces is restricted only to clients[2]. • SDK supports NSC Routing. [2]https: //github. com/networkservicemesh/blo b/v 0. 2. 0/sdk/endpoint/connection. go#L 82 -L 88 Service Meshes
How to get involved Weekly CNF Conformance/Testbed developer meetings: Thursdays at 14: 15 - 15: 00 UTC Meeting details: https: //github. com/cncf/cnf-conformance Monthly CNCF Telecom User Group meetings: 1 st Mondays (alternating start times, 15: 00 UTC or 11: 00 UTC) Meeting details: https: //github. com/cncf/telecom-user-group
Q&A https: //github. com/electrocucaracha/gw-tester/
Backup
Does NSM supports sidecar injection?
NSM Endpoints based on Annotations?
NSM provides many sidecar examples • ICMP Responder NSE: https: //github. com/networkservicemesh/blob/v 0. 2. 0/test/applications/cmd/icmp-respondernse/main. go • VPP Agent ICMP Responder NSE: https: //github. com/networkservicemesh/blob/v 0. 2. 0/test/applications/cmd/vppagent-icmpresponder-nse/main. go • VPP Agent Firewall NSE: https: //github. com/networkservicemesh/blob/v 0. 2. 0/test/applications/cmd/vppagent-icmpresponder-nse/main. go • 4 G Network NSE: https: //github. com/networkservicemesh/examples/blob/v 0. 2. 0/examples/4 g-network/sidecarnse/cmd/main. go • VPP Bridge Domain: https: //github. com/networkservicemesh/examples/tree/v 0. 2. 0/examples/bridge-domain • Envoy Interceptor: https: //github. com/networkservicemesh/examples/blob/v 0. 2. 0/examples/envoy_interceptor/envoynse/cmd/main. go • HTTP reverse proxy: https: //github. com/networkservicemesh/examples/blob/v 0. 2. 0/examples/proxy/sidecarnse/cmd/main. go • Secure Intranet: https: //github. com/networkservicemesh/examples/blob/v 0. 2. 0/examples/secure-intranet/vppagentendpoint/cmd/main. go