Thoir an aire. eadar-theangachadh.: Chaidh an artaigil a sgrìobhadh le Scott Lowe, innleadair le eòlas farsaing ann an IT, a tha na ùghdar / co-ùghdar air seachd leabhraichean clò-bhuailte (gu sònraichte air VMware vSphere). Tha e a-nis ag obair dha fo-bhuidheann VMware Heptio (air fhaighinn ann an 2016), gu sònraichte ann an coimpiutaireachd sgòthan agus Kubernetes. Tha an teacsa fhèin na ro-ràdh pongail agus furasta a thuigsinn mu riaghladh rèiteachaidh airson Kubernetes a’ cleachdadh teicneòlas Gnàthaich, a thàinig gu bhith na phàirt de K8n o chionn ghoirid.
Is e inneal a th’ ann an Kustomize a leigeas le luchd-cleachdaidh “faidhlichean YAML sìmplidh, gun theamplaid a ghnàthachadh airson diofar adhbharan, a’ fàgail an YAML tùsail slàn agus a ghabhas cleachdadh” (tuairisgeul air iasad gu dìreach bho ionad-tasgaidh kustomize air GitHub). Faodar Kustomize a ruith gu dìreach no, mar Kubernetes 1.14, a chleachdadh kubectl -k gus faighinn gu a ghnìomhachd (ged a tha e bho Kubernetes 1.15, tha am binary fa leth nas ùire na na comasan a chaidh a thogail a-steach do kubectl). (Thoir an aire. eadar-theangachadh.: Agus leis an fhoillseachadh o chionn ghoirid Àireamhan 1.16 gnàthaich le taic bho cuideachd ann an goireas kubeadm.) Anns an dreuchd seo, tha mi airson fiosrachadh a thoirt do luchd-leughaidh gu bunaitean kustomize.
Anns an fhoirm / tagradh as sìmplidh aige, chan eil ann an kustomize ach cruinneachadh de ghoireasan (faidhlichean YAML a tha a’ mìneachadh nithean Kubernetes: Cleachdaidhean, Seirbheisean, msaa) a bharrachd air liosta de stiùiridhean airson atharrachaidhean a dh’ fheumar a dhèanamh air na goireasan sin. Dìreach mar a chleachdas tu an t-seata stiùiridh a tha ann Makefile, agus bidh Docker a’ togail an t-soithich stèidhichte air stiùireadh bho Dockerfile, cleachdaidhean a ghnàthachadh kustomization.yaml gus stiùireadh a stòradh mu na h-atharrachaidhean a tha an neach-cleachdaidh airson a dhèanamh air seata ghoireasan.
Seo eisimpleir faidhle kustomization.yaml:
resources:
- deployment.yaml
- service.yaml
namePrefix: dev-
namespace: development
commonLabels:
environment: development
Cha bhith mi a’ feuchainn ri bruidhinn mu na raointean uile a dh’ fhaodadh a bhith san fhaidhle. kustomization.yaml (tha seo air a dheagh sgrìobhadh mu dheidhinn an seo), ach bheir mi mìneachadh goirid air eisimpleir shònraichte:
achadh resources a’ comharrachadh dè (dè na goireasan) a dh’ atharraicheas. Anns a 'chùis seo, bidh e a' coimhead airson goireasan ann am faidhlichean deployment.yaml и service.yaml san eòlaire agad (faodaidh tu slighean slàn no co-cheangailte a shònrachadh ma tha sin riatanach).
achadh namePrefix ag òrdachadh kustomize ro-leasachan sònraichte a chur ris (sa chùis seo - dev-) a chur an ceill name a h-uile goireas a tha air a mhìneachadh san raon resources. Mar sin, ma tha cleachdadh aig name le brìgh nginx-deployment, nì gnàthachadh e dev-nginx-deployment.
achadh namespace ag iarraidh air kustomize an t-ainm-àite ainmichte a chur ris a h-uile goireas. Anns a 'chùis seo, bidh Cleachdadh agus Seirbheis a' tuiteam a-steach don àite ainm development.
Mu dheireadh, an raon commonLabels tha seata de bhileagan ann a thèid a chur ris a h-uile goireas. Anns an eisimpleir againn, sònraichidh kustomize bileag dha na goireasan leis an ainm environment agus brìgh development.
Ma nì an neach-cleachdaidh kustomize build . san eòlaire leis an fhaidhle kustomization.yaml agus na goireasan riatanach (i.e. faidhlichean deployment.yaml и service.yaml), an uairsin aig an toradh gheibh e teacsa leis na h-atharrachaidhean a chaidh a shònrachadh ann kustomization.yaml.
Thoir an aire. eadar-theangachadh.: Dealbh bho sgrìobhainnean a’ phròiseict air cleachdadh “sìmplidh” kustomize
Faodar an toradh ath-stiùireadh ma tha feum air atharrachaidhean a ghealltainn:
kustomize build . > custom-config.yaml
Tha an dàta toraidh cinntiche (bidh an aon dàta cuir a-steach a’ toirt a-mach na h-aon toraidhean toraidh), agus mar sin cha leig thu leas an toradh a shàbhaladh gu faidhle. An àite sin, faodar a chuir gu dìreach gu òrdugh eile:
kustomize build . | kubectl apply -f -
Faodar faighinn gu na feartan kustomize cuideachd tro kubectl -k (bhon tionndadh Kubernetes 1.14). Ach, cumaibh cuimhne gu bheil am pasgan kustomize leis fhèin air ùrachadh nas luaithe na am pasgan kubectl aonaichte (co-dhiù tha seo fìor le sgaoileadh Kubernetes 1.15).
Faodaidh luchd-leughaidh faighneachd: “Carson a tha an iom-fhillteachd seo mas urrainn dhut na faidhlichean a dheasachadh gu dìreach?” Ceist sgoinneil. Anns an eisimpleir againn, gu dearbh urrainn faidhlichean atharrachadh deployment.yaml и service.yaml gu dìreach, ach dè ma tha iad nam forc de phròiseact cuideigin eile? Tha atharrachadh fhaidhlichean gu dìreach ga dhèanamh duilich (mura h-eil e do-dhèanta) forc ath-shuidheachadh nuair a thèid atharrachaidhean a dhèanamh air an tùs / stòr. Le bhith a’ cleachdadh kustomize leigidh sin leat na h-atharrachaidhean sin a mheadhanachadh ann am faidhle kustomization.yaml, a’ fàgail na faidhlichean tùsail slàn agus mar sin ga dhèanamh nas fhasa na faidhlichean tùsail ath-shuidheachadh ma tha sin riatanach.
Bidh buannachdan kustomize a’ nochdadh ann an cùisean cleachdaidh nas iom-fhillte. Anns an eisimpleir gu h-àrd kustomization.yaml agus tha na goireasan anns an aon eòlaire. Ach, tha kustomize a’ toirt taic do chùisean cleachdaidh far a bheil rèiteachadh bunaiteach agus mòran atharrachaidhean dheth, ris an canar cuideachd ath-chòmhdach. Mar eisimpleir, bha neach-cleachdaidh airson Cleachdadh agus Seirbheis a ghabhail airson nginx, a chleachd mi mar eisimpleir, agus dreachan leasachaidh, stèidse agus cinneasachaidh (no caochlaidhean) de na faidhlichean sin a chruthachadh. Gus seo a dhèanamh, feumaidh e na h-ath-chòmhdach gu h-àrd agus, gu dearbh, na goireasan bunaiteach fhèin.
Gus beachd a thoirt air ath-chòmhdach agus goireasan bunaiteach (stòrasan bunaiteach), gabhamaid ris gu bheil an structar a leanas aig na clàran:
Ann am faidhle base/kustomization.yaml luchd-cleachdaidh a 'cleachdadh an raoin resources dìreach cuir an cèill na goireasan a bu chòir a bhith ann an kustomize.
Anns gach aon de na faidhlichean overlays/{dev,staging,prod}/kustomization.yaml bidh luchd-cleachdaidh a’ toirt iomradh air an rèiteachadh bunaiteach san raon resources, agus an uairsin comharraich atharrachaidhean sònraichte airson àrainneachd air a thoirt seachad. Mar eisimpleir, file overlays/dev/kustomization.yaml is dòcha gum bi e coltach ris an eisimpleir a chaidh a thoirt seachad na bu thràithe:
resources:
- ../../base
namePrefix: dev-
namespace: development
commonLabels:
environment: development
Anns a 'chùis seo am faidhle overlays/prod/kustomization.yaml dh'fhaodadh a bhith gu tur eadar-dhealaichte:
resources:
- ../../base
namePrefix: prod-
namespace: production
commonLabels:
environment: production
sre-team: blue
Nuair a bhios an neach-cleachdaidh a 'ruith kustomize build . anns a ’chatalog overlays/dev, cruthaichidh kustomize an roghainn leasachaidh. Ma ruitheas tu kustomize build . anns a ’chatalog overlays/prod - gheibh thu an roghainn cinneasachaidh. Agus seo uile - gun a bhith a 'dèanamh atharrachaidhean sam bith air an fhear thùsail (bonn) faidhlichean, uile ann an dòigh dhearbhach agus cinntiche. Faodaidh tu an rèiteachadh bunaiteach agus na clàran ath-chòmhdach a ghealltainn gu dìreach gu smachd dreach, le fios gun urrainn dhut, stèidhichte air na faidhlichean sin, an rèiteachadh a tha thu ag iarraidh ath-riochdachadh aig àm sam bith.
Thoir an aire. eadar-theangachadh.: Dealbh bho sgrìobhainnean a’ phròiseict mu bhith a’ cleachdadh ath-chòmhdach ann an kustomize
Gnàthaich can mòran barrachd air na tha air a chòmhdach san artaigil seo. Ach, tha mi an dòchas gum bi e na dheagh ro-ràdh.
Goireasan a bharrachd
Tha mòran artaigilean agus foillseachaidhean math ann mu kustomize. Seo beagan dhiubh a bha gu sònraichte feumail dhomh:
Thoir an aire. eadar-theangachadh.: Faodaidh tu cuideachd bloc de cheanglaichean a chaidh fhoillseachadh mar goireasan air làrach-lìn a’ ghoireas, agus an uairsin cruinneachadh de bhideothan leis na h-aithisgean as ùire mu kustomize.
Ma tha ceistean no molaidhean agad airson an stuth seo a leasachadh, tha mi an-còmhnaidh fosgailte do bheachdan air ais. Faodaidh tu fios a chuir thugam aig Twitter no Sianal Kubernetes Slack. Faigh spòrs ag atharrachadh do thaisbeanaidhean le kustomize!