कुबेरनेट्स - क्या मैं लागत को कम करने के लिए जीसीई लोड बैलेंसर का उपयोग करने से बच सकता हूं?


11

मैं GCElab-CI का उपयोग करके GCE पर एक कुबेरनेट समूह को तैनात कर रहा हूं। मैं लागत को न्यूनतम रखना चाहता हूं - यहां मेरा वर्तमान सेटअप है:

  • नोड्स 3 f1-microउदाहरणों पर चलते हैं
  • Traefikसर्विसटाइप के साथ कॉन्फ़िगर किया गया एक सिस्टम पॉड चल रहा हैLoadBalancer
  • वाइल्डकार्ड डीएनएस कॉन्फ़िगर किया गया
  • 1 postgres फली
  • ingressट्राफिक के लिए कॉन्फ़िगर के साथ 1 वेब सर्वर पॉड

मैं अपनी तैनाती की लागत को कम करना चाहूंगा। अधिकांश लागत जीसीई लोड बैलेंसर के साथ रहती है। क्या कोई तरीका है जो मैं GCE पर लोड बैलेंसर के बजाय एक सार्वजनिक आईपी पते का उपयोग कर सकता हूं? यदि ऐसा है, तो क्या मैं क्लस्टर को आवंटित आईपी पते का उपयोग कर सकता हूं (बजाय एक स्थिर आईपी को जलाए)?

इसे दूसरे तरीके से रखने के लिए, क्या एक लोड बेलेंसर के बिना जीसीई का उपयोग करके एक कुबेरनेट सेवा के लिए एक अल्पकालिक आईपी को टाई करने का एक तरीका है?

क्या कोई अन्य कॉन्फ़िगरेशन है जो मैं अलग-अलग कर सकता हूं जो जीसीई पर सामान्य रूप से लागत को कम करेगा?


1
आप केवल NodePort सेवा प्रकार का उपयोग करके अपनी सेवा को उजागर कर सकते हैं, लेकिन यह आपकी तैनाती के लिए कुछ सीमाओं को लागू करेगा। अधिक जानकारी के लिए इस लिंक पर जाएँ ।
कामरान

जवाबों:


11

हां, बाहरी माध्यमों से। इस बात से अवगत रहें कि इसका अर्थ यह होगा कि आपकी सेवा नीचे चली जाएगी यदि नोड ने कहा है कि बाहरी आईपी सौंपा गया विफल रहता है, लेकिन यदि आप केवल 1 मास्टर चल रहे हैं तो आप शायद इस बारे में ज्यादा परवाह नहीं करते हैं।

उदाहरण सेवा:

apiVersion: v1
kind: Service
metadata:
  name: myapp
spec:
  ports:
    - port: 80
      protocol: TCP
  selector:
    app: myapp
  externalIPs:
    - a.b.c.d

IP को GCE उदाहरण का आंतरिक IP होना चाहिए (ऐसा इसलिए है क्योंकि GCE आंतरिक IP पर ट्रैफ़िक को डीएनएटीएस करता है)। सेवा तब नोड के असाइन किए गए बाहरी आईपी के माध्यम से सुलभ होनी चाहिए।

आप शायद अपने इंग्रीडेंट कंट्रोलर के लिए सर्विस बदलना चाहेंगे, ताकि आप अपने सभी ऐप को एक आईपी के जरिए रूट कर सकें।


2
DNAT चीज़ के बारे में जानने के बाद, मुझे एहसास हुआ कि मुझे GCE उदाहरण के लिए कुछ बंदरगाहों पर यातायात की अनुमति देने के लिए फ़ायरवॉल नियम को कॉन्फ़िगर करने की आवश्यकता है। इसके बाद मैं आपके सुझाव को सफलतापूर्वक लागू करने में सक्षम हुआ। मैंने सफलतापूर्वक एक NodePortसंस्करण का भी परीक्षण किया है
मितकिन्स

2

मैं लागत और विक्रेता लॉक-इन के कारण, आवश्यक होने तक क्लाउड लोड बैलेन्सर का उपयोग नहीं करना पसंद करता हूं।

इसके बजाय मैं इसका उपयोग करता हूं: https://kubernetes.github.io/ingress-nginx/deploy/

यह एक फली है जो आपके लिए एक लोड बैलेंसर चलाता है। उस पृष्ठ में GKE के विशिष्ट इंस्टॉलेशन नोट्स हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.