Ukugcina idatha kuqoqo le-Kubernetes

Kunezindlela ezimbalwa zokumisa ukugcinwa kwedatha yezinhlelo zokusebenza ezisebenza kuqoqo le-Kubernetes. Ezinye zazo seziphelelwe yisikhathi, ezinye zivele kamuva nje. Kulesi sihloko, sizobheka umqondo wezinketho ezintathu zokuxhuma izinhlelo zokugcina, kufaka phakathi eyakamuva kakhulu - ukuxhuma nge-Container Storage Interface.

Ukugcina idatha kuqoqo le-Kubernetes

Indlela 1: Cacisa i-PV ku-manifest ye-pod

I-manifest evamile echaza i-pod kuqoqo le-Kubernetes:

Ukugcina idatha kuqoqo le-Kubernetes

Izingxenye ze-manifest ezichaza ukuthi iyiphi ivolumu exhunyiwe nokuthi zigqanyiswe kuphi ngombala.

Esigabeni ivolumuAma-Mounts khombisa amaphuzu okukhweza (i-mountPath) - lapho uhla lwemibhalo ngaphakathi kwesitsha kuzofakwa ivolumu engapheli, kanye negama levolumu.

Esigabeni x ibala yonke imiqulu esetshenziswa kuphodi. Cacisa igama levolumu ngayinye, kanye nohlobo (kithi: awsElasticBlockStore) namapharamitha wokuxhuma. Imaphi amapharamitha akuhlu ku-manifest ancike ohlotsheni lwevolumu.

Ivolumu efanayo ingafakwa ngesikhathi esisodwa ezitsheni eziningi ze-pod. Ngale ndlela, izinqubo ezihlukene zohlelo lokusebenza zingafinyelela idatha efanayo.

Le ndlela yokuxhuma yasungulwa ekuqaleni, lapho uKubernetes esanda kuqala, futhi namuhla le ndlela isiphelelwe yisikhathi.

Kunezinkinga ezimbalwa lapho uyisebenzisa:

  1. yonke imiqulu kumele yenziwe ngesandla, uKubernetes akakwazi ukusidalela lutho;
  2. amapharamitha okufinyelela evolumu ngayinye ahlukile, futhi kufanele acaciswe kuma-manifest awo wonke ama-pods asebenzisa ivolumu;
  3. ukuze ushintshe isistimu yesitoreji (isibonelo, suka ku-AWS uye ku-Google Cloud), udinga ukushintsha izilungiselelo nohlobo lwamavolumu anyusiwe kuwo wonke ama-manifest.

Konke lokhu akulula kakhulu, ngakho-ke empeleni le ndlela isetshenziselwa ukuxhuma izinhlobo ezithile ezikhethekile zamavolumu: configMap, secret, emptyDir, hostPath:

  • I-configMap nemfihlo amavolumu esevisi akuvumela ukuthi udale ivolumu ngamafayela avela ku-Kubernetes ebonisa esitsheni.

  • I-emptyDir iyivolumu yesikhashana, eyakhelwe kuphela impilo yonke ye-pod. Ilungele ukusetshenziselwa ukuhlola noma ukugcina idatha yesikhashana. Uma i-pod isusiwe, ivolumu ye-EmptyDir nayo iyasuswa futhi yonke idatha iyalahleka.

  • hostPath - ikuvumela ukuthi ukhweze noma iyiphi inkomba kudiski yasendaweni yeseva lapho uhlelo lokusebenza lusebenza ngaphakathi kwesiqukathi esinohlelo lokusebenza, okuhlanganisa /etc/kubernetes. Lesi isici esingaphephile, ngakho izinqubomgomo zokuphepha ngokuvamile ziyakwenqabela ukusetshenziswa kwamavolumu alolu hlobo. Uma kungenjalo, isicelo somhlaseli sizokwazi ukukhweza uhla lwemibhalo lwe-HTC Kubernetes ngaphakathi kwesiqukathi sayo futhi luntshontshe zonke izitifiketi zeqoqo. Ngokuvamile, amavolumu we-hostPath avunyelwe kuphela ukusetshenziswa izinhlelo zokusebenza zesistimu ezisebenza ku-kube-system namespace.

Amasistimu wesitoreji u-Kubernetes asebenza nawo ngaphandle kwebhokisi anikezwa kumadokhumenti.

Indlela 2. Ukuxhumana neziko ze-SC/PVC/PV

Enye indlela yokuxhuma umqondo we-Storage class, PersistentVolumeClaim, PersistentVolume.

