At this time, the size of an existing NSX-T load balancer cannot be changed in the vSphere Supervisor, formerly vSphere with Tanzu, product.
kubectl get svc -n <namespace> | grep pending
NAMESPACE NAME TYPE INTERNAL IP EXTERNAL IP
<namespace> <loadbalancer service name> LoadBalancer <internal IP> <pending>
kubectl describe svc -n <namespace> <loadbalancer service name>
nsx-container-ncp LB Service <load balancer> limit exceeded: Unable to attach new resource <new member> to lbs <load balancer>: LBS exceeded limit of <LB limit>.
Annotations: ncp/error.loadbalancer: LBS_LIMIT_EXCEEDED
While connected to the Supervisor cluster context, the NSX-NCP pod log may show errors similar to the following:
kubectl get pods -n nsx-ncp
kubectl logs -n nsx-ncp <nsx ncp pod> -c nsx-ncp
The maximum size of pool members for <load balancer SIZE> load balancer service form factor is <load balancer size limit>, current size of pool members is <greater than or equal to the load balancer size limit>"
vSphere Supervisor
NSX-T 4.X
NCP (NSX-T Container Plugin) 4.X
In a NSX-T load-balancer, pool-members are created to distribute the traffic between them. Every pool member is an object containing a unique pool-member-IP+Port combination.
vSphere Supervisor currently does not support changing the size of an existing load balancer. The only solutions are the following:
A namespace can be created with a larger load balancer through using Override Cluster Network Settings:
Changes made to the nsx-ncp-config configmap will be reverted on Supervisor control plane node recreation, such as a Supervisor cluster upgrade.
This will inevitably cause application downtime and errors on the affected load balancers.