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
- Create a cluster with three nodes, 2 vCPUs and 4 GiB of memory for each node.
- Install the NGINX Ingress Controller add-on and select 2 vCPUs and 2 GiB of memory.
- The nginx-ingress deployment is installed, but the nginx-ingress-controller fails to be installed.
Figure 1 Add-on always in the Creating stateFigure 2 Add-on installation failed
- Check the error message. The following information indicates that resources are insufficient.
- 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.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot