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

What Should I Do If the nginx-ingress Add-on Fails to Be Installed on 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 add-on is installed, the add-on is always in the Creating state, and the pod nginx-ingress-controller is always in the Pending state.

Solution

The memory resources for the nginx-ingress add-on are limited. As a result, the nginx-ingress add-on cannot be started. Cancel the resource limitation to ensure that nginx-ingress add-on can be started properly.

Scene Simulation

  1. Create a cluster with three nodes, 2 vCPUs and 4 GB memory for each node.
  2. Install the nginx-ingress add-on and select 2 vCPUs and 2 GB memory.
  3. The nginx-ingress Deployment is successfully created, but the nginx-ingress-controller add-on fails to be installed.

    Figure 1 nginx-ingress-controller add-on always in the Creating state
    Figure 2 nginx-ingress-controller add-on failing to be installed

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

  5. Add a node with 4 vCPUs and 8 GB memory. After that, the nginx-ingress add-on is installed successfully.

Possible Cause

Processes such as kubelet, kube-proxy, and Docker on each node are using system resources. As a result, the available resources of the node are less than required for the nginx-ingress add-on to be successfully installed.

Suggested Solution

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