ប្រើ Secret ដែលមានស្រាប់សម្រាប់អថេរ proxy ក្នុងគំនូសតាង Helm
យោងទៅ URL proxy ពេញលេញពី Secret ក្នុងគំរូ Deployment របស់ Helm 3 ជំនួសឱ្យការសន្មត់ថាអថេរ shell ក្លាយជាបរិស្ថាន container។
សន្មតថា namespace នៃការចេញផ្សាយមាន Secret ឈ្មោះ app-outbound-proxy រួចហើយ។ កូនសោ http_proxy និង https_proxy របស់វាមាន URL proxy ពេញលេញដែលកម្មវិធីត្រូវការ។
គំនូសតាង Helm 3 អាចរក្សាតែឈ្មោះ Secret នោះក្នុង values.yaml៖
outboundProxy:
existingSecret: app-outbound-proxy
ក្នុងគំរូ Deployment នៃ container ដែលបានកំណត់ យោងទៅកូនសោ៖
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
នេះជាបំណែកនៃលក្ខណៈបច្ចេកទេស container។ Secret ត្រូវតែមានក្នុង namespace របស់ Pod និងមានកូនសោទាំងពីរដែលបានយោង។ តម្លៃរបស់វាត្រូវប្រើពិធីការ ម៉ាស៊ីន និងច្រករបស់អ្នកស្តាប់ proxy ពិតប្រាកដ។ សម្រាប់សំណើសាធារណៈរបស់កម្មវិធីដែលត្រូវបានអនុញ្ញាតឱ្យប្រើ proxy សាធារណៈដោយគ្មានការផ្ទៀងផ្ទាត់ សូមបង្កើត URL ទាំងនោះពីបេក្ខជនសមស្របក្នុងបញ្ជី proxy ឥតគិតថ្លៃ; រក្សាការលើកលែងផ្ទាល់ដែលចាំបាច់។
តម្លៃគំនូសតាងផ្តល់ឈ្មោះ; secretKeyRef ផ្តល់តម្លៃបរិស្ថាន container។ ការ export HTTP_PROXY ក្នុង shell ដែលដំណើរការ helm មិនបន្ថែមផ្នែក env នេះទៅគំរូ Pod ទេ។
ការផ្លាស់ប្តូរ Secret ក៏ជាការផ្លាស់ប្តូរវដ្តជីវិត
container មិនធ្វើបច្ចុប្បន្នភាពបរិស្ថានរបស់ខ្លួននៅពេលទិន្នន័យ Secret ផ្លាស់ប្តូរទេ។ រៀបចំការចាប់ផ្តើមឡើងវិញ ឬ rollout ដែលបានកំណត់ ដើម្បីឱ្យ container ដែលទើបចាប់ផ្តើមទទួលបានតម្លៃថ្មី។ ការផ្លាស់ប្តូរទិន្នន័យក្រោមឈ្មោះ Secret ដូចគ្នា ដោយខ្លួនវាមិនកែគំរូ Pod របស់ Deployment ទេ។
កម្មវិធីត្រូវតែគាំទ្រអថេរបរិស្ថាន proxy ដែលបានជ្រើសរើស។ ការចូលប្រើឃ្លាំង Helm និងការទាញ image នៅ node គឺជាអ្នកប្រើប្រាស់ដាច់ដោយឡែកដែលដំណើរការមុនពេលបរិស្ថាន container នេះអាចជួយបាន។