For each Kubernetes resource object that has NSX backend failures, one NSXError object is created with error information. There is also an error object for all cluster-wide errors.
This feature is not enabled by default. To enable it, you must set enable_nsx_err_crd to True in ncp.ini when you install NCP.
If you start NCP in policy mode (with the option policy_nsxapi=true in the NCP YAML File), the NSXError resource is not supported.
Commands to display NSXError objects:
- kubectl get nsxerrors
List all NSXError objects.
- kubectl get nsxerrors -l error-object-type=<type of resource>
List NSXError objects related to a specific type of Kubernetes objects, for example, objects of type services.
- kubectl get nsxerrors <nsxerror name> -o yaml
Display the details of an NSXError object.
- kubectl get svc <service name> -o yaml | grep nsxerror
Find the NSXError associated with a specific service.
error-object-id: default.svc-1 error-object-name: svc-1 error-object-ns: default error-object-type: services message: - '[2019-01-21 20:25:36]23705: Number of pool members requested exceed LoadBalancerlimit'
In this example, the namespace is default. The name of the service is svc-1. The type of kubernetes resource is services.
- Automatic scaling failed to allocate additional load balancers due to an NSX Edge limit.
- The number of load balancer virtual servers exceeds the limit (automatic scaling is not enabled).
- The number of load balancer server pools exceeds the limit.
- The number of load balancer server pool members exceeds the load balancer limit or the NSX Edge limit.
- Floating IP addresses exhausted when processing a LoadBalancer type service.