Korišćenje postojećeg Secret-a za proxy promenljive u Helm grafikonu
Referencirajte potpune proxy URL-ove iz Secret-a u Helm 3 Deployment šablonu umesto da pretpostavljate da shell promenljiva postaje okruženje kontejnera.
Pretpostavimo da namespace izdanja već ima Secret nazvan app-outbound-proxy. Njegovi ključevi http_proxy i https_proxy sadrže potpune proxy URL-ove potrebne aplikaciji.
Helm 3 grafikon može u values.yaml čuvati samo naziv tog Secret-a:
outboundProxy:
existingSecret: app-outbound-proxy
U Deployment šablonu predviđenog kontejnera referencirajte ključeve:
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
Ovo je deo specifikacije kontejnera. Secret mora postojati u namespace-u Pod-a i sadržati oba referencirana ključa. Njegove vrednosti treba da koriste protokol, host i port stvarnog proxy osluškivača. Za javne zahteve aplikacije kojima je dozvoljeno korišćenje javnog proxy-ja bez autentifikacije, gradite te URL-ove iz odgovarajućeg kandidata na listi besplatnih proxy-ja; zadržite sve potrebne direktne izuzetke.
Vrednost grafikona daje naziv; secretKeyRef daje vrednosti okruženja kontejnera. Samo export HTTP_PROXY u shell-u koji pokreće helm ne dodaje ovaj env odeljak u Pod šablon.
Promena Secret-a je takođe promena životnog ciklusa
Kontejner ne osvežava svoje okruženje kada se podaci Secret-a promene. Organizujte predviđeni restart ili rollout tako da novo pokrenuti kontejneri dobiju ažurirane vrednosti. Promena podataka pod istim nazivom Secret-a sama po sebi ne uređuje Pod šablon Deployment-a.
Aplikacija mora da podržava izabrane proxy promenljive okruženja. Pristup Helm repozitorijumu i povlačenje slike na čvoru su odvojeni potrošači koji rade pre nego što ovo okruženje kontejnera može da pomogne.