Help Center/ Cloud Container Engine/ Drawer/ FAQs/ Why Is the NGINX Ingress Controller Only Partially Ready?
Updated on 2025-06-13 GMT+08:00

Why Is the NGINX Ingress Controller Only Partially Ready?

If the NGINX Ingress Controller add-on is partially ready, that means, only some of the add-on pods are running or the corresponding services were not successfully created. In this case, only some of the add-on functions are available, which may lead to an ingress access failure.

Fault Locating

If only some add-on pods are running, identify the cause of this problem based on one of the following events.

If the problem persists, submit a service ticket.

Insufficient Cluster Resources (CCE Standard or Turbo Cluster)

Insufficient cluster resources in a CCE Standard or Turbo cluster can result in certain add-on pods not being ready. Perform the following steps to locate the fault:

  1. Log in to the CCE console and click the cluster name to access the cluster console.
  2. Choose Workloads in the navigation pane and select the kube-system namespace above the workload list.
  3. Click the name of the cceaddon-nginx-ingress-controller workload. On the page displayed, locate the row containing the target pod on the Pods tab and click View Events in the Operation column.

    If the event contains information similar to the following, indicating that the requested resources of the pod have exceeded the total allocatable resources on the node, the pod scheduling fails:
    0/x nodes are available: x Insufficient cpu.
    0/x nodes are available: x Insufficient memory. 

Solution:

To solve this problem, add new nodes in the cluster.

Pod Resource Specifications Sold Out (CCE Autopilot Cluster)

Insufficient pod resource specifications in a CCE Autopilot cluster can result in certain add-on pods not being ready. Perform the following steps to locate the fault:

  1. Log in to the CCE console and click the cluster name to access the cluster console.
  2. Choose Workloads in the navigation pane and select the kube-system namespace above the workload list.
  3. Click the name of the cceaddon-nginx-ingress-controller workload. On the page displayed, locate the row containing the target pod on the Pods tab and click View Events in the Operation column.

    If the event contains the following information, the resource specifications applied for by the pod are sold out:

    This specification resource has been sold out, please try other specifications

Solution:

The current pod resource specifications are sold out. Try to edit the add-on and use other resource specifications.

Specified Load Balancer Not Found

  1. Log in to the CCE console and click the cluster name to access the cluster console.
  2. Choose Services & Ingresses in the navigation pane and select the kube-system namespace above the Service list.
  3. Locate the row containing the cceaddon-nginx-ingress-controller service and click View Events in the Operation column.

    If the event contains information similar to the following, the load balancer associated with the add-on is not found:
    Error syncing load balancer:failed to ensure load balancer:Not Found

Solution:

Uninstall the add-on and then reinstall it. During the installation, specify a new load balancer. For details, see NGINX Ingress Controller.

Insufficient Listener Quota

  1. Log in to the CCE console and click the cluster name to access the cluster console.
  2. Choose Services & Ingresses in the navigation pane and select the kube-system namespace above the Service list.
  3. Locate the row containing the cceaddon-nginx-ingress-controller service and click View Events in the Operation column.

    If the event contains information similar to the following, the listener quota of the load balancer is insufficient:
    Error syncing load balancer: failed to ensure load balancer: [EnsureCreateListener: Failed to CreateListener : Failed to CreateListener : request failed: {"error_msg":"Quota exceeded for resources: listener","error_code":"ELB.8905","request_id":"***}, status code: 409...

Solution:

Submit a service ticket to increase the resource quota or remove unnecessary listeners.

Port 80 or 443 Occupied

  1. Log in to the CCE console and click the cluster name to access the cluster console.
  2. Choose Services & Ingresses in the navigation pane and select the kube-system namespace above the Service list.
  3. Locate the row containing the cceaddon-nginx-ingress-controller service and click View Events in the Operation column.

    If the event contains information similar to the following, port 80 or 443 on the load balancer has been occupied:
    Error syncing load balancer: failedto ensure load balancer: [EnsureCreatelistener: Failed to CreateListener : Falled to CreateListener: request failed: {error_msg":"Load Balancer *** already has alistener with protocol_port of 80."."error_ code":"ELB.8907"."request id:***"}, status code: 409...

Solution:

Uninstall the add-on and then reinstall it. During the installation, specify a new load balancer. For details, see NGINX Ingress Controller.