Ukugcina idatha kwiqela leKubernetes

Kukho iindlela ezininzi zokuqwalasela ukugcinwa kwedatha kwizicelo ezisebenza kwiqela leKubernetes. Ezinye zazo sele ziphelelwe lixesha, ezinye zivele mva nje. Kweli nqaku, siza kujonga ingcamango yeenketho ezintathu zokudibanisa iinkqubo zokugcina, kubandakanywa neyona yamva nje-ukudibanisa nge-Container Storage Interface.

Ukugcina idatha kwiqela leKubernetes

Indlela yoku-1: Chaza i-PV kwi-pod manifest

Umboniso oqhelekileyo ochaza ipod kwiqela leKubernetes:

Ukugcina idatha kwiqela leKubernetes

Amalungu e-manifest achaza ukuba ngowuphi umthamo odityanisiweyo kwaye apho ugxininiswe khona ngombala.

Kulo candelo UmthamoIinyusi bonisa iindawo zokunyuka (iMountPath) - apho ulawulo olungaphakathi kwesingxobo umthamo osisigxina uya kunyuswa, kunye negama lomthamo.

Kulo candelo x udwelisa yonke imiqulu esetyenziswa kwipod. Cacisa igama lomthamo ngamnye, kunye nohlobo (kwimeko yethu: awsElasticBlockStore) kunye neeparamitha zokudibanisa. Zeziphi iiparamitha ezidweliswe kwi-manifest ixhomekeke kuhlobo lwevolyum.

Umthamo ofanayo unokuxhonywa ngaxeshanye kwizikhongozeli ezininzi zepod. Ngale ndlela, iinkqubo ezahlukeneyo zesicelo zinokufikelela kwidatha efanayo.

Le ndlela yokudibanisa yaqanjwa kwasekuqaleni, xa i-Kubernetes yayisanda kuqala, kwaye namhlanje le ndlela iphelelwe yisikhathi.

Kukho iingxaki ezininzi xa usebenzisa:

  1. yonke imiqulu kufuneka yenziwe ngesandla, iKubernetes ayinakusenzela nto;
  2. iiparameters zokufikelela kumthamo ngamnye ziyingqayizivele, kwaye kufuneka zichazwe kwiimpawu zazo zonke iipod ezisebenzisa umthamo;
  3. ukutshintsha inkqubo yokugcina (umzekelo, ukusuka kwi-AWS ukuya kwiLifu likaGoogle), kufuneka utshintshe izicwangciso kunye nohlobo lwemiqulu ephakanyisiweyo kuzo zonke iziboniso.

Konke oku akulunganga kakhulu, ke ngokwenyani le ndlela isetyenziselwa ukudibanisa kuphela iintlobo ezikhethekileyo zemithamo: configMap, secret, emptyDir, hostPath:

  • configMap kunye nemfihlo yimithamo yenkonzo ekuvumela ukuba wenze ivolyum ngeefayile ezisuka Kubernetes ibonakalisa kwisikhongozeli.

  • i-emptyDir ngumthamo wexeshana, owenzelwe kuphela ubomi bepod. Ilungele ukusetyenziswa kuvavanyo okanye ukugcina idatha yethutyana. Xa i-pod icinyiwe, ivolyum yeDir engenanto iyacinywa kwaye yonke idatha ilahleka.

  • i-hostPath - ikuvumela ukuba unyuse naluphi na ulawulo kwidiski yobulali yomncedisi apho isicelo sisebenza ngaphakathi kwesikhongozeli esinesicelo, ukuquka /etc/kubernetes. Olu luphawu olungakhuselekanga, ngoko ke imigaqo-nkqubo yokhuseleko iyakuthintela ukusetyenziswa kwemithamo yolu hlobo. Kungenjalo, isicelo somhlaseli siya kukwazi ukunyusela ulawulo lwe-HTC Kubernetes ngaphakathi kwesikhongozeli sayo kwaye libe zonke izatifikethi zeqela. Ngokwesiqhelo, imiqulu yendlela yenginginya ivumeleke kuphela ukuba isetyenziswe sisixokelelwano sezicelo ezisebenza kwindawo yegama ye-kube-system.

Iinkqubo zokugcina uKubernetes asebenza nazo ngaphandle kwebhokisi zinikwe kumaxwebhu.

Indlela yesi-2. Uqhagamshelwano kwi-SC/PVC/PV heartths

Enye indlela yokudibanisa ingqikelelo yeklasi yokuGcina, iPersistentVolumeClaim, iPersistentVolume.

