
Estoy intentando configurar un clúster de Kubernetes muy simple con servicios frontend, backend y base de datos. Aquí está parte del archivo de definición del servicio Frontend:
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
tier: frontend
spec:
selector:
tier: frontend
ports:
- port: 80
nodePort: 30080
type: LoadBalancer
Cuando accedo a la IP del clúster en el puerto 30080, todo funciona correctamente.
Ahora estoy intentando configurar un Ingress que funcione en el puerto 80 (en preparación para implementar el clúster en Azure). Quiero dirigir todo el tráfico HTTP al frontend, ya que este es el único servicio HTTP en mi clúster. Entonces el archivo de definición de ingreso es el siguiente:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: zippori
annotations:
kubernetes.io/ingress.class: addon-http-application-routing
spec:
backend:
serviceName: frontend
servicePort: 80
Sin embargo, cuando accedohttp://minikube-ipRecibo el siguiente error muy simple:
servidor predeterminado - 404
Es como si Ingress no reenviara nada a mi interfaz y simplemente probara su propio servidor predeterminado.
¿Cómo puedo arreglar esto?
Respuesta1
El problema está en el servicio Ingress.
En el tipo de ingreso yaml, está utilizando anotaciones para definir el "backend de ingreso". Para AKS es "addon-http-application-routing", pero para minikube lo que funciona de fábrica eskubernetes.io/ingress.class: nginx
Actualizar Ingress con la anotación adecuada debería habilitar el servicio para la configuración de su minikube.