Skip to content

Latest commit

 

History

History

change-nse-dynamically

Example: NSC changes NSE on Network Service updated

This example shows that NSC can change NSEs if network service has changed during connection without redeploying.

Requires

Make sure that you have completed steps from basic or ipsec mechanism setup.

Run

Deploy NSC and two NSEs:

kubectl apply -k https://github.com/networkservicemesh/deployments-k8s/examples/features/change-nse-dynamically?ref=7a2735f6f8c8ed02d058c1a6a2f04846a3d88cad
kubectl apply -f https://raw.githubusercontent.com/networkservicemesh/deployments-k8s/7a2735f6f8c8ed02d058c1a6a2f04846a3d88cad/examples/features/change-nse-dynamically/blue-netsvc.yaml

Wait for applications ready:

kubectl wait --for=condition=ready --timeout=1m pod -l app=alpine -n ns-change-nse-dynamically
kubectl wait --for=condition=ready --timeout=1m pod -l app=blue-nse -n ns-change-nse-dynamically
kubectl wait --for=condition=ready --timeout=1m pod -l app=green-nse -n ns-change-nse-dynamically

Ping from NSC to the blue NSE:

kubectl exec pods/alpine -n ns-change-nse-dynamically -- ping -c 4 172.16.2.100

Ping from the blue NSE to NSC:

kubectl exec pods/blue-nse -n ns-change-nse-dynamically -- ping -c 4 172.16.2.101

Change network service to select green endpoint:

kubectl apply -f https://raw.githubusercontent.com/networkservicemesh/deployments-k8s/7a2735f6f8c8ed02d058c1a6a2f04846a3d88cad/examples/features/change-nse-dynamically/green-netsvc.yaml

Ping from NSC to the green NSE:

kubectl exec pods/alpine -n ns-change-nse-dynamically -- ping -c 4 172.16.1.100

Ping from the green NSE to NSC:

kubectl exec pods/green-nse -n ns-change-nse-dynamically -- ping -c 4 172.16.1.101

Change network service to select blue endpoint:

kubectl apply -f https://raw.githubusercontent.com/networkservicemesh/deployments-k8s/7a2735f6f8c8ed02d058c1a6a2f04846a3d88cad/examples/features/change-nse-dynamically/blue-netsvc.yaml

Ping from NSC to the blue NSE:

kubectl exec pods/alpine -n ns-change-nse-dynamically -- ping -c 4 172.16.2.100

Ping from the blue NSE to NSC:

kubectl exec pods/blue-nse -n ns-change-nse-dynamically -- ping -c 4 172.16.2.101

Cleanup

Delete ns:

kubectl delete ns ns-change-nse-dynamically