Nginx Ingress नियंत्रक ने 404 Kubernetes लौटाए
मैं एक ऐसी कंट्रोलर कंट्रोलर बनाने की कोशिश कर रहा हूं जो एक सर्विस की ओर इशारा करती है जिसे मैंने 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/;
}
जवाब
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