Helm диаграммасында прокси айнымалылары үшін бар Secret пайдалану
Shell айнымалысы контейнер ортасына айналады деп болжаудың орнына, Helm 3 Deployment үлгісінде Secret ішіндегі толық прокси URL-деріне сілтеме жасаңыз.
Шығарылым 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 деректері өзгергенде контейнер өз ортасын жаңартпайды. Жаңадан іске қосылған контейнерлер жаңартылған мәндерді алуы үшін көзделген қайта іске қосуды немесе rollout-ты ұйымдастырыңыз. Бірдей Secret атауы астында деректерді өзгерту өздігінен Deployment-тің Pod үлгісін өңдемейді.
Қолданба таңдалған прокси орта айнымалыларын қолдауы керек. Helm қоймасына қатынау және түйіннің image-ін тарту — бұл контейнер ортасы көмектесе алардан бұрын жұмыс істейтін бөлек тұтынушылар.