Hordhac Kooban Oo Kustomize

Ogow. turjumiMaqaalka waxaa qoray Scott Lowe, oo ah injineer khibrad dheer u leh IT, kaas oo ah qoraaga/la-qoraaga toddobada buug ee daabacan (gaar ahaan VMware vSphere). Hadda waxa uu u shaqeeyaa Heptio hoosteeda VMware (oo la helay 2016), oo ku takhasusay xisaabinta daruuraha iyo Kubernetes. Qoraalka laftiisu waxa uu u adeegaa horudhac kooban oo si fudud loo fahmi karo ee maaraynta habaynta ee Kubernetes iyada oo la isticmaalayo tignoolajiyada Habbee, kaas oo dhawaan ka mid noqday K8s.

Hordhac Kooban Oo Kustomize

Kustomize waa aalad u oggolaanaysa isticmaaleyaasha inay β€œhabeeyaan faylalka YAML ee fudud, qaab-la’aanta ah oo aan lahayn ujeeddooyin kala duwan, taasoo ka dhigaysa YAML-kii asalka ahaa mid sax ah oo la isticmaali karo” ( sharraxaadda si toos ah looga soo amaahday ku kaydi kaydka GitHub). Kustomize si toos ah ayaa loo ordi karaa ama, sida Kubernetes 1.14, waa la isticmaali karaa kubectl -k si loo helo shaqadeeda (inkasta oo kubernetes 1.15, binary-ga gaarka ah ayaa ka cusub awoodaha lagu dhisay kubectl). (Ogow. turjumi: Iyo iyadoo dhawaan la sii daayay Kubernetes 1.16 habayn taageeray sidoo kale kubeadm utility.) Maqaalkan, waxaan rabaa inaan akhristayaasha u soo bandhigo aasaaska kustomize.

Qaabka/codsiga ugu fudud, kustomize waa si fudud ururinta agabka (faylalka YAML ee qeexaya walxaha Kubernetes: Deployment, Services, iwm.) iyo liis tilmaamo ah oo ku saabsan isbeddelada loo baahan yahay in lagu sameeyo agabkaas. Sida loo isticmaalo hab-tilmaameedka ku jira Makefile, iyo Docker waxay dhistaa weelka ku salaysan tilmaamaha Dockerfile, isticmaal isticmaalkeeda kustomization.yaml si loo kaydiyo tilmaamo ku saabsan waxa isbedalada isticmaaluhu rabo inuu ku sameeyo agab agab ah.

Waa kan tusaale tusaale kustomization.yaml:

resources:
- deployment.yaml
- service.yaml
namePrefix: dev-
namespace: development
commonLabels:
  environment: development

Ma isku dayi doono inaan ka hadlo dhammaan meelaha suurtogalka ah ee faylka. kustomization.yaml (tani si wanaagsan ayaa wax looga qoray halkan), balse waxaan sharaxaad kooban ka bixin doonaa tusaale gaar ah:

  • field resources waxay tilmaamaysaa waxa (khayraadka) kustomise bedeli doono. Xaaladdan oo kale, waxay raadin doontaa ilaha faylasha deployment.yaml ΠΈ service.yaml tusahaaga (waxaad ku qeexi kartaa wadooyin buuxa ama qaraabo haddii loo baahdo).
  • field namePrefix wuxuu farayaa kustomize in lagu daro horgale gaar ah (xaaladdan - dev-) loo sifoobo name dhammaan agabka lagu qeexay goobta resources. Sidaas darteed, haddii la geeyo name macne leh nginx-deployment, Customize ka dhigi doonaa dev-nginx-deployment.
  • field namespace wuxuu farayaa kustomize in lagu daro magaca la bixiyay dhammaan ilaha. Xaaladdan oo kale, Gelida iyo Adeeggu waxay ku dhici doonaan goobta magaca development.
  • Ugu dambeyntii, garoonka commonLabels ka kooban calaamado lagu dari doono dhammaan agabyada. Tusaalahayaga, kustomize waxay ku meelayn doontaa calaamada ilaha magaca leh environment iyo macnaha development.

Haddii isticmaaluhu sameeyo kustomize build . tusaha faylka ku jira kustomization.yaml iyo agabka lagama maarmaanka ah (sida faylalka deployment.yaml ΠΈ service.yaml), ka dibna marka la soo saaro waxay heli doontaa qoraal leh isbeddelada lagu qeexay kustomization.yaml.

Hordhac Kooban Oo Kustomize
Ogow. turjumi: Sawirka dukumentiga mashruuca ee ku saabsan isticmaalka "fudud" ee kustomize

Wax-soo-saarka waa la wareejin karaa haddii isbeddellada loo baahan yahay in la sameeyo:

kustomize build . > custom-config.yaml

Xogta wax-soo-saarka ayaa go'aamin karta (xogta isku midka ah waxay soo saari doontaa natiijooyin isku mid ah), markaa uma baahnid inaad natiijada ku kaydiso fayl. Taa beddelkeeda, waxaa si toos ah loogu gudbin karaa amar kale:

kustomize build . | kubectl apply -f -

Tilmaamaha kustomize sidoo kale waxaa lagu heli karaa iyada oo loo marayo kubectl -k (tan iyo Kubernetes nooca 1.14). Si kastaba ha ahaatee, maskaxda ku hay in xirmada kustomize ee kali ah loo cusbooneysiiyay si ka dhakhso badan xirmada kubectl ee isku dhafan (ugu yaraan tani waa kiiska Kubernetes 1.15 siideynta).

