Gumamit ng umiiral na Secret para sa mga proxy variable sa isang Helm chart
Sumangguni sa kumpletong proxy URL mula sa Secret sa Helm 3 Deployment template sa halip na ipagpalagay na ang shell variable ay magiging kapaligiran ng container.
Ipagpalagay na ang namespace ng release ay mayroon nang Secret na pinangalanang app-outbound-proxy. Ang mga susi nitong http_proxy at https_proxy ay naglalaman ng kumpletong proxy URL na kailangan ng aplikasyon.
Ang isang Helm 3 chart ay maaaring magtabi lamang ng pangalan ng Secret na iyon sa values.yaml:
outboundProxy:
existingSecret: app-outbound-proxy
Sa Deployment template ng inilaang container, sumangguni sa mga susi:
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
Ito ay isang bahagi ng container spec. Dapat umiral ang Secret sa namespace ng Pod at maglaman ng dalawang sinusuning susi. Dapat gamitin ng mga halaga nito ang protocol, host at port ng tunay na tagapakinig ng proxy. Para sa mga pampublikong kahilingan ng aplikasyon na pinapayagang gumamit ng pampublikong proxy na walang pagpapatunay, buuin ang mga URL na iyon mula sa angkop na kandidato sa listahan ng libreng proxy; panatilihin ang anumang kinakailangang direktang pagbubukod.
Ang halaga ng chart ay nagbibigay ng pangalan; ang secretKeyRef ay nagbibigay ng mga halaga ng kapaligiran ng container. Ang pag-export lamang ng HTTP_PROXY sa shell na nagpapatakbo ng helm ay hindi nagdaragdag ng env section na ito sa isang Pod template.
Ang pagbabago ng Secret ay pagbabago rin ng lifecycle
Hindi nire-refresh ng container ang kapaligiran nito kapag nagbago ang data ng Secret. Isaayos ang inilaang restart o rollout upang matanggap ng mga bagong sinimulang container ang na-update na halaga. Ang pagbabago ng data sa ilalim ng parehong pangalan ng Secret ay hindi mismo nag-e-edit ng Pod template ng Deployment.
Dapat suportahan ng aplikasyon ang mga piniling proxy environment variable. Ang pag-access sa Helm repository at ang paghila ng image sa node ay magkahiwalay na consumer na tumatakbo bago makatulong ang kapaligirang ito ng container.