Quiero usar el mismo nombre de host, digamos example.com con múltiples recursos de Ingress que se ejecutan en diferentes espacios de nombres, es decir monitoring y myapp . Estoy usando el controlador de entrada nginx de Kubernetes .
haproxy-ingress.yaml
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: haproxy-ingress namespace: myapp annotations: kubernetes.io/ingress.class: "nginx" spec: tls: - hosts: # fill in host here - example.com rules: - host: example.com http: paths: - path: / pathType: Prefix backend: service: name: haproxy port: number: 80grafana-ingreso.yaml
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: grafana-ingress namespace: monitoring annotations: nginx.ingress.kubernetes.io/use-regex: "true" spec: tls: - hosts: - example.com rules: - host: example.com http: paths: # only match /grafana and paths under /grafana/ - path: /grafana(/|$)(.*) pathType: Prefix backend: service: name: grafana port: number: 3000 Cuando estoy haciendo curl example.com , me está redirigiendo a la implementación que se ejecuta en el espacio de nombres uno (como se esperaba), pero cuando estoy haciendo curl example.com/grafana , todavía me está redirigiendo a la implementación del espacio de nombres uno.
Por favor ayuda.
Sí, es posible.
Puede haber dos problemas en su caso.
Una es que no necesita la ruta de expresión regular para el ingreso de grafana. La ruta simple /grafana estará bien con el tipo de ruta Prefix , ya que con el tipo de ruta Prefix cualquier /grafana/... será redirigido al servicio asociado. Así que el archivo de manifiesto será:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: grafana-ingress namespace: monitoring spec: tls: - hosts: - example.com rules: - host: example.com http: paths: - path: /grafana pathType: Prefix backend: service: name: grafana port: number: 3000 Y el segundo problema puede ser que el servicio relacionado o la implementación no estén bajo la misma monitoring espacio de nombres. Asegúrese de que la implementación/servicio/secreto u otros recursos necesarios para grafana permanezcan bajo la misma monitoring espacio de nombres.