Akhristayaashu waxay ku weydiin karaan: "Waa maxay sababta dhammaan kakanaantan oo dhan haddii aad si toos ah u habeyn karto faylasha?" Su'aal weyn. Tusaalahayaga, runtii awooddo wax ka beddel faylasha deployment.yaml ΠΈ service.yaml si toos ah, laakiin maxaa dhacaya haddii ay yihiin fargeeto mashruuca qof kale? Beddelidda faylasha si toos ah waxay adkeynaysaa (haddii aysan macquul ahayn) in dib loo dhigo fargeeto marka isbeddel lagu sameeyo asalka/ isha. Isticmaalka kustomize waxay kuu ogolaaneysaa inaad dhexeeyso isbeddeladan faylka kustomization.yaml, oo ka tagaya faylalka asalka ah si sax ah oo markaa fududeynaya in dib loo dhigo faylalka asalka ah haddii loo baahdo.

Faa'iidooyinka kustomize waxay ku muuqdaan kiisaska isticmaalka kakan. Tusaalaha kore kustomization.yaml agabkuna waa isku buug. Si kastaba ha ahaatee, kustomize waxay taageertaa isticmaalka kiisaska halka ay jirto qaabeynta saldhiga iyo noocyo badan oo ka mid ah, oo sidoo kale loo yaqaan bareelo. Tusaale ahaan, isticmaaluhu wuxuu rabay inuu u qaato Deployment and Service nginx, kaas oo aan u adeegsaday tusaale ahaan, oo aan abuuro horumarinta, habaynta iyo noocyada wax soo saarka (ama noocyada) faylashaas. Si tan loo sameeyo, wuxuu u baahan doonaa dulsaaryada kor ku xusan iyo, dhab ahaantii, ilaha aasaasiga ah laftooda.

Si aad u muujiso fikradda dulsaarka iyo agabka hoose (khayraadka saldhiga), aan ka soo qaadno in hagitaanadu ay leeyihiin qaabkan soo socda:

- base
  - deployment.yaml
  - service.yaml
  - kustomization.yaml
- overlays
  - dev
    - kustomization.yaml
  - staging
    - kustomization.yaml
  - prod
    - kustomization.yaml

Faylka ku jira base/kustomization.yaml isticmaalayaasha isticmaalaya garoonka resources si fudud u sheeg kheyraadka ay tahay in lagu daro.

Mid kasta oo ka mid ah faylalka overlays/{dev,staging,prod}/kustomization.yaml Isticmaalayaasha waxay tixraacaan qaabeynta saldhigga ee goobta resources, ka dibna u muuji isbeddello gaar ah deegaan la siiyay. Tusaale ahaan, fayl overlays/dev/kustomization.yaml waxay u ekaan kartaa tusaalihii hore loo bixiyay:

resources:
- ../../base
namePrefix: dev-
namespace: development
commonLabels:
  environment: development

Xaaladdan oo kale faylka overlays/prod/kustomization.yaml gabi ahaanba wuu ka duwanaan karaa:

resources:
- ../../base
namePrefix: prod-
namespace: production
commonLabels:
  environment: production
  sre-team: blue

Marka isticmaaluhu ordo kustomize build . buugga ku yaal overlays/dev, kustomize waxay dhalin doontaa ikhtiyaarka horumarinta. Haddaad cararto kustomize build . buugga ku yaal overlays/prod - waxaad helaysaa ikhtiyaarka wax soo saarka. Oo waxaas oo dhan - iyada oo aan wax isbeddel ah lagu samayn asalka (saldhig) faylal, dhamaantood si cad oo go'aamin leh. Waxaad si toos ah ugu samayn kartaa habaynta saldhigga iyo hagayaasha ku dahaadhan kontoroolka nooca, adiga oo og in ku salaysan faylalkan aad dib u soo saari karto qaabaynta la doonayo wakhti kasta.

Hordhac Kooban Oo Kustomize
Ogow. turjumiSawirka dukumentiga mashruuca ee ku saabsan isticmaalka dulsaaryada kustomize

Habayn kara badan in ka badan waxa ku xusan qodobkan. Si kastaba ha ahaatee, waxaan rajeynayaa inay u adeegto sida hordhac wanaagsan.

ΠžΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы

Waxaa jira maqaallo iyo daabacaadyo badan oo wanaagsan oo ku saabsan kustomize. Waa kuwan qaar aan si gaar ah faa'iido u helay:

Ogow. turjumi: Waxa kale oo aad ku talin kartaa block of links daabacay sida Resources ku yaal mareegta utility, oo ay ku xigto ururinta fiidiyowyada oo wata warbixinihii ugu dambeeyay ee kustomize.

Haddii aad hayso su'aalo ama talooyin ku saabsan hagaajinta alaabtan, marwalba waxaan u furanahay jawaab celin. Waxaad igala soo xiriiri kartaa Twitter ama Kubernetes Slack channel. Ku raaxayso in aad wax ka beddesho muujintaada si quruxsan!

PS ka turjumaan

Sidoo kale ka akhri boggayaga:

Source: www.habr.com

Add a comment