Iklasi yokugcina igcina iiparamitha zoqhagamshelwano kwinkqubo yokugcina idatha.

PersistentVolumeClaim ichaza iimfuno zezinto ezifunwa sisicelo.
Umqulu oZingisayo igcina iiparamitha zokufikelela kunye nobume bevolyum.

Undoqo wengcamango: kwi-pod manifest babonisa umthamo wohlobo lwePersistentVolumeClaim kwaye babonise igama leli qumrhu kwi-claimName parameter.

Ukugcina idatha kwiqela leKubernetes

I-PersistentVolumeClaim manifest ichaza iimfuno zomthamo wedatha efunwa sisicelo. Kuquka:

  • ubungakanani bedisk;
  • indlela yokufikelela: ReadWriteOnce okanye ReadWriteMany;
  • ikhonkco kwiklasi yokuGcina - apho inkqubo yokugcina idatha sifuna ukwenza umthamo.

Umboniso weklasi yokuGcina ugcina uhlobo kunye neeparamitha zoqhagamshelo kwinkqubo yokugcina. I-cubelet idinga ukuba bafake umthamo kwi-node yayo.

I-PersistentVolume ibonisa iklasi yokuGcina kunye neeparitha zokufikelela kumthamo othile (umthamo we-ID, umendo, njl.).

Xa udala i-PVC, i-Kubernetes ijonga ukuba yeyiphi ivolumu yobungakanani kunye neyiphi iklasi yokuGcina efunekayo, kwaye ukhethe iPersistentVolume yamahhala.

Ukuba ii-PV ezinjalo azifumaneki, i-Kubernetes inokuqalisa inkqubo ekhethekileyo - uMboneleli (igama layo liboniswe kwiklasi yokuGcina). Le nkqubo idibanisa kwisistim sokugcina, idala umthamo wobungakanani obufunekayo, ifumana isazisi kwaye yenza i-PersistentVolume manifest kwi-cluster ye-Kubernetes, ehambelana ne-PersistentVolumeClaim.

Yonke le ntaphane yezithintelo ikuvumela ukuba ususe ulwazi malunga nokuba yeyiphi inkqubo yokugcina isicelo esisebenza nayo ukusuka kwinqanaba lesicelo ukuya kwinqanaba lolawulo.

Zonke iiparameters zokudibanisa kwinkqubo yokugcina idatha zifumaneka kwiklasi yokugcinwa, apho abalawuli beqela banoxanduva. Konke okufuneka ukwenze xa usuka kwi-AWS ukuya kwiLifu likaGoogle kukutshintsha igama leklasi yoGcino kwiPVC kwi-application manifests. Umthamo wokunyamezela wokugcinwa kwedatha uya kwenziwa kwiqela ngokuzenzekelayo usebenzisa inkqubo yoMboneleli.

Indlela yesi-3. IsiNxulumanisi sokuGcina isikhongozeli

Yonke ikhowudi esebenzisana neenkqubo ezahlukeneyo zokugcina inxalenye ye-core Kubernetes. Ukukhutshwa kokulungiswa kwebug okanye ukusebenza okutsha kubotshelelwe kukhupho olutsha; ikhowudi kufuneka itshintshwe kuzo zonke iinguqulelo ezixhaswayo zeKubernetes. Konke oku kunzima ukugcina kunye nokongeza ukusebenza okutsha.

Ukusombulula ingxaki, abaphuhlisi abavela kwi-Cloud Foundry, i-Kubernetes, i-Mesos kunye ne-Docker benza i-Container Storage Interface (CSI) - i-interface elula edibeneyo echaza intsebenziswano yenkqubo yokulawula isikhongozeli kunye nomqhubi okhethekileyo (CSI Driver) osebenza ngendawo ethile. inkqubo yokugcina. Yonke ikhowudi yokusebenzisana kunye neenkqubo zokugcina zasuswa kwi-core Kubernetes ukuya kwinkqubo eyahlukileyo.

Uxwebhu lwesiNxibelelwano sokuGcina isikhongozeli.

Ngokuqhelekileyo, i-CSI Driver inamacandelo amabini: i-Plugin ye-Node kunye ne-Controller plugin.

I-Plugin ye-Node isebenza kwindawo nganye kwaye inoxanduva lokunyuswa kwemithamo kunye nokwenza imisebenzi kuyo. I-plugin yoMlawuli isebenzisana nenkqubo yokugcina: yenza okanye icime imiqulu, inike amalungelo okufikelela, njl.

