rōpū Kubernetes aaS mai i Mail.rui whakamaoritia he korero poto me pehea te whakaputa aunoa i nga mea ngaro Helm i te wa e whakahou ana. Ko nga korero e whai ake nei mai i te kaituhi o te tuhinga - te kaiwhakahaere hangarau o Intoware, he kamupene e whakawhanake ana i nga otinga SaaS.
He hauhautanga nga ipu. I te tuatahi he anti-container ahau (kei te whakama ahau ki te whakaae), engari inaianei kei te tino tautoko ahau i te whakamahinga o tenei hangarau. Mena kei te panui koe i tenei, ko te tumanako kua angitu koe ki te whakatere i nga moana o Docker, kua mohio koe ki nga painga o Kubernetes, me te ngawari o to oranga me Helm.
Engari, he tino uaua ake etahi mea i te mea e tika ana.
Me pehea te whakaputa aunoa i nga mea ngaro i te wa e whakahou ana?
Ko te mea ngaro Kubernetes he rauemi kei roto nga takirua matua/uara e hiahia ana koe ki te whakamahi i roto i to waehere. Ko enei pea ko nga aho hononga raraunga, nga kupuhipa imeera, me etahi atu. Ma te whakamahi i nga mea ngaro, ka hangaia e koe he wehenga marama i waenga i te waehere me nga tautuhinga, ka taea e koe te whakarite ngawari i nga waahanga rereke me te kore e whakarereke i te turanga waehere.
Ko te ahuatanga noa ko te korero kia rua nga waahanga ma te whakamahi i te kii noa. Kaua tetahi o waho o te tautau e mohio ki tenei matua, i te mea ko te tikanga mo te whakawhitiwhiti korero kotahi ki tetahi i roto i te roopu.
He mea ngaro Kubernetes ma te whakamahi uara mai i values.yml
Engari me kii kaore koe e hiahia ki te whakaatu i to mea ngaro ki te konae uara.
He maha nga whiringa i te wa e hiahia ana te tukunga ki te kii tiritahi, me hanga i te wa e whakauru ana.
I roto i te tauira whakawhitiwhiti korero-ki-kowae i runga ake nei, kaore e pai ki te whakapuaki i te mea ngaro ki waho o te whakatakotoranga. No reira, he mea tino hiahia kia whai tikanga a Helm ki te whakaputa aunoa i tetahi mea ngaro me te kore e kii tika.
Matau
Ma nga matau ka taea e koe te whakahaere waehere ki nga waahi motuhake i te wa o te whakaurunga. Tera pea he mahi whirihoranga me whakahaere i muri i te whakaurunga tuatahi, tera pea me mahi he horoi i mua i te mahi whakahou.
Hei whakaoti i to maatau raru ki te taapiri i tetahi kii i hangaia i te wa o te whakaurunga, he pai nga matau i mua i te whakaurunga. Engari he hopu: kaore e taea e koe te whakaputa aunoa i te mea ngaro i runga i te whakahou. Ka mahi nga matau i ia whakahou.
Mena kua hanga e koe to mea ngaro a kaore ano to whakaurunga tuatahi kia puta katahi ka mutu te panui, ka pai te matau o mua i te whakauru ki a koe.
Engari ki te mea ko te mea ngaro tetahi waahanga o te whakahou (he ahuatanga hou pea kaore i reira i te wa o te whakaurunga), he whakama te kore e taea e koe te hanga matau i mua i te whakaurunga ka mahi kotahi anake.
Nga Mahi
Ma nga mahi Helm ka taea e koe te taapiri i nga momo tuhinga tuhi ki o tuhinga whakatakotoranga.
apiVersion: v1
kind: Secret
metadata:
name: my-super-awesome-api-key
type: Opaque
stringData:
apiKey: {{ uuidv4 | quote }} #Generate a new UUID and quote it
Ko tenei tauira e whakaatu ana ko te uara o te apiKey ngaro ko te UUID hou i hangaia i te wa o te whakaurunga.
Kei roto i te Helm he whare pukapuka tino whanui e whakamahi ana i nga ahuatanga tino whakamiharo o te tauira tauira GO me te whare pukapuka a Sprig ki te hanga tukunga ritenga.
Mahi rapu
Kua taapirihia ki te Helm 3.1 Mahi rapu, ka taea e koe te tono i te tukunga o naianei me:
tirohia te noho o nga rauemi;
whakahokia te uara o te rauemi o naianei hei whakamahi a muri ake.
Ma te whakamahi i enei kaha e rua, ka taea e tatou te hanga i te wa kotahi, te mea ngaro i hangaia!
# 1. Запросить существование секрета и вернуть в переменной $secret
{{- $secret := (lookup "v1" "Secret" .Release.Namespace "some-awesome-secret" -}}
apiVersion: v1
kind: Secret
metadata:
name: some-awesome-secret
type: Opaque
# 2. Если секрет существует, взять его значение как apiKey (секрет использует кодирование Base64, так что используйте ключ "data")
{{ if $secret -}}
data:
apiKey: {{ $secret.data.apiKey }}
# 3. Если секрет не существует — создать его (в этот раз используйте "stringData", так как будет обычное значение)!
{{ else -}}
stringData:
apiKey: {{ uuidv4 | quote }}
{{ end }}
I nga wa ka tukuna he whakahou hou ki te tūmau, ka whakaputahia e Helm he uara ngaro hou (mehemea kare ano he mea ngaro) ka whakamahi ano ranei i te uara o mua.