Helm ਚਾਰਟ ਵਿੱਚ ਪਰਾਕਸੀ ਵੇਰੀਏਬਲਾਂ ਲਈ ਮੌਜੂਦਾ Secret ਵਰਤੋ
shell ਵੇਰੀਏਬਲ ਕੰਟੇਨਰ ਵਾਤਾਵਰਣ ਬਣ ਜਾਵੇਗਾ ਮੰਨਣ ਦੀ ਥਾਂ Helm 3 Deployment ਟੈਂਪਲੇਟ ਵਿੱਚ Secret ਤੋਂ ਪੂਰੇ ਪਰਾਕਸੀ URL ਦਾ ਹਵਾਲਾ ਦਿਓ।
ਮੰਨ ਲਓ ਕਿ release namespace ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ app-outbound-proxy ਨਾਮ ਦਾ Secret ਹੈ। ਇਸ ਦੀਆਂ http_proxy ਅਤੇ https_proxy ਕੁੰਜੀਆਂ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਲੋੜੀਂਦੇ ਪੂਰੇ ਪਰਾਕਸੀ URL ਹਨ।
Helm 3 ਚਾਰਟ values.yaml ਵਿੱਚ ਸਿਰਫ਼ ਉਸ Secret ਦਾ ਨਾਮ ਰੱਖ ਸਕਦਾ ਹੈ:
outboundProxy:
existingSecret: app-outbound-proxy
ਸੋਚੇ ਗਏ ਕੰਟੇਨਰ ਦੇ Deployment ਟੈਂਪਲੇਟ ਵਿੱਚ ਕੁੰਜੀਆਂ ਦਾ ਹਵਾਲਾ ਦਿਓ:
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
ਇਹ ਕੰਟੇਨਰ-ਸਪੈਕ ਦਾ ਇੱਕ ਟੁਕੜਾ ਹੈ। Secret Pod ਦੇ namespace ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਹਵਾਲਾ ਦਿੱਤੀਆਂ ਦੋਵੇਂ ਕੁੰਜੀਆਂ ਰੱਖਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਇਸ ਦੇ ਮੁੱਲਾਂ ਵਿੱਚ ਅਸਲ ਪਰਾਕਸੀ ਸਰੋਤੇ ਦਾ ਪ੍ਰੋਟੋਕਾਲ, ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਿਨ੍ਹਾਂ ਜਨਤਕ ਐਪਲੀਕੇਸ਼ਨ ਬੇਨਤੀਆਂ ਨੂੰ ਬਿਨਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਵਾਲਾ ਜਨਤਕ ਪਰਾਕਸੀ ਵਰਤਣ ਦੀ ਇਜਾਜ਼ਤ ਹੈ, ਉਨ੍ਹਾਂ URL ਨੂੰ ਮੁਫ਼ਤ ਪਰਾਕਸੀ ਸੂਚੀ ਵਿੱਚੋਂ ਢੁੱਕਵੇਂ ਉਮੀਦਵਾਰ ਤੋਂ ਬਣਾਓ; ਲੋੜੀਂਦੇ ਸਿੱਧੇ ਅਪਵਾਦ ਰੱਖੋ।
ਚਾਰਟ ਦਾ ਮੁੱਲ ਨਾਮ ਦਿੰਦਾ ਹੈ; secretKeyRef ਕੰਟੇਨਰ ਦੇ ਵਾਤਾਵਰਣ ਮੁੱਲ ਦਿੰਦਾ ਹੈ। helm ਚਲਾਉਂਦੇ shell ਵਿੱਚ ਸਿਰਫ਼ HTTP_PROXY export ਕਰਨ ਨਾਲ ਇਹ env ਭਾਗ Pod ਟੈਂਪਲੇਟ ਵਿੱਚ ਨਹੀਂ ਜੁੜਦਾ।
Secret ਬਦਲਣਾ ਵੀ ਜੀਵਨ-ਚੱਕਰ ਬਦਲਾਅ ਹੈ
Secret ਡੇਟਾ ਬਦਲਣ 'ਤੇ ਕੰਟੇਨਰ ਆਪਣਾ ਵਾਤਾਵਰਣ ਤਾਜ਼ਾ ਨਹੀਂ ਕਰਦਾ। ਨਵੇਂ ਸ਼ੁਰੂ ਹੋਏ ਕੰਟੇਨਰਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤੇ ਮੁੱਲ ਮਿਲਣ ਲਈ ਯੋਜਨਾਬੱਧ restart ਜਾਂ rollout ਦਾ ਪ੍ਰਬੰਧ ਕਰੋ। ਇੱਕੋ Secret ਨਾਮ ਹੇਠ ਡੇਟਾ ਬਦਲਣਾ ਆਪਣੇ ਆਪ ਵਿੱਚ Deployment ਦੇ Pod ਟੈਂਪਲੇਟ ਨੂੰ ਸੋਧਦਾ ਨਹੀਂ।
ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਚੁਣੇ ਗਏ ਪਰਾਕਸੀ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਾਂ ਦਾ ਸਮਰਥਨ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। Helm ਰਿਪੋਜ਼ਟਰੀ ਤੱਕ ਪਹੁੰਚ ਅਤੇ ਨੋਡ 'ਤੇ image pull ਇਸ ਕੰਟੇਨਰ ਵਾਤਾਵਰਣ ਦੇ ਮਦਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਚੱਲਣ ਵਾਲੇ ਵੱਖਰੇ ਖਪਤਕਾਰ ਹਨ।