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
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:
spec:
rules:
– host:
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.
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.
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: