Reanga-aunoa o nga mea ngaro i Helm

Reanga-aunoa o nga mea ngaro i Helm

rōpū Kubernetes aaS mai i Mail.ru i 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.

Te hanga mea ngaro

Ko te tikanga, ki te hanga mea ngaro ki Helm me:

  • whakaahuatia te mea ngaro i roto i te konae uara;
  • tautuhi ano i te wa e hora ana;
  • tirohia ki roto i te whakatakotoranga/pod;
  • ... painga!

Ko te tikanga he penei te ahua:

apiVersion: v1
kind: Secret
metadata:
  name: my-super-awesome-api-key
type: Opaque
stringData:
  apiKey: {{ .Values.MyApiKeySecret | quote }}

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.

Ngā manaakitanga pai!

He aha atu hei panui mo te kaupapa:

  1. E toru nga taumata o te tauine-aunoa i Kubernetes me pehea te whakamahi tika.
  2. Kubernetes i roto i te wairua o te kaipahua me te tauira mo te whakatinanatanga.
  3. To tatou hongere huri noa i Kubernetes i Telegram.

Source: will.com

Tāpiri i te kōrero