Hagaajinta godadka Kubernetes kutlada. Warbixin iyo qoraal ka yimid DevOpsConf

Pavel Selivanov, Southbridge xalalka naqshadeeyaha iyo macalinka Slurm, ayaa soo bandhigay bandhigga DevOpsConf 2019. Hadalkani waa qayb ka mid ah mawduucyada koorsada qoto dheer ee Kubernetes "Slurm Mega".

Slurm Basic: Hordhac Kubernetes waxa uu ka dhacayaa Moscow 18-20 November.
Slurm Mega: oo eegaya hoosta daboolka Kubernetes - Moscow, Noofambar 22-24.
Slurm Online: labada koorso ee Kubernetes mar walba la heli karo.

Hoos ka akhriso qoraalka warbixinta.

Galab wanaagsan, asxaabtii iyo intii u damqatay. Maanta waxaan ka hadli doonaa badbaadada.

Waxaan arkaa in maanta hoolka ay ku sugan yihiin ilaalo badan. Horaan waan kaaga cudur daaranayaa haddii aan isticmaalo ereyo ka socda caalamka amniga oo aan ahayn sidii caadada idiin ahayd.

Waxay dhacday in qiyaastii lix bilood ka hor aan la kulmay hal koox oo Kubernetes ah oo dadweyne ah. Dadweynuhu waxay ka dhigan tahay in ay jiraan tirada nth ee meelo magacyo ah; meelahan magacyada waxaa jira isticmaalayaasha ku go'doonsan magacooda. Dhammaan isticmaalayaashan waxay ka tirsan yihiin shirkado kala duwan. Hagaag, waxaa loo qaatay in kooxdan loo isticmaalo CDN ahaan. Taasi waa, waxay ku siinayaan koox, waxay ku siinayaan isticmaale halkaas, waxaad aadaysaa meesha magacaaga, geyso safkaaga.

Shirkaddaydii hore waxay isku dayday inay iibiso adeeggan. Waxaana la i waydiistay inaan kaxeeyo kooxda si aan u eego bal in xalkani ku haboon yahay iyo in kale.

Waxaan imid kooxdan. Waxa la i siiyay xuquuq xaddidan, magac xaddidan. Nimankii halkaas joogay way fahmeen badbaadadu waxay tahay. Waxay akhriyeen wax ku saabsan kontoroolka gelitaanka doorka ku salaysan (RBAC) ee Kubernetes - wayna leexiyeen si aanan u soo saari karin boodhyo gooni gooni ah oo la geeyo. Ma xasuusto dhibaatadii aan isku dayay in aan xaliyo aniga oo bilaabay boodh iyada oo aan la geyn, laakiin waxaan runtii rabay in aan furo kaliya pod. Nasiib wanaag, waxaan go'aansaday inaan arko waxa xuquuqaha aan ku leeyahay kutlada, waxa aan qaban karo, waxa aanan qaban karin, iyo waxa ay meeshaas ku khalkhaliyeen. Isla mar ahaantaana, waxaan kuu sheegi doonaa waxa ay si khaldan ugu habeeyeen RBAC.

Waxaa dhacday in laba daqiiqo gudahood aan ku helay admin kooxdooda, eegay dhammaan magacyada deriska ah, waxaan halkaas ku arkay wejiyada wax soo saarka ee shirkado horay u iibsaday adeegga oo la geeyay. Waxa aan si dirqi ah iskaga joojin kari waayay in aan aado qof hortiisa oo aan eray cay ah ku dhejiyo bogga weyn.

Waxaan tusaale kuugu sheegi doonaa sidaan tan u sameeyay iyo sida aad naftaada uga ilaalin lahayd tan.

Laakiin marka hore, aan is baro. Magacaygu waa Pavel Selivanov. Waxaan ahay naqshadeeyaha Southbridge. Waan fahmay Kubernetes, DevOps iyo dhammaan noocyada waxyaabaha quruxda badan. Waxaas oo dhan aniga iyo injineerada Southbridge ayaa dhisaya, waana la tashanayaa.

Waxqabadyadayada muhiimka ah ka sokow, waxaan dhawaan bilownay mashaariic la magac baxay Slurms. Waxaan isku dayeynaa in aan u keenno awoodeena in aan la shaqeyno Kubernetes in yar dadweynaha, si aan u barno dadka kale in ay sidoo kale la shaqeeyaan K8s.

Maxaan maanta ka hadlayaa? Mawduuca warbixintu waa cad yahay - oo ku saabsan amniga kooxda Kubernetes. Laakiin waxaan rabaa in aan isla markiiba sheego in mawduucani uu yahay mid aad u weyn - sidaas darteed waxaan rabaa in aan isla markiiba cadeeyo waxa aan hubaal ka hadli doono. Ka hadli maayo ereyada la jabsaday ee hore loogu isticmaalay boqol jeer intarneedka. Dhammaan noocyada RBAC iyo shahaadooyinka.

