Hekk kif tibda toħloq aktar u aktar servizzi Kubernetes, il-kompiti li inizjalment huma sempliċi jibdew isiru aktar kumplessi. Pereżempju, timijiet ta' żvilupp ma jistgħux joħolqu servizzi jew skjeramenti taħt l-istess isem. Jekk għandek eluf ta 'miżwed, sempliċement elenkarhom se tieħu ħafna ħin, aħseb u ara li timmaniġġjahom kif suppost. U dan huwa biss il-ponta tal-iceberg.
Ejja nħarsu lejn kif l-ispazju tal-isem jagħmilha aktar faċli biex timmaniġġja r-riżorsi Kubernetes. Allura x'inhu namespace? L-ispazju tal-isem jista' jitqies bħala cluster virtwali fi ħdan il-cluster Kubernetes tiegħek. Jista' jkollok spazji tal-isem multipli iżolati minn xulxin fi ħdan cluster wieħed ta' Kubernetes. Jistgħu verament jgħinuk u lit-timijiet tiegħek bl-organizzazzjoni, is-sigurtà, u anke l-prestazzjoni tas-sistema.
Fuq il-biċċa l-kbira tad-distribuzzjonijiet Kubernetes, il-cluster joħroġ mill-kaxxa bi spazju tal-isem imsejjaħ "default". Fil-fatt hemm tliet namespaces li Kubernetes jittratta magħhom: default, kube-system, u kube-public. Bħalissa, Kube-public ma jintużax ħafna drabi.
Li tħalli l-ispazju tal-isem kube waħdu hija idea tajba, speċjalment fuq sistema ġestita bħal Google Kubernetes Engine. Juża l-ispazju tal-isem "default" bħala l-post fejn jinħolqu s-servizzi u l-applikazzjonijiet tiegħek. M'hemm assolutament xejn speċjali dwarha, ħlief li Kubernetes huwa kkonfigurat barra mill-kaxxa biex jużah, u ma tistax tneħħiha. Dan huwa tajjeb ħafna biex tibda u sistemi ta 'prestazzjoni baxxa, iżda ma nirrakkomandax li tuża l-ispazju tal-isem default fuq sistemi prod kbar. F'dan l-aħħar każ, tim ta 'żvilupp wieħed jista' faċilment jikteb mill-ġdid il-kodiċi ta 'xi ħadd ieħor u jkisser ix-xogħol ta' tim ieħor mingħajr ma jirrealizzah.
Għalhekk, għandek toħloq spazji tal-isem multipli u tużahom biex tissegmenta s-servizzi tiegħek f'unitajiet maniġġabbli. A namespace jista 'jinħoloq bi kmand wieħed. Jekk trid toħloq test tal-ismijiet tal-isem, imbagħad uża l-kmand $ kubectl create test tal-ispazju tal-isem jew sempliċement toħloq fajl YAML u użah bħal kull riżors Kubernetes ieħor.
Tista' tara l-ispazji tal-isem kollha billi tuża l-kmand $ kubectl get namespace.
Ladarba dan ikun lest, tara tliet namespaces inkorporati u namespace ġdid imsejjaħ "test". Ejja nħarsu lejn fajl YAML sempliċi biex toħloq pod. Tinduna li m'hemm l-ebda referenza ta 'namespace.
Jekk tuża kubectl biex tmexxi dan il-fajl, se toħloq il-modulu mypod fl-ispazju tal-isem attiv bħalissa. Dan se jkun l-ispazju tal-isem default sakemm tibdelha. Hemm 2 modi kif tgħid lil Kubernetes f'liema namespace trid toħloq ir-riżorsa tiegħek. L-ewwel mod huwa li tuża bandiera tal-ispazju tal-isem meta toħloq riżors.
It-tieni mod huwa li tispeċifika l-ispazju tal-isem fid-dikjarazzjoni YAML.
Jekk tispeċifika spazju tal-isem f'YAML, ir-riżorsa dejjem tinħoloq f'dak l-ispazju tal-isem. Jekk tipprova tuża spazju tal-isem differenti waqt li tuża l-bandiera tal-ispazju tal-isem, il-kmand ifalli. Issa jekk tipprova ssib il-pod tiegħek, ma tkunx tista' tagħmel dan.
Dan iseħħ minħabba li l-kmandi kollha huma eżegwiti barra l-ispazju tal-isem attiv bħalissa. Biex issib il-pod tiegħek, trid tuża bandiera tal-ispazju tal-isem, iżda dan isir boring malajr, speċjalment jekk int żviluppatur fuq tim li juża l-ispazju tal-isem tiegħu stess u ma jridx juża dik il-bandiera għal kull kmand wieħed. Ejja naraw kif nistgħu nirranġaw dan.
Barra mill-kaxxa, l-ispazju tal-isem attiv tiegħek jissejjaħ default. Jekk ma tispeċifikax spazju tal-isem fir-riżorsa YAML, allura l-kmandi kollha ta 'Kubernetes se jużaw dan l-ispazju tal-isem default attiv. Sfortunatament, tipprova timmaniġġja l-ispazju tal-isem attiv bl-użu ta 'kubectl tista' tfalli. Madankollu, hemm għodda tajba ħafna msejħa Kubens li tagħmel dan il-proċess ħafna aktar faċli. Meta tmexxi l-kmand kubens, tara l-ispazji tal-isem kollha bl-ispazju tal-isem attiv enfasizzat.
Biex taqleb l-ispazju tal-isem attiv għall-ispazju tal-isem tat-test, sempliċement tħaddem il-kmand tat-test $kubens. Jekk imbagħad terġa' tħaddem il-kmand $kubens, tara li issa huwa allokat namespace attiv ġdid - test.
Dan ifisser li m'għandekx bżonn il-bandiera tal-ispazju tal-isem biex tara l-pod fl-ispazju tal-isem tat-test.
B'dan il-mod l-ispazji tal-isem huma moħbija minn xulxin, iżda mhux iżolati minn xulxin. Servizz fi namespace wieħed jista’ jikkomunika pjuttost faċilment ma’ servizz fi namespace ieħor, li ħafna drabi jkun utli ħafna. Il-kapaċità li tikkomunika tul spazji tal-isem differenti tfisser li s-servizz tal-iżviluppaturi tiegħek jista 'jikkomunika ma' servizz ta' tim ta 'dev ieħor fi spazju tal-isem differenti.
Tipikament, meta l-applikazzjoni tiegħek tkun trid taċċessa servizz Kubernetes, tuża s-servizz ta’ skoperta DNS integrat u sempliċement tagħti lill-applikazzjoni tiegħek l-isem tas-servizz. Madankollu, billi tagħmel hekk, tista 'toħloq servizz taħt l-istess isem f'bosta namespaces, li mhux aċċettabbli.
Fortunatament, dan huwa faċli biex tiċċaqlaq billi tuża l-forma estiża tal-indirizz DNS. Is-servizzi f'Kubernetes jesponu l-endpoints tagħhom billi jużaw mudell DNS komuni. Jidher xi ħaġa bħal din:
Tipikament, għandek bżonn biss l-isem tas-servizz u d-DNS jiddetermina awtomatikament l-indirizz sħiħ.
Madankollu, jekk għandek bżonn taċċessa servizz fi spazju tal-isem differenti, sempliċement uża l-isem tas-servizz flimkien mal-isem tal-ispazju tal-isem:
Pereżempju, jekk trid tikkonnettja ma 'database tas-servizz fi spazju tal-isem tat-test, tista' tuża d-database tal-indirizzi database.test
Jekk trid tikkonnettja mad-database tas-servizz fl-ispazju tal-isem tal-prod, tuża database.prod.
Jekk verament trid tiżola u tirrestrinġi l-aċċess għall-ispazju tal-isem, Kubernetes jippermettilek tagħmel dan billi tuża l-Politiki tan-Netwerk ta 'Kubernetes. Nitkellem dwar dan fl-episodju li jmiss.
Spiss nistaqsi l-mistoqsija, kemm għandi noħloq namespaces u għal liema skop? X'inhi biċċa dejta ġestita?
Jekk toħloq wisq namespaces, dawn se jfixklulek. Jekk ikun hemm ftit wisq minnhom, titlef il-benefiċċji kollha ta 'soluzzjoni bħal din. Naħseb li hemm erba' stadji ewlenin li kull kumpanija tgħaddi minnhom meta toħloq l-istruttura organizzattiva tagħha. Skont l-istadju tal-iżvilupp tal-proġett jew il-kumpanija tiegħek, tista' tkun trid tadotta strateġija xierqa tal-ispazju tal-isem.
Immaġina li inti parti minn tim żgħir li qed jaħdem fuq l-iżvilupp ta 'mikroservizzi 5-10 u faċilment tista' tiġbor l-iżviluppaturi kollha f'kamra waħda. F'din is-sitwazzjoni, jagħmel sens li tħaddem is-servizzi prod kollha fl-ispazju tal-isem default. Naturalment, għal aktar flessibilità, tista' tuża 2 namespaces - separatament għal prod u dev. U x'aktarx, tittestja l-iżvilupp tiegħek fuq il-kompjuter lokali tiegħek billi tuża xi ħaġa bħal Minikube.
Ejja ngħidu li l-affarijiet jinbidlu u issa għandek tim li qed jikber malajr li jaħdem fuq aktar minn 10 mikroservizzi kull darba. Jasal żmien meta jkun meħtieġ li jintużaw diversi clusters jew namespaces, separatament għal prod u dev. Tista' tkisser it-tim f'diversi sub-timijiet sabiex kull wieħed minnhom ikollu l-mikroservizzi tiegħu u kull wieħed minn dawn it-timijiet jista' jagħżel l-ispazju tal-isem tiegħu biex jiffaċilita l-proċess tal-ġestjoni tal-iżvilupp u r-rilaxx tas-softwer.
Hekk kif kull membru tat-tim jikseb għarfien dwar kif taħdem is-sistema kollha kemm hi, isir aktar u aktar diffiċli li tikkoordina kull bidla mal-iżviluppaturi l-oħra kollha. Jippruvaw spin up munzell sħiħ fuq il-magna lokali tiegħek qed issir aktar diffiċli kuljum.
F'kumpaniji kbar, l-iżviluppaturi ġeneralment ma jafux min qed jaħdem eżattament fuq xiex. It-timijiet jikkomunikaw bl-użu ta’ kuntratti ta’ servizz jew jużaw it-teknoloġija tal-malji tas-servizz, li żżid saff ta’ astrazzjoni fuq in-netwerk, bħall-għodda ta’ konfigurazzjoni Istio. Li tipprova tmexxi munzell kollu lokalment sempliċement mhux possibbli.Nirrakkomanda ħafna li tuża pjattaforma ta' kunsinna kontinwa (CD) bħal Spinnaker fuq Kubernetes. Allura, jasal punt fejn kull kmand definittivament jeħtieġ l-ispazju tal-isem tiegħu stess. Kull tim jista 'anki jagħżel spazji tal-isem multipli għall-ambjent dev u l-ambjent prod.
Fl-aħħarnett, hemm kumpaniji intraprenditorjali kbar li fihom grupp wieħed ta 'żviluppaturi lanqas biss jaf dwar l-eżistenza ta' gruppi oħra. Kumpanija bħal din tista' ġeneralment timpjega żviluppaturi ta' partijiet terzi li jinteraġixxu magħha permezz ta' APIs dokumentati tajjeb. Kull grupp bħal dan fih diversi timijiet u diversi mikroservizzi. F'dan il-każ, għandek bżonn tuża l-għodod kollha li tkellimt dwarhom qabel.
Il-programmaturi m'għandhomx jużaw is-servizzi manwalment u m'għandhomx ikollhom aċċess għall-ispazji tal-isem li ma jikkonċernawhomx. F'dan l-istadju, huwa rakkomandabbli li jkun hemm diversi clusters biex jitnaqqas ir-"raġġ tal-blast" ta 'applikazzjonijiet konfigurati ħażin, biex jissimplifikaw il-proċessi tal-kontijiet u l-ġestjoni tar-riżorsi.
Għalhekk, l-użu xieraq tal-ispazji tal-isem mill-organizzazzjoni tiegħek jippermettilek li tagħmel Kubernetes aktar maniġġabbli, kontrollabbli, sigur u flessibbli.
Xi reklami 🙂
Grazzi talli bqajt magħna. Tħobb l-artikoli tagħna? Trid tara aktar kontenut interessanti? Appoġġuna billi tagħmel ordni jew tirrakkomanda lill-ħbieb,
Dell R730xd 2 darbiet orħos fiċ-ċentru tad-dejta Equinix Tier IV f'Amsterdam? Hawn biss
Sors: www.habr.com