es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El ingreso de Kubernetes no está reenviando rutas.

Soy bastante nuevo en Kubernetes y acabo de implementar mi primer clúster en IBM Cloud. Cuando creé el clúster, obtuve un subdominio de ingreso dedicado, al que me referiré como .cloud para el alcance de esta publicación. Ahora, este subdominio funciona para mi aplicación. Por ejemplo, .cloud/ping funciona bien desde mi navegador / curl, obtengo la respuesta JSON esperada. Pero, si agrego este subdominio a un registro CNAME en la configuración DNS de mi proveedor de dominio (he usado Bluehost y los Servicios de Internet de IBM Cloud), obtengo una respuesta 404 de todas las rutas. Sin embargo, esta respuesta es la respuesta 404 predeterminada de nginx (dice “nginx” debajo de “404 Not Found”). Creo que esto significa que se alcanza el balanceador de carga de ingreso, pero la solicitud no se enruta correctamente. Estoy usando Kubernetes versión 1.20.12_1561 en VPC gen 2 y este es mi archivo de configuración de ingreso:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress-resource
  annotations:
    kubernetes.io/ingress.class: “public-iks-k8s-nginx”
    nginx.ingress.kubernetes.io/configuration-snippet: |
      more_set_headers “Host: .cloud;”;
spec:
  rules:
  – host: .cloud
    http:
      paths:
      – path: /
        pathType: Prefix
        backend:
          service:
            name: my-service-name
            port:
              number: 80

Estoy bastante seguro de que este problema se debe a las anotaciones. Tal vez estoy usando las equivocadas o no tengo suficientes. Idealmente, me gustaría algo así: api..com/ para enrutar correctamente. También he leído un poco sobre los backend predeterminados, pero todavía no he profundizado mucho en eso. Cualquier ayuda sería muy apreciada, ya que he pasado varias horas tratando de solucionar esto.

Algunas fuentes que he utilizado:

  • https://cloud.ibm.com/docs/containers?topic=containers-cs-network-planning
  • https://cloud.ibm.com/docs/containers?topic=containers-ingress-types
  • https://cloud.ibm.com/docs/containers?topic=containers-comm-ingress-annotations#annotations

Nota: La razón por la que tengo la segunda anotación es porque, por alguna razón, las solicitudes sin esa cabecera no se estaban enrutan directamente. Así que eso fue parte de mi proceso de depuración y simplemente terminé dejándolo así, ya que no estoy seguro de si esa anotación lo resuelve, así que lo dejé por ahora.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución de problemas de enrutamiento de Ingress en el clúster de Kubernetes de IBM Cloud

    Como nuevo usuario de Kubernetes, ha implementado su primer clúster en IBM Cloud y ha encontrado problemas al intentar enrutar el tráfico a su aplicación a través del subdominio de Ingress proporcionado con el clúster. También ha intentado agregar el subdominio a un registro CNAME en la configuración de DNS de su proveedor de dominio, pero recibió una respuesta 404 de todas las rutas.

    Posible causa del problema

    Según su archivo ingress-config.yaml, parece que ha utilizado las anotaciones correctas para la clase de Ingress public-iks-k8s-nginx para enrutar el tráfico a su aplicación a través del balanceador de carga de Ingress proporcionado por IBM Cloud. Sin embargo, el problema puede estar en las anotaciones específicas que ha utilizado.

    Posible solución

    Una posible solución para resolver el problema de enrutamiento es intentar usar una clase de Ingress diferente o actualizar las anotaciones en su configuración de Ingress. Según la documentación de IBM Cloud sobre tipos de Ingress (fuente 1), hay varios tipos de controladores de Ingress disponibles en IBM Cloud, cada uno con su propio conjunto de anotaciones.

    Además, también es posible que deba asegurarse de que su configuración de DNS esté configurada correctamente, incluyendo la configuración de los registros CNAME necesarios para apuntar al subdominio de Ingress proporcionado por IBM Cloud.

    Recursos adicionales

    Para obtener más información sobre la solución de problemas de problemas de Ingress en clústeres de Kubernetes de IBM Cloud, consulte los siguientes recursos:

    • Documentación de IBM Cloud Containers sobre planificación de redes (fuente 1)
    • Documentación de IBM Cloud Containers sobre tipos de Ingress (fuente 2)
    • Documentación de IBM Cloud Containers sobre anotaciones de Ingress (fuente 3)

Comments are closed.