Waxaan ka hadli doonaa waxa aniga iyo asxaabteydaba ​​igu xanuunaya ee ku saabsan amniga kutlada Kubernetes. Waxaan ku aragnaa dhibaatooyinkan labadaba bixiyeyaasha bixiya Kubernetes kutrooyinka iyo macaamiisha noo yimaada labadaba. Iyo xitaa macaamiisha nooga yimaada shirkadaha kale ee maamulka la-talinta. Taasi waa, miisaanka musiibada runtii waa mid aad u weyn.

Run ahaantii waxa jira saddex qodob oo aan maanta ka hadli doono:

  1. Xuquuqda isticmaalaha vs xuquuqda pods Xuquuqda isticmaaluhu iyo xuquuqaha boodhka isku mid maaha.
  2. Aruurinta macluumaadka ku saabsan kooxda Waxaan tusi doonaa inaad ka ururin karto dhammaan macluumaadka aad uga baahan tahay koox adoon xuquuq gaar ah ku lahayn kooxdan.
  3. Weerarka DoS ee kooxda Haddii aanaan ururin karin macluumaadka, waxaan awood u yeelan doonaa inaan dhigno koox si kastaba ha ahaatee. Waxaan ka hadli doonaa weerarrada DoS ee walxaha xakamaynta kooxda.

Waxyaabo kale oo guud oo aan xusi doono waa waxa aan ku tijaabiyay waxaas oo dhan, kaas oo aan si dhab ah u odhan karo dhammaan way shaqeeyaan.

Waxaan u qaadannaa saldhig ahaan rakibidda kutlada Kubernetes anagoo adeegsanayna Kubespray. Haddii qofna aanu garanayn, tani dhab ahaantii waa doorar door ah oo loogu talagalay Mas'uulka. Waxaan si joogto ah u isticmaalnaa shaqadayada. Waxa wanaagsan waa in aad ku rogi karto meel kasta - waxaad ku rogi kartaa qaybo bir ah ama meel daruur ah. Mid ka mid ah habka rakibaadda wuxuu u shaqeeyaa mabda'a wax walba.

Kutladaan waxaan ku yeelan doonaa Kubernetes v1.14.5. Kutlada Cube oo dhan, oo aan tixgelin doono, waxay u qaybsan tahay meelo magacyo ah, meel kasta oo magaceedu waxay iska leedahay koox gaar ah, xubnaha kooxdani waxay heli karaan magac kasta. Ma aadi karaan meelo magacyo kala duwan, oo keliya kooda. Laakiin waxa jira akoon maamuleed gaar ah oo xuquuq ku leh kooxda oo dhan.

Hagaajinta godadka Kubernetes kutlada. Warbixin iyo qoraal ka yimid DevOpsConf

Waxaan ballan qaaday in waxa ugu horreeya ee aan sameyn doono ay tahay in aan helno xuquuqda maamulka kooxda. Waxaan u baahanahay boodh si gaar ah loo diyaariyey oo jebin doonta kooxda Kubernetes. Waxa kaliya ee aan u baahanahay inaan sameyno waa inaan ku dabaqno kooxda Kubernetes.

kubectl apply -f pod.yaml

Boodhkani waxa uu iman doonaa mid ka mid ah sayidyada kooxda Kubernetes. Oo tan ka dib kooxdu waxay si farxad leh noogu soo celin doontaa fayl la yiraahdo admin.conf. Gudaha Cube, faylkani wuxuu kaydiyaa dhammaan shahaadooyinka maamulka, isla markaana wuxuu habeeyaa API-ga kutlada. Tani waa sida ay u fududahay in la helo maamulka, waxaan filayaa, 98% kutlada Kubernetes.

Waxaan ku celinayaa, boodhkan waxa sameeyay hal horumariye oo kutladaada ah kaas oo awood u leh inuu soo jeediyo soo jeedintiisa hal magac oo yar, dhammaan waxa ku xidhay RBAC. Xaq uma lahayn. Laakiin si kastaba ha ahaatee shahaadadii waa la soo celiyay.

Oo hadda ku saabsan boodh si gaar ah loo diyaariyey. Waxaan ku wadnaa sawir kasta. Aan tusaale u soo qaadano debian:jessie.

Waxaan leenahay shaygan:

tolerations:
-   effect: NoSchedule 
    operator: Exists 
nodeSelector: 
    node-role.kubernetes.io/master: "" 

Waa maxay dulqaadku? Masters ee kutlada Kubernetes waxaa badanaa lagu calaamadeeyaa wax la yiraahdo taint. Iyo nuxurka "infekshanka" tani waa in ay sheegayso in boogaha aan loo qoondeeyn karin qanjidhada sare. Laakiin qofna kuma dhibsado inuu ku muujiyo boodh kasta inuu u dulqaadan karo "cudurka". Qaybta dulqaadku waxay leedahay kaliya haddii qanjidhada qaar ay leeyihiin NoSchedule, markaa noodhkayagu wuxuu u dulqaadanayaa caabuqa noocan oo kale ah - wax dhib ahna ma jiraan.

