release namespace मा पहिले नै app-outbound-proxy नामको Secret छ भनी मानौं। यसका http_proxy र https_proxy कुञ्जीहरूमा अनुप्रयोगलाई आवश्यक पूर्ण प्रोक्सी URL छन्।

Helm 3 चार्टले values.yaml मा त्यो Secret को नाम मात्र राख्न सक्छ:

outboundProxy:
  existingSecret: app-outbound-proxy

इच्छित कन्टेनरको Deployment टेम्प्लेटमा कुञ्जीहरू सन्दर्भ गर्नुहोस्:

env:
  - name: HTTP_PROXY
    valueFrom:
      secretKeyRef:
        name: {{ .Values.outboundProxy.existingSecret | quote }}
        key: http_proxy
  - name: HTTPS_PROXY
    valueFrom:
      secretKeyRef:
        name: {{ .Values.outboundProxy.existingSecret | quote }}
        key: https_proxy

यो कन्टेनर-स्पेकको अंश हो। Secret Pod को namespace मा हुनुपर्छ र सन्दर्भित दुवै कुञ्जी समावेश गर्नुपर्छ। यसका मानहरूले वास्तविक प्रोक्सी श्रोताको प्रोटोकल, होस्ट र पोर्ट प्रयोग गर्नुपर्छ। प्रमाणीकरण नभएको सार्वजनिक प्रोक्सी प्रयोग गर्न अनुमति पाएका सार्वजनिक अनुप्रयोग अनुरोधहरूका लागि ती URL निःशुल्क प्रोक्सी सूचीको उपयुक्त उम्मेदवारबाट बनाउनुहोस्; आवश्यक प्रत्यक्ष अपवादहरू राख्नुहोस्।

चार्टको मानले नाम दिन्छ; secretKeyRef ले कन्टेनरको वातावरण मान दिन्छ। helm चलाउने shell मा HTTP_PROXY export गर्नु मात्रले यो env खण्ड Pod टेम्प्लेटमा थप्दैन।

Secret परिवर्तन गर्नु पनि जीवनचक्र परिवर्तन हो

Secret को डेटा परिवर्तन हुँदा कन्टेनरले आफ्नो वातावरण ताजा गर्दैन। नयाँ सुरु भएका कन्टेनरहरूले अद्यावधिक मान पाउनका लागि योजनाबद्ध पुनःसुरु वा rollout मिलाउनुहोस्। एउटै Secret नाम अन्तर्गत डेटा परिवर्तन गर्नुले आफैंमा Deployment को Pod टेम्प्लेट सम्पादन गर्दैन।

अनुप्रयोगले छानिएका प्रोक्सी वातावरण चलहरूलाई समर्थन गर्नुपर्छ। Helm भण्डारमा पहुँच र नोडको image pull यो कन्टेनर वातावरणले सहयोग गर्नुअघि चल्ने छुट्टै उपभोक्ता हुन्।

सम्बन्धित लेखहरू