Nginx Ingress Controller Mengembalikan 404 Kubernetes

Aug 16 2020

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

2 Faheem Aug 16 2020 at 09:10

Anda harus menggunakan nama host yang tepat untuk mencapai rute yang ditentukan di Ingressobjek. Perbarui /etc/hostsfile Anda atau gunakan curl -H "hello-world.info" localhostperintah tipe. Atau, Anda dapat menghapus hostpemetaan 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