Dheeraad ah, waxaan leenahay in our hoos ma aha oo kaliya dulqaad, laakiin sidoo kale waxay doonayaan in ay si gaar ah u beegsadaan sayidkii. Sababtoo ah sayidyadu waxay leeyihiin waxa ugu macaan ee aan u baahanahay - dhammaan shahaadooyinka. Sidaa darteed, waxaan dhahnaa nodeSelector - waxaanan ku haynaa sumadda caadiga ah ee masters-ka, taas oo kuu ogolaaneysa inaad ka doorato dhammaan noodyada kooxda sida saxda ah kuwa noodhka ah.

Labadan qaybood wuxuu hubaal u iman doonaa sayidkii. Waxaana loo ogolaan doonaa inuu ku noolaado halkaas.

Laakin imaatinka sayidku naguma filna. Tani waxba na siin mayso. Marka xigta waxaan leenahay labadan shay:

hostNetwork: true 
hostPID: true 

Waxaan cadeyneynaa in boodhkayaga aan soo saarno uu ku noolaan doono goobta magaca kernel, magaca shabakada iyo goobta magaca PID. Marka boodhka lagu soo bandhigo sayidkii, waxay awoodi doontaa inay aragto dhammaan dhabta dhabta ah, is-dhexgalka tooska ah ee noodhkan, dhagayso dhammaan taraafikada oo arag PID ee dhammaan hababka.

Markaa waa arrin ku saabsan waxyaabo yaryar. Qaado etcd oo akhri waxaad rabto.

Waxa ugu xiisaha badan waa muuqaalkan Kubernetes, kaas oo halkaas ku jira si caadi ah.

volumeMounts:
- mountPath: /host 
  name: host 
volumes:
- hostPath: 
    path: / 
    type: Directory 
  name: host 

nuxurkeeduna waa in aan ku odhan karno boodhka aan bilawnay, xitaa iyada oo aan xuquuq la'aan lahayn kooxdan, waxaan rabnaa inaan abuurno mugga nooca hostPath. Tani waxay ka dhigan tahay in aan ka qaadno waddada martida loo yahay ee aan ku bilaabi doono - oo aan u qaadaneyno sida mugga. Kadibna waxaan ugu yeernaa magaca: martigeliyaha. Waxaan ku dhajineynaa dhammaan Waddada martida loo yahay gudaha podska. Tusaalahan, ku socda hagaha/hostiga.

Mar kale ayaan ku celin doonaa Waxaan u sheegnay pods-ka inuu u yimaado sayidkiisa, ka hel hostNetwork iyo hostPID halkaas – oo ku dheji dhammaan xididka sayidku gudaha guntan.

Waad fahantay in Debian-ka aanu ku leenahay bash orodka, iyo bash-kaani wuxuu ku hoos socdaa xididka. Taasi waa, waxaan hadda ka helnay xididka sayidkii, annagoon wax xuquuq ah ku lahayn kooxda Kubernetes.

Markaa hawsha oo dhan waa in la aado tusaha-hoosaadka /host/etc/kubernetes/pki, haddii aanan khaldanayn, soo qaado dhammaan shahaadooyinka sare ee kooxda halkaas oo, si waafaqsan, noqo maamulaha kooxda.

Haddii aad sidaan u eegto, kuwani waa qaar ka mid ah xuquuqaha ugu khatarta badan ee ku jira boodhka - iyadoon loo eegin xuquuqaha isticmaaluhu leeyahay:
Hagaajinta godadka Kubernetes kutlada. Warbixin iyo qoraal ka yimid DevOpsConf

Haddii aan xaq u leeyahay in aan ku maamulo meel magac ka mid ah kooxda kutlada, boodhkani waxa uu leeyahay xuquuqahan si caadi ah. Waxaan ku ordi karaa galalka mudnaanta leh, kuwanuna guud ahaan waa dhammaan xuquuqaha, dhab ahaantii xidid ku leh noodhka.

Waxa aan jeclahay waa isticmaalaha xididka. Iyo Kubernetes waxay leedahay doorashadan Run As non-Root option. Kani waa nooc ka mid ah ka-hortagga jabsiga. Ma garanaysaa waxa uu yahay "fayras Moldova"? Haddii aad si lama filaan ah u tahay hacker oo aad u timaaddo kutladayda Kubernetes, markaa annagu, maamulayaasha saboolka ah, wayddiin: "Fadlan ku calaamadee boodhadhkaaga oo aad ku jabin doonto kooxdayda, u orod sidii aan xidid lahayn. Haddii kale, waxay dhici doontaa in aad socodsiiso geeddi-socodkaaga xididka hoostiisa, waxayna kuu noqon doontaa mid aad u fudud inaad i jabsato. Fadlan naftaada ka ilaali."

Mugga dariiqa martigeliyaha waa, ra'yigeyga, habka ugu dhaqsaha badan ee lagu heli karo natiijada la rabo ee kutlada Kubernetes.

Laakiin maxaa lagu sameeyaa waxaas oo dhan?

