Según tengo entendido, podemos usar la anotación de clase de ingreso para usar múltiples controladores de ingreso de Nginx dentro de un clúster. Pero tengo un caso de uso en el que necesito usar varios controladores de ingreso dentro del mismo espacio de nombres para exponer diferentes servicios en el mismo espacio de nombres usando las respectivas reglas de ingreso creadas. Sigo https://kubernetes.github.io/ingress-nginx/deploy/#azure para crear un controlador de entrada de muestra. ¿Qué parámetros debo modificar si quiero tener varios controladores de entrada de Nginx dentro del mismo espacio de nombres?
Gracias por adelantado
No está claro en su publicación si tiene la intención de implementar varios controladores de entrada nginx o diferentes controladores de entrada. Sin embargo, ambos se pueden implementar en el mismo espacio de nombres.
En el caso de implementar diferentes controladores de ingreso, debería ser bastante fácil implementar en el mismo espacio de nombres y usar anotaciones de clase para especificar qué regla de ingreso procesa qué controlador de ingreso. Sin embargo, en caso de que desee implementar varios controladores de entrada de nginx en el mismo espacio de nombres, deberá actualizar el nombre/las etiquetas u otros identificadores a algo diferente.
Por ejemplo: el enlace que mencionó, https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml , debería actualizarse como -
apiVersion: v1 kind: ServiceAccount metadata: labels: helm.sh/chart: ingress-nginx-3.33.0 app.kubernetes.io/name: ingress-nginx-internal app.kubernetes.io/instance: ingress-nginx-internal app.kubernetes.io/version: 0.47.0 app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: controller name: ingress-nginx-internal namespace: ingress-nginx automountServiceAccountToken: trueasumiendo que llamamos al segundo controlador de ingreso nginx como ingreso-nginx-interno ; Del mismo modo, todos los recursos creados en su enlace deben modificarse e implementarse en el mismo espacio de nombres.
Además, tendría que actualizar los argumentos de implementación para especificar ingress.class, sus controladores apuntarían:
spec: template: spec: containers: - name: nginx-ingress-internal-controller args: - /nginx-ingress-controller - '--ingress-class=nginx-internal' - '--configmap=ingress/nginx-ingress-internal-controller'El enlace https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/ explica cómo controlar múltiples controladores de ingreso.