Tengo dos nodos para mi clúster: Windows y Linux. Y tengo un nodo maestro. ¡Para Linux instalé el controlador NGINX y todo funciona perfectamente bien!
helm install nginx-ingress ingress-nginx/ingress-nginx \ -f internal-ingress.yaml \ --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \ --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux \ --set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=linux¡Entonces el controlador de entrada NGINX debe apuntar a Linux Pod y eso funciona!
Ahora quiero crear el controlador de entrada NGINX para apuntar a mi segundo nodo, que es Windows. Una vez que traté de crearlo, me arrojó Error: timed out waiting for the condition Probé este comando (muy similar al comando de Linux en funcionamiento).
helm install nginx-ingress-win ingress-nginx/ingress-nginx -f internal-ingress.yaml --set controller.nodeSelector."beta\.kubernetes\.io/os"=windows --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=windows --set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=windows¿Es posible tener 2 controladores de ingreso NGINX? ¿Por qué se agotó el tiempo? ¿Estoy haciendo algo mal? ¿Cuál debería ser el comando correcto para instalar NGINX Ingress Controller para Windows?
Gracias
helm install crea objetos de kubernetes en el espacio de nombres actual de su contexto. Debe usar un espacio de nombres separado para la versión nginx-ingress-win usando --create-namespace --namespace namespacename flags
Ejecute el comando de instalación de helm con el indicador --debug para ver cuál es el problema.
Comando final:
helm install nginx-ingress-win ingress-nginx/ingress-nginx -f internal-ingress.yaml --set controller.nodeSelector."beta\.kubernetes\.io/os"=windows --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=windows --set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=windows --create-namespace --namespace namespacename --debug