Fikradda ay tahay inuu u yimaado maamule kasta oo caadi ah oo la kulma Kubernetes waa: "Haa, waxaan kuu sheegay, Kubernetes ma shaqeeyo. Godad baa ku jira. Oo Cube oo dhan waa dibi. " Dhab ahaantii, waxaa jira wax la mid ah dukumentiyada, oo haddii aad eegto, waxaa jira qayb Siyaasadda Amniga Pod.

Tani waa shay yaml ah - waxaan ka dhex abuuri karnaa Kubernetes cluster - taas oo maamusha dhinacyada amniga gaar ahaan sharaxaadda galalka. Taasi waa, dhab ahaantii, waxay xakameysaa xuquuqda isticmaalka shabakad kasta, hostPID, noocyada mugga qaarkood ee ku jira boodhka bilowga. Iyada oo la kaashanayo Siyaasadda Amniga Pod, waxaas oo dhan waa lagu sifeyn karaa.

Waxa ugu xiisaha badan ee ku saabsan Siyaasadda Amniga Pod waa in kutlada Kubernetes, dhammaan rakibayaasha PSP aan sinaba loogu sifeyn, si fudud ayey u naafo yihiin. Siyaasadda Amniga Pod waa la dajiyay iyadoo la isticmaalayo plugin-ka gelitaanka

Hagaag, aynu geyno Siyaasada Amniga Pod kooxda, aynu nidhaahno waxaan ku haynaa qaar ka mid ah boosaska adeega ee magaca goobta, kuwaas oo kaliya maamulayaasha ay galaangal u leeyihiin. Aynu nidhaahno, dhammaan kiisaska kale, boodhku waxay leeyihiin xuquuq xaddidan. Sababtoo ah waxay u badan tahay horumariyayaashu uma baahna inay ku dhex wataan kutladaada mudnaan gaar ah.

Wax walbana waxay u muuqdaan inay nagu fiican yihiin. Kooxdayada Kubernetes laguma jabsan karo laba daqiiqo gudahood.

Dhib baa jirta. Waxay u badan tahay, haddii aad leedahay kutlada Kubernetes, markaas la socodka ayaa lagu rakibay kooxdaada. Xitaa waxaan aadi lahaa ilaa aan saadaaliyo in haddii kooxdaadu ay leedahay kormeer, waxaa loogu yeeri doonaa Prometheus.

Waxa aan doonayo inaan kuu sheego waxay u ansaxayaan hawlwadeenka Prometheus iyo Prometheus labadaba. Su'aashu waxay tahay haddii aanan si dhakhso ah u heli karin maamulaha kooxda, markaa tani waxay la macno tahay inaan u baahanahay inaan wax badan eego. Oo waxaan ku raadin karaa iyadoo la kaashanayo la socodkaaga.

Malaha qof kastaa wuxuu akhriyay isla maqaallo ku saabsan Habré, kormeerkuna wuxuu ku yaalaa magaca la socodka. Shaxda Helm waxaa loogu yeeraa qiyaas ahaan isku mid qof walba. Waxaan qiyaasayaa in haddii aad ku rakibto koofiyad rakibaadda xasilloon/prometheus, waxaad ku dambayn doontaa qiyaastii magacyo isku mid ah. Oo waxay u badan tahay inaan xitaa ku qasbi doonin inaan qiyaaso magaca DNS ee kutladaada. Sababtoo ah waa halbeeg.

Hagaajinta godadka Kubernetes kutlada. Warbixin iyo qoraal ka yimid DevOpsConf

Marka xigta waxaan haynaa dev ns gaar ah, kaas oo aad ku socodsiin karto qayb gaar ah. Ka dibna laga bilaabo boodhkan aad bay u fududahay in la sameeyo wax sidan oo kale ah:

$ curl http://prometheus-kube-state-metrics.monitoring 

Prometheus-kube-state-metrics waa mid ka mid ah dhoofiyeyaasha Prometheus ee ka soo ururiya cabbirada Kubernetes API laftiisa. Waxaa jira xog badan oo halkaas ku jira, waxa ku dhex socda kooxdaada, waxa ay tahay, maxay yihiin dhibaatooyinka aad ku haysato.

Tusaale fudud:

