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.

Povezani članci