Tegyük fel, hogy a kiadás névtere már tartalmaz egy app-outbound-proxy nevű Secretet. http_proxy és https_proxy kulcsai tartalmazzák az alkalmazás által igényelt teljes proxy-URL-eket.

Egy Helm 3 chart a values.yaml fájlban csak a Secret nevét tárolhatja:

outboundProxy:
  existingSecret: app-outbound-proxy

A szándékolt konténer Deployment-sablonjában hivatkozzon a kulcsokra:

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

Ez a konténer-specifikáció egy töredéke. A Secretnek léteznie kell a Pod névterében, és tartalmaznia kell mindkét hivatkozott kulcsot. Értékeinek a tényleges proxy-figyelő protokollját, hosztját és portját kell használniuk. Azoknál a nyilvános alkalmazáskéréseknél, amelyek hitelesítés nélküli nyilvános proxyt használhatnak, ezeket az URL-eket a ingyenes proxyk listájának megfelelő jelöltjéből építse fel; tartsa meg a szükséges közvetlen kivételeket.

A chart értéke nevet ad; a secretKeyRef adja a konténer környezeti értékeit. Ha csupán exportálja a HTTP_PROXY-t a helmt futtató shellben, az nem adja hozzá ezt az env szakaszt egy Pod-sablonhoz.

A Secret módosítása is életciklus-változás

Egy konténer nem frissíti a környezetét, amikor a Secret adatai megváltoznak. Gondoskodjon a szándékolt újraindításról vagy rolloutról, hogy az újonnan indított konténerek frissített értékeket kapjanak. Az adatok módosítása ugyanazon Secret-név alatt önmagában nem szerkeszti a Deployment Pod-sablonját.

Az alkalmazásnak támogatnia kell a kiválasztott proxy-környezeti változókat. A Helm-tároló elérése és a csomópont image-lehúzása külön fogyasztók, amelyek azelőtt futnak, hogy ez a konténer-környezet segíthetne.

Kapcsolódó cikkek