kube_pod_container_info{namespace=“kube-system”,pod=”kube-apiserver-k8s- 1″,container=”kube-apiserver”,image=

"gcr.io/google-containers/kube-apiserver:v1.14.5"

,image_id=»docker-pullable://gcr.io/google-containers/kube- apiserver@sha256:e29561119a52adad9edc72bfe0e7fcab308501313b09bf99df4a96 38ee634989″,container_id=»docker://7cbe7b1fea33f811fdd8f7e0e079191110268f2 853397d7daf08e72c22d3cf8b»} 1

Adiga oo ka codsanaya curls fudud oo ka imanaya boodhka aan mudnaanta lahayn, waxaad heli kartaa macluumaadka soo socda. Haddii aadan aqoon nooca Kubernetes ee aad ku socoto, si fudud ayay kuu sheegi doontaa.

Waxa ugu xiisaha badan ayaa ah in marka lagu daro gelitaanka kube-state-metrics, aad si fudud u heli karto Prometheus lafteeda. Waxaad ka soo ururin kartaa cabbirada halkaas. Xitaa waxaad ka dhisi kartaa cabbirro halkaas. Xitaa aragti ahaan, waxaad ka dhisi kartaa weydiimahan oo kale koox ku taal Prometheus, taas oo si fudud u damin doonta. Kormeerkaagu wuxuu joojin doonaa shaqada kooxda gabi ahaanba.

Oo halkan su'aashu waxay ka soo baxaysaa haddii kormeer dibadda ahi uu kormeero kormeerkaaga. Hadda waxaan helay fursad aan kaga hawlgalo kooxda Kubernetes iyada oo aan wax cawaaqib ah naftayda ku yeelan. Xitaa ma ogaan doontid inaan halkaas ka shaqeynayo, maadaama aysan jirin wax kormeer ah.

Si la mid ah PSP, waxay dareemeysaa in dhibaatadu tahay in dhammaan tignoolajiyadan quruxda badan - Kubernetes, Prometheus - kaliya ma shaqeeyaan oo ay ka buuxaan godad. Runtii maaha.

Waxaa jira wax sidan oo kale ah - Siyaasadda Shabakadda.

Haddii aad tahay maamule caadi ah, markaa waxay u badan tahay inaad ogtahay Siyaasadda Shabakadda in kani yahay yaml kale, kaas oo ay horeba ugu jireen qaar badan oo ka mid ah kooxda. Qaar ka mid ah Siyaasadaha Shabakada ayaa hubaal ah inaan loo baahnayn. Xitaa haddii aad akhrido waxa Siyaasadda Shabakadu ay tahay, in ay tahay yaml firewall ee Kubernetes, waxay kuu ogolaanaysaa inaad xaddido xuquuqda gelitaanka u dhexeeya magacyada, inta u dhaxaysa pods, ka dibna hubaal waxaad go'aansatay in firewall-ka qaabka yaml ee Kubernetes uu ku salaysan yahay soo-jeedinta soo socota. ... Maya, maya . Tani hubaal maahan lagama maarmaan.

Xitaa haddii aadan u sheegin khubarada ammaankaaga in adigoo isticmaalaya Kubernetes kaaga aad dhisi karto dab-damis aad u fudud oo fudud, iyo mid aad u muuqda. Hadday tan weli garan waayaan oo aanay ku dhibin: "Hagaag, i sii, i sii..." Markaa xaalad kasta, waxaad u baahan tahay Nidaamka Shabakadda si aad u xannibto gelitaanka meelaha adeegyada qaarkood ee laga soo saari karo kooxdaada amar la'aan.

Sida tusaalaha aan bixiyay, waxaad ka soo saari kartaa cabbirada gobolka kube meel kasta oo magac ah oo ku dhex jira kooxda Kubernetes adiga oo aan wax xuquuq ah u lahayn sidaas. Xeerarka shabakadu waxay ka xidheen gelitaanka dhammaan meelaha kale ee magacyadooda ilaa la socodka magaca goobta waana taas: gelitaan la'aan, dhibaato la'aan. Dhammaan jaantusyada jira, labadaba heerka caadiga ah ee Prometheus iyo Prometheus ee ku jira hawlwadeenka, waxaa jira si fudud ikhtiyaari qiimaha koofiyadda si ay si fudud ugu suurtageliso siyaasadaha shabakada iyaga. Kaliya waxaad u baahan tahay inaad shid wayna shaqayn doonaan.

Runtii hal dhibaato ayaa halkan ka jirta. Adigoo ah maamule gadh caadi ah, waxay u badan tahay inaad go'aansatay in siyaasadaha shabakada aan loo baahnayn. Ka dib markii aad akhriday dhammaan noocyada maqaallada ku saabsan agabka sida Habr, waxaad go'aansatey in flannel, gaar ahaan habka albaabka-marti-geliyaha, uu yahay waxa ugu fiican ee aad dooran karto.

Maxaa la sameeyaa?

Waxaad isku dayi kartaa inaad dib u habayn ku sameyso xalka shabakada aad ku leedahay kutladaada Kubernetes, isku day inaad ku badasho wax ka sii shaqaynaya. Tusaale ahaan Calico isku mid ah, tusaale ahaan. Laakiin waxaan rabaa inaan isla markiiba sheego in hawsha beddelka xalka shabakadda ee kutlada shaqada ee Kubernetes ay tahay wax aan fududayn. Waxaan xaliyay laba jeer (labada jeer, si kastaba ha ahaatee, aragti ahaan), laakiin xitaa waxaan ku tusnay sida loo sameeyo Slurms. Ardeydayada, waxaan tusnay sida loo beddelo xalka shabakadda ee kutlada Kubernetes. Mabda 'ahaan, waxaad isku dayi kartaa inaad hubiso inuusan jirin waqti hoos u dhac ku yimid kooxda wax soo saarka. Laakiin malaha ma guulaysan doontid.

Dhibaatadana si fudud ayaa loo xalliyaa. Shahaadooyin ayaa ku jira kutlada, waxaadna ogtahay in shahaadooyinkaagu ay dhacayaan sanad gudaheed. Hagaag, iyo sida caadiga ah xal caadi ah oo wata shahaadooyin kutlada - maxaan u walaacsanahay, waxaan soo kicin doonaa koox cusub oo dhow, u daaya tii hore inay qudhunto, oo wax walba dib u habayn ku sameyso. Run, marka ay qudhunto, waa inaan fadhinaa maalin, laakiin halkan waa koox cusub.

Markaad ururiso koox cusub, isla markaa geli Calico halkii aad ka isticmaali lahayd flannel.

Maxaa la sameeyaa haddii shahaadooyinkaaga la bixiyo boqol sano oo aanad dib u hawlgelin kooxda? Waxaa jira wax sida Kube-RBAC-Proxy. Tani waa horumar aad u fiican, waxay kuu ogolaaneysaa inaad isku dhejiso sidii weel dhinac ah oo aad ku dhejiso meel kasta oo ku jirta kooxda Kubernetes. Waxayna dhab ahaantii ku dartay oggolaanshaha boodhkan iyada oo loo marayo RBAC ee Kubernetes lafteeda.

Hal dhibaato ayaa jirta. Markii hore, xalkan Kube-RBAC-Proxy waxaa lagu dhex dhisay hawlwadeenka Prometheus. Laakiin ka dib wuu baxay. Hadda noocyada casriga ahi waxay ku tiirsan yihiin xaqiiqda ah inaad leedahay siyaasad shabakad oo aad xidho iyaga oo isticmaalaya. Sidaa darteed waa inaan dib u qornaa jaantuska wax yar. Dhab ahaantii, haddii aad tagto kaydkan, waxaa jira tusaalooyin ku saabsan sida tan loo isticmaalo sidii baabuur-side ahaan, jaantusyadana waa in dib loo qoraa si yar.

Waxaa jirta dhibaato yar oo kale. Prometheus ma aha ka kaliya ee u qaybinaya cabirkiisa qof uun. Dhammaan qaybaha kutladayada Kubernetes waxay sidoo kale awoodaan inay soo celiyaan cabbiradooda.

Laakiin sidaan horeba u idhi, haddii aadan heli karin kooxda oo aad ururin karin macluumaadka, markaa waxaad samayn kartaa ugu yaraan waxyeello.

Markaa waxaan si dhakhso ah u tusi doonaa laba siyaabood sida kooxda Kubernetes ay u burburin karto.

Waad qosli doontaa markaan kuu sheego, kuwani waa laba xaaladood oo nolosha dhabta ah.

Habka koowaad. Khayraadka oo yaraada.

Aan bilowno boodh kale oo gaar ah. Waxay yeelan doontaa qayb sidan oo kale ah.

resources: 
    requests: 
        cpu: 4 
        memory: 4Gi 

Sidaad ogtahay, codsiyadu waa qadarka CPU iyo xusuusta loogu talagalay martida loo yahay boodhyo gaar ah oo leh codsiyo. Haddii aan ku haysanno marti-geliyaha afar-geesoodka ah ee kutlada Kubernetes, oo afar qaybood oo CPU ah ay halkaas ku yimaadaan codsiyo, waxay la macno tahay in boob dambe oo codsiyo leh aysan awoodi doonin inay yimaadaan martidan.

Haddii aan ordo boodhkan oo kale, markaa waxaan maamuli doonaa amarka:

$ kubectl scale special-pod --replicas=...

Markaa qof kale ma awoodi doono inuu geeyo kooxda Kubernetes. Sababtoo ah dhammaan qanjidhada ayaa dhammaan doona codsiyada. Oo sidaas ayaan ku joojin doonaa kooxdaada Kubernetes. Haddii aan tan sameeyo fiidkii, waxaan joojin karaa hawlgelinta waqti dheer.

Haddii aan mar kale eegno dukumeentiyada Kubernetes, waxaan arki doonaa waxa loo yaqaan Xaddidan Range. Waxay dejisaa agabka walxaha kutlada. Waxaad ku qori kartaa shay Xaddidan oo yaml ah, ku mari meelo magacyo gaar ah - ka dibna booskan magaca waxaad ku odhan kartaa waxaad haysaa agabka caadiga ah, ugu badnaan iyo kan ugu yar ee pods-yada.

Iyada oo la kaashanayo wax noocan oo kale ah, waxaan ku xaddidi karnaa isticmaalayaasha meelaha magacyada alaabada gaarka ah ee kooxaha awood u leh inay ku muujiyaan dhammaan noocyada waxyaabaha xunxun ee gadahooda. Laakiin nasiib daro, xitaa haddii aad u sheegto isticmaalaha in aysan bilaabi karin boodhyo leh codsiyo hal CPU ka badan, waxaa jira amar miisaan oo cajiib ah, ama waxay ku samayn karaan miisaan dhexda dashboard-ka.

Waana meesha habka lambarka labaad uu ka yimaado. Waxaan bilownay 11 pods. Taasi waa kow iyo toban bilyan. Tani ma aha sababtoo ah waxaan la yimid lambarkan oo kale, laakiin sababtoo ah aniga qudhayda ayaa arkay.

Sheeko dhab ah. Goor dambe oo maqrib ah ayaan ku sigtay inaan xafiiska ka baxo. Waxaan arkaa koox horumariyayaal ah oo fadhiya geeska, iyagoo si waali ah wax ugu samaynaya laptop-yadooda. Waxaan u kacaa ragga oo ku weydiiyaa: "Maxaa kugu dhacay?"

Wax yar ka hor, abbaaraha sagaalkii fiidnimo, mid ka mid ah horumariyayaasha ayaa isu diyaarinayay inuu guriga aado. Oo waxaan go'aansaday: "Hadda waxaan hoos u dhigi doonaa codsigeyga mid." Mid baan riixay, laakiin intarneedka ayaa yara gaabiyey. Midkii ayuu haddana mar kale riixay, tii ayuu taabtay, oo taabtay Gelida. Wax kasta oo aan kari karayay ayaan ku dhuftay. Kadib internetka ayaa soo noolaaday - wax walbana waxay bilaabeen inay hoos u dhigaan tiradan.

Run, sheekadani kama dhicin Kubernetes; wakhtigaas waxay ahayd reer guuraa. Waxay ku dhammaatay in saacad aan isku daynay in aan reer miyiga ka joojinno isku dayga miisaanka ah ee joogtada ah, ayuu reer-guuraaga ku jawaabay in aanu joojinayn is-dheelli-tirka oo aanu wax kale samaynayn. "Waan daalanahay, waan baxayaa." Wuuna soo duuduubay.

Dabcan, waxaan isku dayay inaan ku sameeyo Kubernetes. Kubernetes kuma faraxsanayn kow iyo toban bilyan oo boodh ah, wuxuu yidhi: "Ma awoodo. Way dhaaftay ilaalada afka gudaha." Laakiin 1 oo xabbadood ayaa laga yaabaa.

Iyada oo laga jawaabayo hal bilyan, Cube kama uusan bixin naftiisa. Runtii wuxuu bilaabay inuu is miisaamo. Mar alla markii hawshu sii socoto, waqti badan ayay ku qaadatay inuu abuuro galal cusub. Laakiin wali hawshu way socotay. Dhibaatada kaliya ayaa ah in haddii aan si aan xad lahayn u bilaabi karo pods-ka magacayga, ka dibna xitaa codsi la'aan iyo xaddidaadyo waxaan bilaabi karaa qaybo badan oo hawlo ah oo leh caawinta hawlahan nodes waxay bilaabi doonaan inay ku daraan xusuusta, CPU. Marka aan soo saaro galal badan, macluumaadka iyaga ka yimid waa in ay galaan kaydinta, taas oo ah, iwm. Oo markii macluumaad badan uu halkaas yimaado, kaydinta waxay bilaabataa inay si tartiib tartiib ah u soo noqoto - iyo Kubernetes wuxuu bilaabay inuu caajiso.

Iyo hal dhibaato oo kale ... Sida aad ogtahay, walxaha xakamaynta Kubernetes maaha hal shay oo dhexe, laakiin dhowr qaybood. Gaar ahaan, waxaa jira maamulaha kontoroolka, jadwalka, iyo wixii la mid ah. Dhammaan raggani waxay bilaabi doonaan inay sameeyaan shaqo aan loo baahnayn, shaqo nacas ah isla waqti isku mid ah, taas oo wakhti ka dib ay bilaabi doonto inay qaadato waqti badan iyo waqti badan. Maamulaha kontoroolka ayaa abuuri doona gaboyo cusub. Jadwalka ayaa isku dayi doona inuu u helo nood cusub. Waxay u badan tahay inaad dhawaan ka dhammaan doonto qanjidhada cusub ee kooxdaada. Kooxda Kubernetes waxay bilaabi doontaa inay si tartiib tartiib ah u shaqeyso.

Laakiin waxaan go'aansaday inaan sii socdo. Sida aad ogtahay, gudaha Kubernetes waxaa jira wax la yiraahdo adeeg. Hagaag, sida caadiga ah kooxahaaga, waxay u badan tahay, adeeggu wuxuu ku shaqeeyaa miisaska IP.

Haddii aad maamusho hal bilyan oo xabo, tusaale ahaan, ka dibna adeegsato qoraal si aad ugu qasbeyso Kubernetis inuu abuuro adeegyo cusub:

for i in {1..1111111}; do
    kubectl expose deployment test --port 80  
        --overrides="{"apiVersion": "v1", 
           "metadata": {"name": "nginx$i"}}"; 
