Help Center/ Cloud Container Engine/ FAQs/ Chart and Add-on/ What Should I Do If the NGINX Ingress Controller Add-on Fails to Be Installed in a Cluster and Remains in the Creating State?
Updated on 2025-07-17 GMT+08:00

What Should I Do If the NGINX Ingress Controller Add-on Fails to Be Installed in a Cluster and Remains in the Creating State?

Context

You have purchased and set up a CCE cluster and want to access the deployed applications from public networks. Currently, the most efficient way is to register the Service paths of an application on the ingress to allow public network access.

However, after the NGINX Ingress Controller add-on is installed, the add-on is always in the Creating state, and the nginx-ingress-controller pod is always in the Pending state.

Solution

Remove the resource limits assigned to the add-on. The memory that can be used for the NGINX Ingress Controller add-on is limited, so the add-on cannot be started.

Scene Simulation

  1. Create a cluster with three nodes, 2 vCPUs and 4 GiB of memory for each node.
  2. Install the NGINX Ingress Controller add-on and select 2 vCPUs and 2 GiB of memory.
  3. The nginx-ingress deployment is installed, but the nginx-ingress-controller fails to be installed.

    Figure 1 Add-on always in the Creating state
    Figure 2 Add-on installation failed

  4. Check the error message. The following information indicates that resources are insufficient.

  5. Add a node with 4 vCPUs and 8 GiB of memory. After that, the NGINX Ingress Controller add-on can be installed.

Possible Cause

Each node in the cluster is configured with 2 vCPUs and 4 GiB of memory initially. System processes such as kubelet, kube-proxy, and Docker consume a portion of system resources. This reduces the available memory on each node to below 2000 MiB. This amount is insufficient for the NGINX Ingress Controller add-on, preventing its installation.

Suggested Solution

Purchase a node with at least 4 vCPUs and 8 GiB of memory.