Nginx Ingress Controller Mengembalikan 404 Kubernetes
Saya mencoba membuat pengontrol masuk yang mengarah ke layanan yang telah saya ekspos melalui NodePort.
Berikut adalah file yaml untuk ingress controller (diambil dari 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
Saya dapat terhubung langsung ke port node dan frontend ditampilkan.
Harap perhatikan bahwa saya melakukan ini karena aplikasi frontend tidak dapat terhubung ke penerapan lain yang telah saya buat dan saya membaca bahwa pengontrol masuk dapat menyelesaikan masalah tersebut. Apakah saya masih harus menambahkan proxy terbalik Nginx? Jika demikian, bagaimana saya melakukannya? Saya telah mencoba menambahkan ini ke file konfigurasi nginx tetapi tidak berhasil.
location /middleware/ {
proxy_pass http://middleware/;
}
Jawaban
Anda harus menggunakan nama host yang tepat untuk mencapai rute yang ditentukan di Ingress
objek. Perbarui /etc/hosts
file Anda atau gunakan curl -H "hello-world.info" localhost
perintah tipe. Atau, Anda dapat menghapus host
pemetaan dan mengarahkan semua lalu lintas ke satu layanan default.
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80