मेरे पास डॉकटर छवि है जिसमें एक नोडज ऐप है और मैंने इसे कुबेरनेट्स परिनियोजन के माध्यम से तैनात किया है और मेरे पास 3 पॉड हैं। मुझे प्रत्येक परिनियोजन के नाम को संबंधित पॉड्स में पास करने की आवश्यकता है, इसलिए इस तरह मेरे पास प्रत्येक परिनियोजन के लिए एक अद्वितीय आईडी है जो केवल उस परिनियोजन के लिए अद्वितीय है और उस परिनियोजन के अंदर सभी पॉड उस आईडी का उपभोग कर सकते हैं। इसके अलावा इसने बहुत मदद नहीं की:

कुबेरनेट्स परिनियोजन नाम एक फली के भीतर से?

मैं इस तथ्य के लिए जानता हूं कि मैं निम्नलिखित कार्य कर सकता हूं:

env:
  - name: unique id
    value: {{uuidv4}}

लेकिन मैं निम्नलिखित के बजाय:

env:
  - name: deployment name
    value: a way to get the deployment name

कोई विचार अगर यह भी प्राप्त करने योग्य है?

0
Learner 30 अक्टूबर 2019, 17:44

1 उत्तर

सबसे बढ़िया उत्तर

तो कुबेरनेट्स परिनियोजन प्रलेखन से, एक उपयोग का मामला है:

परिनियोजन के PodTemplateSpec को अपडेट करके पॉड्स की नई स्थिति की घोषणा करें। एक नया रेप्लिकासेट बनाया जाता है और परिनियोजन नियंत्रित दर पर पॉड्स को पुराने रेप्लिकासेट से नए में ले जाने का प्रबंधन करता है। प्रत्येक नया रेप्लिकासेट परिनियोजन के संशोधन को अद्यतन करता है।

इसलिए जब तक आप रोलबैक नहीं करना चाहते, तब तक तैनाती को जानना प्रासंगिक नहीं है। तो आपको एक दूसरे को देखने के लिए पॉड्स प्राप्त करने की आवश्यकता है। उस स्थिति में, आपको एक हेडलेस सेवा की आवश्यकता है।

https://dev.to/kaoskater08/build-a-headless-service-in-kubernetes-3bk8

वहां आप पॉड डीएनएस प्राप्त कर सकते हैं और उन्हें आईपी या डीएनएस द्वारा अपने रेडिस में टैग कर सकते हैं

संपादित करें:

परिनियोजन प्राप्त करने के लिए, प्रत्येक पॉड में एक env var होता है जिसे HOSTNAME कहा जाता है, उदाहरण के लिए (मेरे परिवेश में):

HOSTNAME=stella-api-8675fcf6df-rm2m7

जहां stella-api वर्तमान परिनियोजन नाम है, stella-api-8675fcf6df वर्तमान प्रतिकृति सेट है और अंत में, stella-api-8675fcf6df-rm2m7 पॉड विशिष्ट आईडी होगी

उम्मीद है ये मदद करेगा।

1
paltaa 30 अक्टूबर 2019, 20:14