Isigaba sesitoreji igcina imingcele yokuxhumana ohlelweni lokugcina idatha.

PersistentVolumeClaim ichaza izidingo zalokho okudingwa isicelo.
I-PersistentVolume igcina amapharamitha wokufinyelela kanye nesimo sevolumu.

Ingqikithi yombono: ku-pod manifest babonisa umthamo wohlobo lwe-PersistentVolumeClaim futhi babonisa igama laleli bhizinisi kupharamitha ye-claimName.

Ukugcina idatha kuqoqo le-Kubernetes

I-PersistentVolumeClaim manifest ichaza izimfuneko zevolumu yedatha edingwa uhlelo lokusebenza. Kubandakanya:

  • usayizi wediski;
  • indlela yokufinyelela: ReadWriteOnce noma ReadWriteMany;
  • isixhumanisi sekilasi Lokulondoloza - lapho isistimu yokugcina idatha sifuna ukudala ivolumu.

I-manifest yekilasi leSitoreji igcina uhlobo namapharamitha wokuxhuma ohlelweni lwesitoreji. I-cubelet idinga ukuthi bafake ivolumu ku-node yayo.

I-PersistentVolume ibonisa izigaba zeSitoreji namapharamitha wokufinyelela wevolumu ethile (i-ID yevolumu, indlela, njll.).

Lapho udala i-PVC, i-Kubernetes ibheka ukuthi imuphi usayizi wevolumu nokuthi yiliphi ikilasi leSitoreji elidingekayo, bese ikhetha i-PersistentVolume yamahhala.

Uma ama-PV anjalo engatholakali, i-Kubernetes ingaqala uhlelo olukhethekile - Umhlinzeki (igama layo liboniswa ekilasini Lokugcina). Lolu hlelo luxhumeka kusistimu yesitoreji, ludala ivolumu yosayizi odingekayo, luthola isihlonzi futhi ludale i-PersistentVolume manifest kuqoqo le-Kubernetes, elihlotshaniswa ne-PersistentVolumeClaim.

Yonke le sethi yokukhipha ikuvumela ukuthi ususe ulwazi mayelana nokuthi yiluphi uhlelo lwesitoreji uhlelo lokusebenza olusebenza ngalo kusukela kuzinga le-manifest yohlelo lokusebenza kuya kuleveli yokuphatha.

Wonke amapharamitha wokuxhuma ohlelweni lokugcinwa kwedatha atholakala ekilasini Lokulondolozwa, lapho abalawuli bamaqoqo banesibopho khona. Odinga ukukwenza lapho usuka ku-AWS uye ku-Google Cloud ukushintsha igama lekilasi leSitoreji libe yi-PVC ku-manifest yohlelo lokusebenza. I-Persistance Volume yokugcina idatha izodalwa ku-cluster ngokuzenzekelayo kusetshenziswa uhlelo Lomhlinzeki.

Indlela yesi-3: Isixhumi esibonakalayo Sokugcinwa Kwesitsha

Yonke ikhodi esebenzisana nezinhlelo ezahlukene zokulondoloza iyingxenye yomongo we-Kubernetes. Ukukhishwa kokulungiswa kweziphazamisi noma ukusebenza okusha kuboshelwe ekukhishweni okusha; ikhodi kufanele ishintshwe kuzo zonke izinguqulo ezisekelwayo ze-Kubernetes. Konke lokhu kunzima ukukugcina nokwengeza ukusebenza okusha.

Ukuze kuxazululwe inkinga, abathuthukisi abavela ku-Cloud Foundry, Kubernetes, Mesos kanye ne-Docker badale i-Container Storage Interface (CSI) - isixhumi esibonakalayo esilula esihlanganisiwe esichaza ukusebenzisana kwesistimu yokuphatha iziqukathi kanye nomshayeli okhethekile (CSI Driver) osebenza ne-container ethile. uhlelo lokugcina. Yonke ikhodi yokusebenzelana nezinhlelo zokugcina isusiwe kumongo we-Kubernetes yayiswa ohlelweni oluhlukile.

Imibhalo Yesibonisi Sesiqukathi Sesitsha.

Ngokuvamile, i-CSI Driver iqukethe izingxenye ezimbili: I-Node Plugin ne-Controller plugin.

I-Node Plugin isebenza endaweni ngayinye futhi inesibopho sokukhuphula amavolumu nokwenza imisebenzi kuwo. I-plugin yesilawuli isebenzisana nesistimu yokugcina: idala noma isusa amavolumu, inikeze amalungelo okufinyelela, njll.

