Predpostavimo, da ima imenski prostor izdaje že Secret z imenom app-outbound-proxy. Njegova ključa http_proxy in https_proxy vsebujeta popolne proxy URL, ki jih aplikacija potrebuje.

Helm 3 grafikon lahko v values.yaml hrani samo ime tega Secret:

outboundProxy:
  existingSecret: app-outbound-proxy

V predlogi Deployment predvidenega vsebnika se sklicujte na ključa:

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

To je del specifikacije vsebnika. Secret mora obstajati v imenskem prostoru Pod in vsebovati oba navedena ključa. Njegove vrednosti morajo uporabljati protokol, gostitelja in vrata dejanskega proxy poslušalca. Za javne zahteve aplikacije, ki smejo uporabljati javni proxy brez preverjanja pristnosti, zgradite te URL iz ustreznega kandidata na seznamu brezplačnih proxyjev; ohranite vse potrebne neposredne izjeme.

Vrednost grafikona zagotovi ime; secretKeyRef zagotovi okoljske vrednosti vsebnika. Samo izvoz HTTP_PROXY v lupini, ki poganja helm, tega razdelka env ne doda predlogi Pod.

Spreminjanje Secret je tudi sprememba življenjskega cikla

Vsebnik ne osveži svojega okolja, ko se podatki Secret spremenijo. Organizirajte predvideni ponovni zagon ali rollout, da bodo na novo zagnani vsebniki prejeli posodobljene vrednosti. Spreminjanje podatkov pod istim imenom Secret samo po sebi ne ureja predloge Pod v Deployment.

Aplikacija mora podpirati izbrane proxy okoljske spremenljivke. Dostop do repozitorija Helm in vlečenje slike na vozlišču sta ločena uporabnika, ki tečeta preden lahko to okolje vsebnika pomaga.

Sorodni članki