Nginx Ingress नियंत्रक ने 404 Kubernetes लौटाए

Aug 16 2020

मैं एक ऐसी कंट्रोलर कंट्रोलर बनाने की कोशिश कर रहा हूं जो एक सर्विस की ओर इशारा करती है जिसे मैंने NodePort के माध्यम से उजागर किया है।

यहाँ प्रवेश नियंत्रक के लिए यमल फ़ाइल है (से लिया गया है) 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

मैं नोड पोर्ट से सीधे जुड़ सकता हूं और फ्रंटेंड प्रदर्शित होता है।

कृपया ध्यान दें कि मैं ऐसा इसलिए कर रहा हूं क्योंकि फ्रंटएंड ऐप मेरे द्वारा बनाए गए अन्य परिनियोजन से कनेक्ट करने में असमर्थ है और मैंने पढ़ा है कि एक प्रवेश नियंत्रक समस्या को हल करने में सक्षम होगा। क्या मुझे अभी भी एक Nginx रिवर्स प्रॉक्सी जोड़ना होगा? यदि हां, तो मैं ऐसा कैसे करूंगा? मैंने इसे nginx config फाइल में जोड़ने की कोशिश की है, लेकिन कोई सफलता नहीं मिली।

location /middleware/ {
      proxy_pass http://middleware/;
   }

जवाब

2 Faheem Aug 16 2020 at 09:10

Ingressऑब्जेक्ट में निर्धारित रूट तक पहुंचने के लिए आपको एक उचित होस्टनाम का उपयोग करना चाहिए । या तो अपनी /etc/hostsफ़ाइल को अपडेट करें या curl -H "hello-world.info" localhostटाइप कमांड का उपयोग करें। वैकल्पिक रूप से, आप hostमैपिंग को हटा सकते हैं और सभी ट्रैफ़िक को एक डिफ़ॉल्ट सेवा पर पुनर्निर्देशित कर सकते हैं ।

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: appName
          servicePort: 80