Okwamanje, abashayeli abadala basasele ku-Kubernetes kernel, kodwa abasanconywa ukuthi basetshenziswe futhi wonke umuntu uyelulekwa ukuthi afake i-CSI Driver ngokukhethekile ohlelweni abazosebenza ngalo.

Ukuqanjwa kabusha kungase kwethuse labo asebejwayele ukusetha isitoreji sedatha ngeklasi Lokugcina, kodwa empeleni akukho okubi okwenzekile. Kubahleli bohlelo, akukho okushintshile ngempela - basebenze ngegama elithi Storage class kuphela, futhi bazoqhubeka nokwenza njalo. Kubalawuli, ukufakwa kweshadi le-helm kungeziwe futhi nesakhiwo sezilungiselelo sishintshile. Uma ngaphambilini izilungiselelo bezifakwe ngokuqondile ekilasini leSitoreji, manje kufanele ziqale zisethwe eshadini lokuqondisa, bese kuba sekilasini Lokulondolozwa. Uma ubheka, akukho okubi okwenzekile.

Ake sithathe isibonelo ukuze sibheke izinzuzo ongazithola ngokushintshela ekuxhumeni izinhlelo zokugcina ze-Ceph usebenzisa umshayeli we-CSI.

Lapho usebenza ne-Ceph, i-plugin ye-CSI inikeza izinketho eziningi zokusebenza ngezinhlelo zokugcina kunabashayeli abakhelwe ngaphakathi.

  1. Ukudalwa kwediski enamandla. Ngokuvamile amadiski e-RBD asetshenziswa kuphela kumodi ye-RWO, kodwa i-CSI ye-Ceph iwavumela ukuthi asetshenziswe kumodi ye-RWX. Ama-pod amaningana kumanodi ahlukene angafaka idiski efanayo ye-RDB kumanodi awo futhi asebenze nawo ngokuhambisana. Ukuze kube okulungile, akuyona yonke into ekhanya kakhulu - le diski ingaxhunywa kuphela njengedivayisi ye-block, okusho ukuthi kuzodingeka uguqule uhlelo lokusebenza ukuze usebenze nalo kwimodi yokufinyelela eminingi.
  2. Ukudala izifinyezo. Kuqoqo le-Kubernetes, ungakha i-manifest enesidingo sokudala isifinyezo. I-plugin ye-CSI izoyibona bese ithatha isifinyezo kudiski. Ngokusekelwe kukho, ungenza ikhophi yasenqolobaneni noma ikhophi ye-PersistentVolume.
  3. Ukwandisa usayizi wediski kusitoreji kanye ne-PersistentVolume kuqoqo le-Kubernetes.
  4. Izilinganiso. Abashayeli be-CephFS abakhelwe ku-Kubernetes abawasekeli ama-quota, kodwa ama-plugin amasha e-CSI ane-Ceph Nautilus yakamuva anganika amandla ama-quota kuma-partitions e-CephFS.
  5. Amamethrikhi. I-plugin ye-CSI inganikeza i-Prometheus ngezinhlobonhlobo zamamethrikhi mayelana nokuthi yimaphi amavolumu axhunyiwe, yikuphi ukuxhumana okwenzekayo, njll.
  6. I-Topology uyazi. Ikuvumela ukuthi ucacise kuma-manifest ukuthi iqoqo lisatshalaliswa kanjani ngokwendawo, futhi ugweme ukuxhuma isistimu yokugcina etholakala e-Amsterdam kuma-pods asebenza e-London.

Ungaxhuma kanjani i-Ceph kuqoqo le-Kubernetes nge-CSI, bona engxenyeni engokoqobo yenkulumo yesikole sakusihlwa ye-Slurm. Ungakwazi futhi ukubhalisa ku Isifundo sevidiyo se-Ceph, ezokwethulwa ngo-Okthoba 15.

Umbhali wendatshana: U-Sergey Bondarev, umakhi oqeqeshelwa ukuklama eSouthbridge, Umqondisi Oqinisekisiwe we-Kubernetes, omunye wabathuthukisi be-kubespray.

I-Post Scriptum encane hhayi eyokukhangisa, kodwa ukuze kuzuze...

U-PS Sergey Bondarev uhola izifundo ezimbili ezijulile: zibuyekeziwe Kubernetes Base Septhemba 28-30 futhi eziphambili Kubernetes Mega Okthoba 14-16.

Ukugcina idatha kuqoqo le-Kubernetes

Source: www.habr.com

Engeza amazwana