Supervisor with "NSX + CTGW/Edge/T0"
This section describes the procedures for Troubleshooting Network Services into the VKS Namespace utilizing an "NSX + CTGW/Edge/T0" architecture inside a vSphere environment.
- Packet Walk
- App Access Broken
Packet Walk - N/S External to VIP
A Full Application (Load Balancer + Pods) has been deployed (see Application Deployment > App Deployment (K8s) > via CLI).
View
Logical View
Physical View
Physical View diagram - Active Logical Routers (T0, CTGW, VPC-SR)
For ease of reading in the diagram, all the Active logical routers (T0, CTGW, VPC-SR) have been placed in the same Edge Node1.
In a production environment, these will most likely be distributed among multiple Edge Nodes. In such cases, cross-Edge Node traffic would occur (which is not represented in these diagrams).
Packet Walk
-
Step1: External Client enters the logical Networks via T0
Client-IP => VIP:80 (10.150.0.7)The traffic enters the ESX where the Edge Node (hosting the Active T0) resides.
Note: In an Active/Active T0 configuration (not represented here), client traffic would be distributed across all Edge Nodes hosting the T0. -
Step2: T0 routes the traffic to the LB-VIP
Client-IP => VIP:80 (10.150.0.7)
The T0 routes the traffic to the Active CTGW, which then routes to the Active VPC-SR.
Note: The Active CTGW and VPC-SR could be in different Edge Nodes. In such cases, cross-Edge Node traffic would occur (which is not represented in these diagrams). -
Step3: VIP load balances traffic to the K8s Worker Nodes (kube-proxy)
Edge-TEP_IP (10.1.3.x) => ESX-TEP_IP (10.1.3.x)
[VPC-SR-Internal-IP => K8s WorkerNode[1-3]:31147 (172.30.0.[x])]The load balancer (VPC-SR) hosted on the Edge Node forwards the traffic to the dynamically assigned NodePort on the K8s Worker Nodes hosted on the different ESX.
The traffic from the Edge Node to the ESX hosting the Worker Node is encapsulated between the Edge-TEP and ESX-TEP.Find the dynamically assigned Worker Node TCP port (
31147)You can find the dynamically assigned Worker Node TCP port (
31147) by running the commandkubectl get service apache-vip-service -n ns1and looking under the PORT(S) column (see Application Deployment > App Deployment (K8s) > via CLI) -
Step 4: The K8s Worker Node intercepts the traffic
Once the traffic arrives at the Worker Node's network interface on the NodePort (31147), it is intercepted by the node's local routing rules (which are continuously programmed by the localkube-proxypod). -
Step 5 (not represented): The Worker Node load balances traffic to the Pods
Based on thosekube-proxyrules, the Worker Node load balances the traffic to the different pods across the K8s cluster.
See Packet Walk - E/W pod to pod for cross-pod communication.


