Defining a Network Profile for Load Balancer Sizing

Page last updated:

This topic describes how to size a load balancer using a network profile.

Load Balancer Sizing

When you deploy a Kubernetes cluster using Enterprise PKS on NSX-T, an NSX-T Load Balancer is automatically provisioned. By default the size of this load balancer is small. Using a network profile, you can customize the size of this load balancer and use a medium or large load balancer for Kubernetes clusters.

The NSX-T Load Balancer is a logical load balancer that handles a number of functions using virtual servers and pools. For more information, see Supported Load Balancer Features in the NSX-T documentation.

The following virtual servers are required for Enterprise PKS:

  • 1 global virtual server for the Kubernetes API which runs on the master nodes
  • 1 TCP layer 4 virtual server for each Kubernetes service of type:LoadBalancer
  • 2 HTTP and HTTPS layer 7 global virtual servers for Kubernetes ingress controller resources

The number of virtual servers that you can run depends on the size of the load balancer, which in turn depends on the size of the NSX-T Edge Node hosting the load balancer service. See Scaling Load Balancer Resources in the NSX-T documentation. Because of the number of virtual servers required by Enterprise PKS, you can only use the large NSX Edge Node VM or the bare metal NSX Edge Node with Enterprise PKS.

The following network profile, np-lb-med, defines a medium load balancer:

{
    "name": "np-lb-med",
    "description": "Network profile for medium NSX-T load balancer",
    "parameters": {
        "lb_size": "medium"
    }
}

The following network profile, np-lb-large, defines a large load balancer:

{
    "name": "np-lb-large",
    "description": "Network profile for large NSX-T load balancer",
    "parameters": {
        "lb_size": "large"
     }
}

Please send any feedback you have to pks-feedback@pivotal.io.