Soo saarista sirta ah ee Helm

Soo saarista sirta ah ee Helm

kooxda Kubernetes aaS ka Mail.ru qoraal gaaban turjumay ku saabsan sida si toos ah loo soo saaro sirta Helm marka la cusboonaysiinayo. Kuwa soo socdaa waa qoraal ka yimid qoraaga maqaalka - agaasimaha farsamada ee Intoware, shirkad horumarisa xalalka SaaS.

Konteenarada waa qabow. Markii hore waxaan ahaa anti-container (Waan ka xishoonayaa inaan qirto), laakiin hadda waxaan si buuxda u taageersanahay isticmaalka tignoolajiyadan. Haddii aad tan akhrinayso, waxaad rajaynaysaa inaad si guul leh u dhex martay badda Docker, xaqiiqsatay faa'iidooyinka Kubernetes, oo aad noloshaada ka dhigtay mid aad u fudud Helm.

Si kastaba ha ahaatee, waxyaabaha qaar ayaa si cad uga adag inta ay u baahan yihiin.

Sidee si toos ah loo soo saaraa sirta marka la cusboonaysiinayo?

Sirta Kubernetes waa kheyraad ka kooban lamaane fure/qiimo leh oo aad rabto inaad ku isticmaasho koodkaga. Kuwani waxay noqon karaan xargaha isku xirka xogta, erayga sirta ah ee iimaylka, iyo wixii la mid ah. Adigoo isticmaalaya siraha, waxaad abuurtaa kala soocid cad oo u dhexeeya koodka iyo dejinta, taas oo kuu oggolaanaysa inaad si fudud u habayn karto hawlgelinta kala duwan adigoon beddelin codebase.

Xaalad caadi ah waa marka ay tahay in laba qaybood ay ku wada xiriiraan furaha guud. Ma jiro qof ka baxsan kooxdu waa inuu yaqaan furahaan, maadaama loogu talagalay isgaarsiinta hal-ka-hal ee kooxda dhexdeeda.

Samaynta siraha

Caadi ahaan, si aad sir ugu abuurto Helm waxaad u baahan tahay:

  • sharax sirta ku jirta faylka qiyamka;
  • dib u qeex inta lagu jiro hawlgelinta;
  • tixraac gudaha geynta/boodhka;
  • ... faa'iido!

Caadiyan waxay u egtahay wax sidan oo kale ah:

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

Kubernetes sir fudud oo la isticmaalayo qiyamka ka values.yml

Laakiin aynu nidhaahno ma rabto inaad sirtaada ku sheegto faylka qiyamka.

Waxaa jira xulashooyin badan marka geyntu u baahan tahay fure la wadaago, kaas oo ay tahay in la soo saaro inta lagu jiro rakibidda.

Tusaalaha isgaarsiinta moduleka-ilaa-module ee kore, maahan mid la jecel yahay in lala wadaago sirta ka baxsan meelaynta. Sidaa darteed, waxaa aad loo jecel yahay in Helm uu leeyahay habab uu si toos ah u soo saaro sirta iyada oo aan si toos ah loo sheegin.

Hooks

Hooks waxay kuu oggolaanayaan inaad ku socodsiiso koodka meelo gaar ah inta lagu jiro habka rakibidda. Waxaa laga yaabaa inay jirto shaqo qaabayn ah oo u baahan in la sameeyo ka dib rakibidda ugu horreysa, ama laga yaabo in nadiifinta loo baahan yahay in la sameeyo ka hor inta aan la samayn wax cusbooneysiin ah.

Si loo xalliyo mushkiladayada ah in lagu daro furaha la soo saaray inta lagu gudajiro rakibaadda, qabsashada hore ee rakibidda ayaa ku habboon. Laakiin waxaa jira qabsasho: si toos ah uma soo saari kartid sirta hal mar oo cusbooneysiin ah. Hooks waxay ku shaqeyn doontaa cusbooneysiin kasta.

Haddii aad soo saartay sirtaada oo rakibaaddaadii ugu horreysay aysan weli dhicin ka dibna jooji akhrinta, qabsada horay loo rakibay ayaa si weyn kuugu shaqayn doonta.

Laakiin haddii sirta ay tahay qayb ka mid ah cusbooneysiinta (laga yaabee muuqaal cusub oo aan jirin inta lagu jiro rakibidda), markaa waa wax laga xishoodo inaadan abuuri karin jilbaha hore ee rakibidda oo shaqeeya hal mar.

Functions

Hawlaha Helm waxay kuu oggolaanayaan inaad ku darto waxyaabo kala duwan oo qoraal ah qoraalladaada geynta.

apiVersion: v1
kind: Secret
metadata:
  name: my-super-awesome-api-key
type: Opaque
stringData:
  apiKey: {{ uuidv4 | quote }} #Generate a new UUID and quote it

Tusaalahani wuxuu muujinayaa in qiimaha sirta apiKey uu noqon doono UUID-ga cusub ee la soo saaray inta lagu jiro rakibidda.

Helm waxaa ku jira maktabad sifo aad u ballaaran oo run ahaantii ka faa'ideysata sifooyinka GO ee cajiibka ah iyo maktabada astaanta Sprig si loo abuuro hawlgelin gaar ah.

Shaqada raadinta

Waxaa lagu daray Helm 3.1 Shaqada raadinta, kaas oo kuu ogolaanaya inaad codsato hawlgelin jirta iyo:

  • hubi jiritaanka kheyraadka;
  • soo celi qiimaha kheyraadka jira ee isticmaalka dambe.

Isticmaalka labadan awoodood, waxaan abuuri karnaa sir hal mar ah, oo firfircooni leh!

# 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 }}

Mar kasta oo cusbooneysiin cusub lagu dabaqo server-ka, Helm wuxuu soo saari doonaa qiime cusub oo sir ah (haddii aysan weli jirin sir) ama dib ayuu u isticmaali doonaa qiimaha jira.

nasiib wacan!

Maxaa kale oo laga akhriyi mawduuca:

  1. Saddex heer oo autoscaling gudaha Kubernetes iyo sida loo isticmaalo si wax ku ool ah.
  2. Kubernetes oo ku jira niyadda budhcad-badeednimada oo wata hab-raac dhaqangelineed.
  3. Kanaalkayaga Kubernetes ee Telegram.

Source: www.habr.com

Add a comment