በHelm ቻርት ውስጥ ለፕሮክሲ ተለዋዋጮች አስቀድሞ ያለውን Secret ይጠቀሙ
የshell ተለዋዋጭ ወደ ኮንቴይነር አካባቢ ይሆናል ብሎ ከመገመት ይልቅ በHelm 3 Deployment አብነት ውስጥ ሙሉ የፕሮክሲ URLዎችን ከSecret ያጣቅሱ።
የrelease namespace አስቀድሞ app-outbound-proxy የሚባል Secret አለው እንበል። የhttp_proxy እና https_proxy ቁልፎቹ መተግበሪያው የሚፈልጋቸውን ሙሉ የፕሮክሲ URLዎች ይይዛሉ።
የHelm 3 ቻርት የዚያን Secret ስም ብቻ በvalues.yaml ውስጥ ማስቀመጥ ይችላል፦
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 የኮንቴይነሩን የአካባቢ እሴቶች ይሰጣል። HTTP_PROXY ን በhelm አሂድ ውስጥ export ማድረግ ብቻ ይህን env ክፍል ወደ Pod አብነት አይጨምርም።
Secret ን መለወጥ የህይወት ዑደት ለውጥም ነው
ኮንቴይነር የSecret ውሂብ ሲለወጥ አካባቢውን አያድስም። አዲስ የተጀመሩ ኮንቴይነሮች የተዘመኑ እሴቶችን እንዲያገኙ የታሰበውን ዳግም ማስጀመር ወይም rollout ያዘጋጁ። በተመሳሳይ Secret ስም ስር ውሂብ መለወጥ በራሱ የDeployment Pod አብነትን አያርትዕም።
መተግበሪያው የተመረጡትን የፕሮክሲ አካባቢ ተለዋዋጮች መደገፍ አለበት። የHelm ማከማቻ መዳረሻ እና የnode ምስል መሳብ ይህ የኮንቴይነር አካባቢ ከመርዳቱ በፊት የሚሠሩ የተለያዩ ተጠቃሚዎች ናቸው።