Kubernetes 1.14: Tilmaamaha waxa cusub

Kubernetes 1.14: Tilmaamaha waxa cusub

Habeenkan dhici doona sii deynta xiga ee Kubernetes - 1.14. Marka loo eego dhaqanka u horumaray blog-keena, waxaanu ka hadlaynaa isbeddelada muhiimka ah ee nooca cusub ee badeecadan Isha Furan ee cajiibka ah.

Macluumaadka loo isticmaalo diyaarinta walxahan ayaa laga soo qaatay Kubernetes kor u qaad miisaska raadraaca, ISBEDELKA-1.14 iyo arrimaha la xidhiidha, codsiyada jiid, Kubernetes Kobcinta Soo jeedinta (KEP).

Aan ku bilowno hordhac muhim ah oo ka socda SIG cluster-lifecycle: kooxo guuldaraystay oo firfircoon Kubernetes (ama si aad u saxsan tahay, hawlgelinta HA iskeed isu martigeliso) hadda waa waa la abuuri karaa iyadoo la adeegsanayo amarada la yaqaan (marka la eego kooxaha hal-node) kubeadm (init и join). Marka la soo koobo, tan:

  • shahaadooyinka ay adeegsato kooxdu waxa lagu wareejiyaa siraha;
  • suurtogalnimada isticmaalka kooxda iwm ee kutlada K8s (sida ka takhalusida ku tiirsanaanta dibadda ee hore u jirtay) iwm. hawl-wadeen;
  • Waxay diiwaangelisaa goobaha lagu taliyey ee dheellitirka culeyska dibadda kaas oo bixiya qaabeynta cillad-dulqaadka (mustaqbalka waxaa la qorsheeyay in la baabi'iyo ku-tiirsanaantan, laakiin ma aha heerkan).

Kubernetes 1.14: Tilmaamaha waxa cusub
Dhismaha kooxda Kubernetes HA oo lagu sameeyay kubeadm

Faahfaahinta fulinta waxaa laga heli karaa soo jeedinta naqshadeynta. Sifadan run ahaantii muddo dheer ayaa la sugayay: nooca alfa waxa la filayay in uu ku soo noqdo K8s 1.9, laakiin hadda uun buu soo muuqday.

API

kooxda apply iyo guud ahaan hadalka maaraynta shayga caddaynta maray ka kubectl gudaha apiserver. Horumarinta laftoodu waxay si kooban u sharxaan go'aankooda iyagoo leh taas kubectl apply - qayb aasaasi ah oo ka mid ah la shaqeynta qaabeynta ee Kubernetes, si kastaba ha ahaatee, "waxaa ka buuxa cayayaanka oo ay adag tahay in la hagaajiyo," sidaas darteed shaqadani waxay u baahan tahay in lagu soo celiyo si caadi ah oo loo wareejiyo diyaaradda xakamaynta. Tusaalayaal fudud oo cad oo ah dhibaatooyinka maanta jira:

Kubernetes 1.14: Tilmaamaha waxa cusub

Faahfaahinta ku saabsan hirgelinta ayaa ku jirta CAP. U diyaargarowga hadda waa alfa (kor u qaadida beta ayaa loo qorsheeyay sii deynta Kubernetes ee soo socota).

Lagu helay nooca alfa fursad adigoo isticmaalaya nidaamka OpenAPI v3 abuurista iyo daabacaadda dukumeentiyada OpenAPI ee Ilaha Custom (CR) loo isticmaalo in lagu ansixiyo (dhinaca server-ka) K8s ee isticmaala-qeexay kheyraadka (CustomResourceDefinition, CRD). Daabacaadda OpenAPI ee CRD waxay u ogolaataa macaamiisha (tusaale. kubectl) samee ansaxinta dhinacaaga (gudahood kubectl create и kubectl apply) oo soo saara dukumeenti waafaqsan nidaamka (kubectl explain). Faahfaahin - gudaha CAP.

Qoryaha hore u jiray hadda waa la furayaa calan leh O_APPEND (laakin maya O_TRUNC) si looga fogaado luminta geedaha xaaladaha qaarkood iyo in ay ku habboonaato in la gooyo lo'da oo leh qalab dibadda ah oo wareeg ah.

Sidoo kale marka la eego macnaha Kubernetes API, waxaa lagu ogaan karaa in PodSandbox и PodSandboxStatus ayaa lagu daray beerta runtime_handler si loo duubo macluumaadka ku saabsan RuntimeClass gudaha pods (ka akhri wax badan oo ku saabsan qoraalka ku saabsan Kubernetes 1.12 sii deynta, halkaas oo fasalkani u muuqday sida alfa version), iyo in Admission Webhooks la fuliyay awood lagu go'aamiyo noocyada AdmissionReview way taageersan yihiin. Ugu dambeyntii, sharciyada gelitaanka Webhooks waa hadda waa la xadidi karaa inta ay le'eg tahay isticmaalkooda magacyo iyo qaab-dhismeedka kooxeed.

Goobaha Bakhaarada

PersistentLocalVolumes, kaas oo lahaa heerka beta tan iyo markii la sii daayay K8s 1.10, lagu dhawaaqay deggan (GA): albaabka sifada hadda naafo ma aha waxaana laga saari doonaa Kubernetes 1.17.

Fursad iyadoo la isticmaalayo doorsoomayaasha deegaanka ee loo yaqaan Hooska API (tusaale ahaan, magaca podska) ee magacyada hagayaasha ku dhejisan sida subPath, waxaa la horumariyay - qaab beer cusub subPathExpr, kaas oo hadda loo isticmaalo in lagu go'aamiyo magaca hagaha la rabo. Sifada markii hore waxay ka soo muuqatay Kubernetes 1.11, laakiin 1.14 waxay ku hadhay heerka nooca alfa.

Si la mid ah sii dayntii hore ee Kubernetes, isbeddello badan oo la taaban karo ayaa loo soo bandhigay horumarinta firfircoon ee CSI (Interface Kaydinta Kontaynarada):

CSI

La helay (sida qayb ka mid ah nooca alfa) taageero wax ka beddelka qiyaasaha CSI. Si aad u isticmaasho waxa aad u baahan doontaa in aad karti geliso albaabka sifada ee lagu magacaabo ExpandCSIVolumes, iyo sidoo kale joogitaanka taageerada hawlgalkan darawal CSI gaar ah.

Muuqaal kale oo loogu talagalay CSI ee nooca alfa - fursad Si toos ah u tixraac (tusaale, adiga oo aan isticmaalin PV/PVC) qiyaasaha CSI ee ku dhex jira qeexida boodhka. Tani waxay meesha ka saaraysaa xaddidaadda isticmaalka CSI sida kaydinta xogta fog ee gaarka ah, oo albaabada u furaya iyaga mugga ephemeral deegaanka. Isticmaalka (tusaale ka dukumentiyada) waa in la dhaqaajiyaa CSIInlineVolume albaab muuqaal.

Waxaa sidoo kale jiray horumar ah "gudaha" Kubernetes ee la xidhiidha CSI, kuwaas oo aan si muuqata u muuqan kuwa isticmaala dhamaadka (maamulayaasha nidaamka) dariiqii hore”, gudaha K8s codebase (in-geedka), iyo tan labaad - oo qayb ka ah CSI-da cusub (wax badan oo ku saabsan ka akhri, tusaale ahaan, gudaha halkan). Tani waxay sababtaa dhibatooyin la fahmi karo oo u baahan in wax laga qabto marka CSI lafteedu ay xasiliso. Suurtagal ma aha in si fudud loo tirtiro API-ga gudaha (geed-geedka) plugins-ka siyaasadda Kubernetes ee khuseeya.

Waxaas oo dhami waxay horseedeen xaqiiqda ah in nooca alfa uu gaadhay habka socdaalka code plugin gudaha, oo loo hirgeliyay sidii geed-geedka, ee CSI-yada, taas oo ay ugu wacan tahay welwelka horumariyayaashu waa la dhimi doonaa si ay u taageeraan hal nooc oo pluginskooda ah, iyo la jaanqaadka API-yadii hore ayaa sii ahaan doona waxaana lagu dhawaaqi karaa inay duugoobeen sida caadiga ah. Waxaa la filayaa in marka la gaaro sii daynta xigta ee Kubernetes (1.15) dhammaan plugins bixiyayaasha daruuraha la guuri doono, hirgelintu waxay heli doontaa heerka beta waxaana lagu hawlgelin doonaa rakibaadda K8s si caadi ah. Faahfaahinta, eeg soo jeedinta naqshadeynta. Socdaalkan ayaa sidoo kale ka dhashay xaflad laga soo bilaabo xadka mugga ee lagu qeexay bixiyeyaasha daruuraha gaarka ah (AWS, Azure, GCE, Cinder).

Intaa waxaa dheer, taageerada qalabka xannibista ee leh CSI (CSIBlockVolume) wareejin nooca beta.

Nodes/Kubelet

Nooca Alpha ayaa la soo bandhigay dhamaadka cusub Kubelet, oo loogu talagalay ku soo celi qiyaasaha ilaha muhiimka ah. Guud ahaan, haddii uu hore Kubelet ka helay tirakoobka isticmaalka weelka ee cAdvisor, hadda xogtani waxay ka imanaysaa jawiga wakhtiga weelka iyada oo loo sii marayo CRI (Container Runtime Interface), laakiin waafaqid la shaqaynta noocyada hore ee Docker sidoo kale waa la ilaaliyaa. Markii hore, tirokoobyada laga soo ururiyay Kubelet waxaa loo diri jiray REST API, laakiin hadda barta dhamaadka ku taal /metrics/resource/v1alpha1. Istaraatiijiyada muddada-dheer ee horumarinta waa waa in la dhimo jaangooyooyinka cabbirada uu bixiyo Kubelet. By habka, kuwan metrics laftooda hadda way wacaan ma aha "mitirka asaasiga ah", laakiin "miisaanka kheyraadka", waxaana lagu tilmaamay inay yihiin "khayraadka heerka koowaad, sida cpu, iyo xusuusta".

Nuance aad u xiiso badan: in kasta oo faa'iidada waxqabadka cad ee gRPC ay leedahay marka la barbardhigo kiisaska kala duwan ee isticmaalka qaabka Prometheus (eeg natiijada mid ka mid ah bartilmaameedyada hoose), qorayaashu waxay door bideen qaabka qoraalka ee Prometheus sababtoo ah hogaaminta cad ee nidaamkan kormeerka ee bulshada.

"gRPC kuma habboona dhuumaha kormeerka waaweyn. Dhamaadka dhibicda kaliya waxay faa'iido u yeelan doontaa gaarsiinta cabbirada Server-ka Metrics ama la socodka qaybaha si toos ah ula dhexgalaya. Qaab dhismeedka qoraalka Prometheus marka la isticmaalayo kaydinta Metrics Server fiican oo ku filan anaga in aan ka door bidno Prometheus gRPC marka la eego korsashada baahsan ee Prometheus ee bulshada dhexdeeda. Marka qaabka OpenMetrics uu noqdo mid xasiloon, waxaan awood u yeelan doonaa inaan u wajahno waxqabadka gRPC oo leh qaab ku saleysan proto."

Kubernetes 1.14: Tilmaamaha waxa cusub
Mid ka mid ah imtixaanada waxqabadka isbarbardhigga ee adeegsiga qaababka gRPC iyo Prometheus ee barta dhamaadka Kubelet ee cabbirada. Garaafyo badan iyo faahfaahin kale ayaa laga heli karaa CAP.

Waxaa ka mid ah isbeddellada kale:

  • Kubelet hadda (hal mar) isku dayaya inuu joojiyo weelasha ku jira xaalad aan la garanayn ka hor inta aanad dib u bilaabin oo tirtirin hawlaha.
  • Markaad isticmaasho PodPresets hadda ilaa weelka gudaha ku daray macluumaad la mid ah sida weelka caadiga ah.
  • kubelet bilaabay isticmaalka usageNanoCores Ka socota bixiyaha tirakoobka CRI, iyo noodhka iyo weelasha Windows ayaa lagu daray tirakoobka shabakada.
  • Habka hawlgalka iyo macluumaadka qaab dhismeedka hadda waxa lagu diiwaan geliyay summada kubernetes.io/os и kubernetes.io/arch Walxaha noodhka (laga soo wareejiyay beta oo loo wareejiyay GA).
  • Awoodda lagu qeexo koox isticmaale nidaam gaar ah oo loogu talagalay weelasha ku jira boodhka (RunAsGroup, ka dhex muuqday K8s 1.11) horumaray ka hor beta (waxaa u suurtageliyay default).
  • du iyo heli loo isticmaalo cAdvisor, bedelay on Go fulinta.

CLI

In cli-runtime iyo kubectl ku daray -k calanka is dhexgalka leh habayn (sida, horumarkeeda hadda waxaa lagu fuliyaa kayd gaar ah), i.e. si aad uga baaraandegto faylalka YAML ee dheeraadka ah ee hagayaasha gaarka ah (faahfaahinta isticmaalkooda, eeg CAP):

Kubernetes 1.14: Tilmaamaha waxa cusub
Tusaalaha isticmaalka faylka fudud habaynta (codsi aad u adag oo kustomize ah ayaa suurtagal ah gudaha bareelo)

Intaa waxaa dheer:

  • Lagu daray koox cusub kubectl create cronjob, oo magaciisu iskii u hadlay.
  • В kubectl logs hadda waad awoodaa in la isku daro calanka -f (--follow loogu talagalay diiwaannada qulqulka) iyo -l (--selector sumadda sumadda).
  • kubectl baray nuqul ka mid ah faylasha lagu doortay kaarka duurjoogta ah.
  • Ku socota kooxda kubectl wait ku daray calanka --all si aad u dooratid dhammaan agabka ku jira magaca magaca nooca kheyraadka ee la cayimay.

Kuwa kale

Awoodaha soo socdaa waxay heleen xaalad deggan (GA):

Isbeddellada kale ee lagu soo bandhigay Kubernetes 1.14:

  • Nidaamka RBAC ee caadiga ah hadda ma ogola gelitaanka API discovery и access-review isticmaalayaasha iyada oo aan la aqoonsan (aan la aqoonsan).
  • Taageerada CoreDNS ee rasmiga ah la hubiyay Linux kaliya, markaa marka la isticmaalayo kubeadm si loo geeyo (CoreDNS) koox ahaan, noodhadhku waa inay ku shaqeeyaan Linux kaliya (nodeSelectors ayaa loo isticmaalaa xaddidan).
  • Qaabaynta CoreDNS ee caadiga ah waa hadda adeegsadaa plugin hore halkii wakiil. Sidoo kale, gudaha CoreDNS ayaa lagu daray ReadinessProbe, kaas oo ka hortagaya isku dheelitirka culeyska ee ku habboon (aan diyaar u ahayn adeegga).
  • Kubeadm, wejiyada init ama upload-certs, noqday suurto gal Ku shub shahaadooyinka loo baahan yahay si loogu xidho diyaaradda-kontoroolka cusub iyo sirta kubeadm-certs (isticmaal calanka --experimental-upload-certs).
  • Nooca alfa ayaa u soo muuqday rakibaadda Windows taageero gMSA (Kooxda Adeegga la Maareeyo) - xisaabaadka gaarka ah ee Hagaha Firfircoon ee sidoo kale loo isticmaali karo weelasha.
  • Ee G.C.E. firfircoon mTLS sirta u dhaxaysa etcd iyo kube-apiserver
  • Cusboonaysiinta software-ka la isticmaalay/ku-tiirsanaanta: Go 1.12.1, CSI 1.1, CoreDNS 1.3.1, Docker 18.09 support in kubeadm, iyo nooca ugu yar ee la taageeray ee Docker API hadda waa 1.26.

PS

Sidoo kale ka akhri boggayaga:

Source: www.habr.com

Add a comment