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 predlošku 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 ulomak specifikacije kontejnera. Secret mora postojati u namespace-u Pod-a i sadržavati oba referencirana ključa. Njegove vrijednosti trebaju koristiti protokol, host i port stvarnog proxy poslužitelja. Za javne zahtjeve aplikacije kojima je dopušteno koristiti javni proxy bez provjere identiteta, gradite te URL-ove iz odgovarajućeg kandidata na popisu besplatnih proxyja; zadržite sve potrebne izravne iznimke.

Vrijednost grafikona daje naziv; secretKeyRef daje vrijednosti okruženja kontejnera. Samo export HTTP_PROXY u shellu koji pokreće helm ne dodaje ovaj env odjeljak u Pod predložak.

Promjena Secret-a također je promjena životnog ciklusa

Kontejner ne osvježava svoje okruženje kada se podaci Secret-a promijene. Organizirajte predviđeni restart ili rollout tako da novo pokrenuti kontejneri dobiju ažurirane vrijednosti. Promjena podataka pod istim nazivom Secret-a sama po sebi ne uređuje Pod predložak Deployment-a.

Aplikacija mora podržavati odabrane proxy varijable okruženja. Pristup Helm repozitoriju i povlačenje slike na čvoru odvojeni su potrošači koji rade prije nego što ovo okruženje kontejnera može pomoći.

Povezani članci