done 

Dhammaan qanjidhada kooxda, xeerar badan oo cusub oo iptables ah ayaa la soo saari doonaa isku mar. Waxaa intaa dheer, hal bilyan oo sharci iptables ah ayaa loo soo saari doonaa adeeg kasta.

Waxan oo dhan waxaan ku eegay dhawr kun, ilaa toban. Dhibaataduna waxay tahay in mar horeba heerkan ay dhib badan tahay in ssh lagu sameeyo noodhka. Sababtoo ah xirmooyinka, oo dhex mara silsilado badan, waxay bilaabaan inay dareemaan inaysan aad u fiicneyn.

Tani, sidoo kale, dhammaan waxaa lagu xalliyaa caawinta Kubernetes. Waxa jira shay kootada khayraadka ah. Dejiya tirada agabka iyo walxaha la heli karo ee booska magaca ee kutlada. Waxaan ku abuuri karnaa shay yaml meel kasta oo magac ah oo ka mid ah kooxda Kubernetes. Isticmaalka shaygan, waxaan dhihi karnaa in aan haysano tiro codsiyo iyo xaddidaad ah oo loo qoondeeyay magacan, ka dibna waxaan dhihi karnaa in magacan waxaa suurtagal ah in la abuuro 10 adeeg iyo 10 pods. Hal horumariye ayaa ugu yaraan is ceejin kara fiidkii. Kubernetes ayaa u sheegi doona: "Ma cabbiri kartid gafkaaga ilaa intaas, sababtoo ah kheyraadka ayaa ka sarreeya kootada." Taasi waa, dhibaatada la xaliyay. Dukumeenti halkan.

