स्प्रिंग क्लाउड नेटफ्लिक्स कंटेनरों के साथ GKE में इनग्रेड को कैसे परिभाषित किया जाए
मेरे पास एक माइक्रोसेस्क आर्किटेक्चर है, जो स्प्रिंग क्लाउड नेटफ्लिक्स पर बना है:
- व्यवसाय-स्वामी-सेवा एक स्प्रिंग बूट ऐप की ओर इशारा करती है जो पोर्ट 8763 पर चलता है। पोर्ट फ़ॉरवर्डिंग किया जाता है, व्यवसाय-स्वामी-सेवा: 8763 पोर्ट के लिए 80 रीडायरेक्ट।
- ग्राहक सेवा-सेवा एक स्प्रिंग बूट ऐप की ओर इशारा करती है जो पोर्ट 8766 पर चलती है। ग्राहक-सेवा: 80 -> 8766
आर्किटेक्चर सही ढंग से चलता है अगर मैं इसे स्प्रिंग क्लाउड ज़ूल गेटवे के माध्यम से आमंत्रित करता हूं, लेकिन मैं एक इनग्रेड स्थापित करना चाहता हूं।
मेरा सटीक विन्यास निम्नलिखित है:
प्रवेश
पथ विन्यास में प्रवेश करें
समस्या यह है कि इनग्रेस के पास अस्वस्थता पर सभी बैकएंड सेवाएं हैं और मुझे नहीं पता कि मैं क्या गलत कर रहा हूं। वर्किंग इनग्रेड होने के लिए मुझे क्या करना चाहिए?
संपादित करें: टिप्पणियों के अनुसार, मैंने ग्राहक-सेवा फली के लिए तत्परताप्रणाली को परिभाषित करने की कोशिश की, जो निम्नानुसार है:
यह काम नहीं करता है, और जब मैं अपडेट किए गए कॉन्फ़िगरेशन को दोबारा जांचने की कोशिश करता हूं, तो readinessProbe दिखाई नहीं देता है। मुझे लगता है कि यह एक बग है, लेकिन मुझे यकीन नहीं है कि जांच कैसे अपडेट की जाती है या नहीं।
इसके अलावा, एक्ट्यूएटर / हेल्थ जीईटी ज़ूल गेटवे के माध्यम से चल रहा है:
जवाब
क्या मेरे मामले में समाधान होने के नाते समाप्त हो गया था स्वास्थ्य जांच कॉन्फ़िगरेशन, न कि तत्परता। मैंने स्वास्थ्य जांच को अद्यतन किया जो स्वचालित रूप से / ऐक्ट्यूएटर / स्वास्थ्य को इंगित करने के लिए इनग्रेस बैकेंड सेवाओं के लिए बनाई गई थी। यह काम किया
फली तैनाती में परिभाषित तत्परता जांच के साथ GKE इंग्रेस कंट्रोलर स्वास्थ्य जांच करता है । स्प्रिंग बूट एक्ट्यूएटर का उपयोग करते हुए नीचे एक तत्परता जांच जोड़ें
spec:
containers:
- name: name
readinessProbe:
httpGet:
port: 8080
path: /actuator/health
initialDelaySeconds: 10