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.

Note: You must not create, update, or delete NSXError objects.

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.

When you display the details of an NSXError object, the spec section contains the following important information. For example,
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.

In this release, the following errors are supported by the NSXError object.
  • 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.