Hal qodob oo dhib leh ayaa arrintan ka soo baxaya. Waxaad dareemeysaa sida ay u adag tahay in meel magac laga sameeyo Kubernetes. Si loo abuuro, waxaan u baahanahay inaan ku xisaabtano waxyaabo badan.

Kootada Kheyraadka + Xadka Xadka + RBAC
• Samee meel magac
• Samee xad gudaha ah
• Abuur khayraadka gudaha
• U samee xisaab adeeg CI
• U samee door xidhidhiyaha CI iyo isticmaalayaasha
• Ikhtiyaar ahaan billow gunnada adeegga lagama maarmaanka ah

Sidaa darteed, waxaan jeclaan lahaa inaan fursadan uga faa'iidaysto inaan la wadaago horumarkayga. Waxaa jira wax la yiraahdo hawlwadeenka SDK. Tani waa hab ay kooxda Kubernetes ugu qori karto hawlwadeenada. Waxaad ku qori kartaa bayaan adiga oo isticmaalaya macquul.

Markii hore waxa lagu qoray Aansible, ka dibna waxaan arkay in uu jiro hawlwadeen SDK oo dib u qoray doorkii macquulka ahaa ee hawlwadeen. Hadalkani wuxuu kuu ogolaanayaa inaad ku abuurto shay ku jira Kubernetes cluster oo loo yaqaan amar. Gudaha amarka, wuxuu kuu ogolaanayaa inaad ku qeexdo deegaanka amarkan yaml. Iyo gudaha deegaanka kooxda, waxay noo ogolaanaysaa inaan qeexno inaan qoondeyno kheyraad badan.

