Een bestaand Secret gebruiken voor proxyvariabelen in een Helm-chart
Verwijs in de Helm 3 Deployment-template naar volledige proxy-URL's uit een Secret in plaats van aan te nemen dat een shell-variabele de containeromgeving wordt.
Stel dat de namespace van de release al een Secret met de naam app-outbound-proxy heeft. De sleutels http_proxy en https_proxy bevatten de volledige proxy-URL's die de applicatie nodig heeft.
Een Helm 3-chart kan in values.yaml alleen de naam van dat Secret bewaren:
outboundProxy:
existingSecret: app-outbound-proxy
Verwijs in de Deployment-template van de beoogde container naar de sleutels:
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
Dit is een fragment van de containerspecificatie. Het Secret moet in de namespace van de Pod bestaan en beide genoemde sleutels bevatten. De waarden moeten het protocol, de host en de poort van de daadwerkelijke proxy-listener gebruiken. Bouw voor openbare applicatieverzoeken die een openbare proxy zonder verificatie mogen gebruiken die URL's uit een passende kandidaat in de lijst met gratis proxy's; behoud alle vereiste directe uitzonderingen.
De chartwaarde levert een naam; secretKeyRef levert de omgevingswaarden van de container. Alleen HTTP_PROXY exporteren in de shell die helm uitvoert, voegt dit env-gedeelte niet toe aan een Pod-template.
Het Secret wijzigen is ook een levenscycluswijziging
Een container ververst zijn omgeving niet wanneer de Secret-gegevens veranderen. Regel de beoogde herstart of rollout zodat nieuw gestarte containers de bijgewerkte waarden ontvangen. Gegevens onder dezelfde Secret-naam wijzigen bewerkt op zichzelf niet de Pod-template van de Deployment.
De applicatie moet de gekozen proxy-omgevingsvariabelen ondersteunen. Toegang tot de Helm-repository en het ophalen van de image op de node zijn aparte verbruikers die draaien voordat deze containeromgeving kan helpen.