Helm ප්රස්තාරයේ ප්රොක්සි විචල්ය සඳහා පවතින Secret භාවිත කිරීම
shell විචල්යය container පරිසරය බවට පත් වේ යැයි උපකල්පනය නොකර Helm 3 Deployment අච්චුවේ Secret වෙතින් සම්පූර්ණ ප්රොක්සි URL යොමු කරන්න.
release namespace එකේ දැනටමත් app-outbound-proxy නමින් Secret එකක් ඇතැයි සිතමු. එහි http_proxy සහ https_proxy යතුරුවල යෙදුමට අවශ්ය සම්පූර්ණ ප්රොක්සි URL ඇත.
Helm 3 ප්රස්තාරයකට values.yaml තුළ එම Secret හි නම පමණක් තබා ගත හැක:
outboundProxy:
existingSecret: app-outbound-proxy
අදහස් කළ container හි 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
මෙය container පිරිවිතරයේ කොටසකි. Secret Pod හි namespace තුළ පැවතිය යුතු අතර යොමු කළ යතුරු දෙකම අඩංගු විය යුතුය. එහි අගයන් සැබෑ ප්රොක්සි ශ්රාවකයාගේ ප්රොටොකෝලය, සත්කාරකය සහ තොටුපළ භාවිත කළ යුතුය. සත්යාපනයක් නොමැති පොදු ප්රොක්සියක් භාවිත කිරීමට අවසර ඇති පොදු යෙදුම් ඉල්ලීම් සඳහා එම URL නොමිලේ ප්රොක්සි ලැයිස්තුවේ ගැළපෙන අපේක්ෂකයෙකුගෙන් ගොඩනඟන්න; අවශ්ය සෘජු ව්යතිරේක රඳවා ගන්න.
ප්රස්තාර අගය නමක් සපයයි; secretKeyRef container හි පරිසර අගයන් සපයයි. helm ධාවනය කරන shell තුළ HTTP_PROXY export කිරීම පමණක් මෙම env කොටස Pod අච්චුවට එකතු නොකරයි.
Secret වෙනස් කිරීම ද ජීවන චක්ර වෙනසකි
Secret දත්ත වෙනස් වන විට container එහි පරිසරය නැවුම් නොකරයි. අලුතින් ආරම්භ කළ container යාවත්කාලීන අගයන් ලබා ගැනීමට සැලසුම් කළ නැවත ආරම්භය හෝ rollout සකසන්න. එකම Secret නාමය යටතේ දත්ත වෙනස් කිරීම තමන් විසින්ම Deployment හි Pod අච්චුව සංස්කරණය නොකරයි.
යෙදුම තෝරාගත් ප්රොක්සි පරිසර විචල්ය සඳහා සහාය දැක්විය යුතුය. Helm ගබඩාවට පිවිසීම සහ නෝඩයේ image ඇදීම මෙම container පරිසරය උපකාර කිරීමට පෙර ක්රියා කරන වෙන වෙනම පාරිභෝගිකයන් ය.