Mid yar samaynta habkan adag oo dhan mid fudud.

Iyo gabagabadii. Maxaa lagu sameeyaa waxaas oo dhan?
Marka hore. Siyaasadda Amniga Pod waa wanaagsan tahay. In kasta oo xaqiiqda ah in rakibayaasha Kubernetes midkoodna aanu isticmaalin ilaa maantadan la joogo, waxaad weli u baahan tahay inaad ku isticmaasho kooxahaaga.

Siyaasadda Shabakadu maaha kaliya muuqaal kale oo aan loo baahnayn. Tani waa waxa runtii looga baahan yahay kooxdu.

LimitRange/ResourceQuota - waa waqtigii la isticmaali lahaa. Tan waxaan bilownay inaan isticmaalno waqti dheer ka hor, muddo dheerna waxaan hubay in qof walba uu isticmaalay. Waxaa soo baxday in tani ay naadir tahay.

Marka laga soo tago waxa aan sheegay inta lagu jiro warbixinta, waxaa jira astaamo aan sharciyeysneyn oo kuu oggolaanaya inaad weerarto kooxda. La sii daayay dhawaan falanqayn ballaaran oo ku saabsan dayacanka Kubernetes.

Waxyaalaha qaar aad bay murugo iyo dhaawac u geystaan. Tusaale ahaan, xaaladaha qaarkood, cubelets ee kutlada Kubernetes waxay siin karaan waxa ku jira tusaha warlocks isticmaale aan la fasaxin.

halkan Waxaa jira tilmaamo ku saabsan sida loo soo saari karo wax kasta oo aan kuu sheegay. Waxaa jira faylal wata tusaalooyin wax soo saar oo ah sida ResourceQuota iyo Siyaasadda Amniga Pod ay u egyihiin. Oo waxaad taaban kartaa waxaas oo dhan.

Mahad dhamaanteed.

Source: www.habr.com

Add a comment