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 हे या कंटेनर पर्यावरणामुळे मदत होण्यापूर्वी चालणारे स्वतंत्र ग्राहक आहेत.

संबंधित लेख