Okwangoku, abaqhubi abadala bahlala kwi-kernel ye-Kubernetes, kodwa abasacetyiswa ukuba basetyenziswe kwaye wonke umntu uyacetyiswa ukuba afake i-CSI Driver ngokukodwa kwinkqubo abaza kusebenza ngayo.

Ubutsha bunokoyikisa abo sele beqhele ukuseta ukugcinwa kwedatha ngeklasi yoGcino, kodwa eneneni akukho nto imbi eyenzekileyo. Kubadwelisi benkqubo, akukho nto itshintsha ngokwenene - basebenze kuphela ngegama elithi Storage class, kwaye baya kuqhubeka besenza njalo. Kubalawuli, ukufakwa kweshadi ye-helm yongeziwe kwaye isakhiwo sezicwangciso sitshintshile. Ukuba ngaphambili izicwangciso zifakwe ngqo kwiklasi yoGcino, ngoku kufuneka ziqale zisetwe kwitshathi ye-helm, kwaye emva koko kwiklasi yokuGcina. Ukuba ujonga kuyo, akukho nto imbi eyenzekayo.

Makhe sithathe umzekelo ukujonga izibonelelo onokuzifumana ngokutshintshela ukudibanisa iinkqubo zokugcina zeCeph usebenzisa umqhubi weCSI.

Xa usebenza neCeph, iplagin ye-CSI ibonelela ngeendlela ezininzi zokusebenza kunye neenkqubo zokugcina kunabaqhubi abakhelwe ngaphakathi.

  1. Ukudalwa kwediskhi enamandla. Ngokuqhelekileyo iidiski ze-RBD zisetyenziswa kuphela kwimo ye-RWO, kodwa i-CSI ye-Ceph ivumela ukuba isetyenziswe kwimo ye-RWX. Iipod ezininzi kwiindawo ezahlukeneyo zinokufaka idiski ye-RDB efanayo kwiindawo zazo kwaye zisebenze nazo ngokunxuseneyo. Ukulunga, akuyiyo yonke into eqaqambileyo - le diski inokudibaniswa kuphela njengesixhobo sebhloko, oku kuthetha ukuba kuya kufuneka ulungelelanise isicelo ukuze usebenze nayo kwimodi yokufikelela ezininzi.
  2. Ukwenza izifinyezo. Kwiqela leKubernetes, unokwenza i-manifest kunye nemfuneko yokwenza umfanekiso okhawulezayo. Iplagi yeCSI iya kuyibona kwaye ithathe umfanekiso okhawulezayo kwidiski. Ngokusekwe kuyo, unokwenza i-backup okanye ikopi yePersistentVolume.
  3. Ukwandisa ubungakanani bedisk kwindawo yokugcina kunye nePersistentVolume kwiqela leKubernetes.
  4. Izabelo. Abaqhubi be-CephFS bakhelwe kwi-Kubernetes abazixhasi ii-quotas, kodwa iiplagi ezitsha ze-CSI ezine-Ceph Nautilus yamva nje zinokuvumela ii-quotas kwizahlulo ze-CephFS.
  5. Iimetriki. I-plugin ye-CSI inokubonelela nge-Prometheus ngeendidi zeemetriki malunga nokuba yiyiphi imiqulu edibeneyo, yintoni unxibelelwano oluqhubekayo, njl.
  6. I-Topology iyazi. Ikuvumela ukuba uchaze kwiimanifest ukuba iqela lisasazwa njani ngokwejografi, kwaye unqande ukudibanisa inkqubo yokugcina ebekwe eAmsterdam kwiipods ezisebenza eLondon.

Indlela yokudibanisa iCeph kwiqela leKubernetes ngeCSI, yabona kwinxalenye yepraktikhali yentetho yesikolo sangokuhlwa seSlurm. Ungarhuma kwi Ikhosi yevidiyo yeCeph, eya kuqaliswa ngo-Oktobha 15.

Umbhali wenqaku: USergey Bondarev, umyili wezakhiwo eSouthbridge, uMlawuli oQinisekisiweyo weKubernetes, omnye wabaphuhlisi be-bespray.

ISibhalo esincinci sePost singeyontengiso, kodwa ngenzuzo...

U-PS Sergey Bondarev ukhokela izifundo ezimbini ezinzulu: ezihlaziyiweyo Kubernetes Base Septemba 28-30 kwaye phambili Kubernetes Mega Oktobha 14–16.

Ukugcina idatha kwiqela leKubernetes

umthombo: www.habr.com

Yongeza izimvo