RPC implements a series of tasks in order to establish communication between a client and a server. First, the client initiates a specific objective by contacting a local process known as a “client stub” with parameters for accessing a file or service. The client stub converts the parameters it receives from the client into appropriate parameters on the server. The client stub then sends these new parameters to the operating system’s kernel, which then sends the message to the server stub (same as client stub, but is located on the server machine). The server stub decodes the message and sends it to the appropriate application or service. Once the application has been contacted, replies may be sent in the reverse direction through each of these processes.
Fixing Tanzu Kubernetes Pod to External Services Connectivity Issues with NSX-T Last month I got a call from a customer who was pulling their hair out over a networking issue. They had just deployed VMware Tanzu Kubernetes Grid on their vSphere with Tanzu environment, everything looked good in the dashboards, all pods were running, but their applications inside the pods could not reach external databases running on traditional VMs in the same datacenter. The frustrating part was that some pods could reach external services perfectly fine, while others would just timeout. There was no clear pattern. Let me tell you how we figured this out and fixed it. The Initial Problem Here is what the customer setup looked like: vSphere 8.0 with Tanzu enabled NSX-T 4.1.2 for networking Three Tanzu Kubernetes clusters running different microservices applications External PostgreSQL database running on traditional VMs (non-Kubernetes) External API services running on another se...