El controlador de entrada de Nginx devuelve 404 Kubernetes
Estoy intentando crear un controlador de entrada que apunte a un servicio que expuse a través de NodePort.
Aquí está el archivo yaml para el controlador de entrada (tomado de https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/):
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80
Puedo conectarme directamente al puerto del nodo y se muestra la interfaz.
Tenga en cuenta que estoy haciendo esto porque la aplicación de interfaz no puede conectarse a otras implementaciones que he creado y leí que un controlador de entrada podría resolver el problema. ¿Aún tendré que agregar un proxy inverso Nginx? Si es así, ¿cómo haría eso? Intenté agregar esto al archivo de configuración nginx pero sin éxito.
location /middleware/ {
proxy_pass http://middleware/;
}
Respuestas
Debe utilizar un nombre de host adecuado para llegar a la ruta definida en el Ingress
objeto. Actualice su /etc/hosts
archivo o use el curl -H "hello-world.info" localhost
comando de tipo. Alternativamente, puede eliminar la host
asignación y redirigir todo el tráfico a un servicio predeterminado.
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80