¿Qué debo hacer si el complemento nginx-ingress no se instala en un clúster y permanece en el estado de creación?
Contexto
Ha adquirido y configurado un clúster de CCE y desea acceder a las aplicaciones desplegadas desde redes públicas. Actualmente, la forma más eficiente es registrar las rutas de Service de una aplicación en la entrada para permitir el acceso a la red pública.
Sin embargo, después de instalar el complemento nginx-ingress, el complemento siempre está en el estado Creating y el nginx-ingress-controller pod siempre está en el estado Pending.
Solución
Los recursos de memoria para el complemento nginx-ingress son limitados. Como resultado, el complemento nginx-ingress no se puede iniciar. Cancele la limitación de recursos para asegurarse de que el complemento nginx-ingress se puede iniciar correctamente.
Simulación de escena
- Cree un clúster con tres nodos, 2 vCPU y 4 GB de memoria para cada nodo.
- Instale el complemento nginx-ingress y seleccione 2 vCPU y 2 GB de memoria.
- La implementación de nginx-ingress se crea correctamente, pero el complemento nginx-ingress-controller no se puede instalar.
Figura 1 nginx-ingress-controller complemento siempre en el estado de creación
Figura 2 El complemento nginx-ingress-controller no se instala
- Compruebe el mensaje de error. La siguiente información indica que los recursos son insuficientes.
- Agregue un nodo con 4 vCPUs y 8 GB de memoria. Después de eso, el complemento nginx-ingress se instala correctamente.
Causa posible
Los procesos como kubelet, kube-proxy y Docker en cada nodo están usando recursos del sistema. Como resultado, los recursos disponibles del nodo son menores que los requeridos para que el complemento nginx-ingress se instale con éxito.
Solución sugerida
Adquiera un nodo con al menos 4 vCPU y 8 GB de memoria.