Pretpostavimo da namespace izdanja već ima Secret pod nazivom app-outbound-proxy. Njegovi ključevi http_proxy i https_proxy sadrže potpune proxy URL-ove potrebne aplikaciji.

Helm 3 chart 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 fragment specifikacije kontejnera. Secret mora postojati u namespace-u Pod-a i sadržavati oba referencirana ključa. Njegove vrijednosti moraju koristiti protokol, host i port stvarnog proxy listenera. Za javne zahtjeve aplikacije kojima je dopušteno koristiti javni proxy bez autentifikacije, gradite te URL-ove iz odgovarajućeg kandidata na listi besplatnih proxyja; zadržite sve potrebne direktne izuzetke.

Vrijednost charta 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 šablon.

Promjena Secret-a je i 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 šablon 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