Kubernetes 1.14: Prìomh thachartasan de na tha ùr

Kubernetes 1.14: Prìomh thachartasan de na tha ùr

An oidhche seo a ’tachairt an ath fhoillseachadh de Kubernetes - 1.14. A rèir an traidisean a tha air leasachadh airson ar blog, tha sinn a’ bruidhinn mu na prìomh atharrachaidhean anns an dreach ùr den toradh mìorbhaileach Open Source seo.

Tha am fiosrachadh a chaidh a chleachdadh airson an stuth seo ullachadh air a thoirt bho Clàran tracadh àrdachadh Kubernetes, ATHARRACHADH-1.14 agus cùisean co-cheangailte, iarrtasan tarraing, Molaidhean Leasachaidh Kubernetes (KEP).

Feuch an tòisich sinn le ro-ràdh cudromach bho chuairt-beatha brabhsair SIG: cruinneachaidhean fiùghantach failover Tha Kubernetes (no a bhith nas mionaidiche, cleachdadh HA fèin-aoigheachd) a-nis faodar a chruthachadh a’ cleachdadh òrdughan eòlach (ann an co-theacsa chlàran aon-nòd). kubeadm (init и join). Ann an ùine ghoirid, airson seo:

  • tha teisteanasan a chleachdas a’ bhuidheann air an gluasad gu dìomhaireachdan;
  • airson comas a bhith a’ cleachdadh a’ bhuidheann etcd taobh a-staigh cruinneachadh K8s (ie faighinn cuidhteas an eisimeileachd bhon taobh a-muigh a bh’ ann roimhe) etcd-ghnìomhaiche;
  • Sgrìobhainn na roghainnean a thathar a’ moladh airson cothromachadh luchdan taobh a-muigh a bheir seachad rèiteachadh a tha a’ fulang le lochdan (san àm ri teachd thathas an dùil cuir às don eisimeileachd seo, ach chan ann aig an ìre seo).

Kubernetes 1.14: Prìomh thachartasan de na tha ùr
Ailtireachd buidheann Kubernetes HA air a chruthachadh le kubeadm

Gheibhear mion-fhiosrachadh mun bhuileachadh ann an moladh dealbhaidh. Bha am feart seo air a shùileachadh o chionn fhada: bha dùil ris an tionndadh alpha air ais ann an K8s 1.9, ach cha do nochd e ach a-nis.

API

sgioba apply agus san fharsaingeachd riaghladh nithean dearbhach seachad bho kubectl ann am frithealaiche. Bidh an luchd-leasachaidh fhèin a’ mìneachadh an co-dhùnadh goirid le bhith ag ràdh sin kubectl apply - na phàirt bunaiteach de bhith ag obair le rèiteachaidhean ann an Kubernetes, ge-tà, “tha e làn de bhiteagan agus duilich a chàradh,” agus mar sin feumar an gnìomh seo a thoirt air ais gu àbhaisteach agus a ghluasad chun phlèana smachd. Eisimpleirean sìmplidh agus soilleir de dhuilgheadasan a tha ann an-diugh:

Kubernetes 1.14: Prìomh thachartasan de na tha ùr

Tha mion-fhiosrachadh mun bhuileachadh a-staigh CAP. Is e deiseil alpha an-dràsta (tha adhartas gu beta san amharc airson an ath fhoillseachadh Kubernetes).

Ri fhaighinn ann an dreach alpha cothrom a’ cleachdadh sgeama OpenAPI v3 airson cruthachadh agus foillseachadh sgrìobhainnean OpenAPI airson CustomResources (CR) air a chleachdadh gus goireasan K8s air an sònrachadh le neach-cleachdaidh a dhearbhadh (CustomResourceDefinition, CRD). Tha foillseachadh OpenAPI airson CRD a’ ceadachadh teachdaichean (m.e. kubectl) dèan dearbhadh air do thaobh (taobh a-staigh kubectl create и kubectl apply) agus cuir a-mach sgrìobhainnean a rèir an sgeama (kubectl explain). Mion-fhiosrachadh - a-steach CAP.

Logaichean a tha ann mu thràth a' fosgladh a nis le bratach O_APPEND (ach chan eil O_TRUNC) gus logaichean a sheachnadh ann an cuid de shuidheachaidhean agus airson goireasachd a bhith a’ gearradh logaichean le goireasan taobh a-muigh airson cuairteachadh.

Cuideachd ann an co-theacsa an Kubernetes API, faodar a thoirt fa-near gu bheil ann an PodSandbox и PodSandboxStatus air a chur ris achadh runtime_handler airson fiosrachadh a chlàradh mu dheidhinn RuntimeClass anns a’ phod (leugh tuilleadh mu dheidhinn anns an teacsa mu dheidhinn Tionndadh Kubernetes 1.12, far an do nochd an clas seo mar dhreach alpha), agus ann an Admission Webhooks air a chur an gnìomh comas co-dhùnadh dè na dreachan AdmissionReview tha iad a’ toirt taic. Mu dheireadh, tha na riaghailtean inntrigidh Webhooks a-nis faodar a chuingealachadh ìre an cleachdadh le beàrnan ainmean agus frèaman cnuasachaidh.

Stòradh

PersistentLocalVolumes, aig an robh inbhe beta bho chaidh a leigeil ma sgaoil K8s 1.10, ainmeachadh seasmhach (GA): chan eil an geata feart seo ciorramach tuilleadh agus thèid a thoirt air falbh ann an Kubernetes 1.17.

Comas cleachdadh caochladairean àrainneachd ris an canar API sìos (mar eisimpleir, an t-ainm pod) airson ainmean chlàran air an cur suas mar subPath, a leasachadh - ann an cruth achadh ùr subPathExpr, a tha a-nis air a chleachdadh gus an t-ainm eòlaire a tha thu ag iarraidh a dhearbhadh. Nochd am feart an toiseach ann an Kubernetes 1.11, ach airson 1.14 bha e fhathast ann an inbhe dreach alpha.

Coltach ris an fhoillseachadh Kubernetes roimhe seo, tha mòran atharrachaidhean mòra air an toirt a-steach airson an CSI a tha gu gnìomhach a’ leasachadh (Eadar-aghaidh Stòradh Container):

CSI

Ri fhaighinn (mar phàirt den tionndadh alpha) taic ag ath-mheudachadh airson meudan CSI. Gus a chleachdadh feumaidh tu an geata feart ris an canar a chomasachadh ExpandCSIVolumes, a bharrachd air taic ri fhaighinn airson an obrachaidh seo ann an draibhear CSI sònraichte.

Feart eile airson CSI anns an tionndadh alpha - cothrom thoir iomradh dìreach (ie gun a bhith a’ cleachdadh PV/PVC) gu meudan CSI taobh a-staigh an t-sònrachadh pod. Seo a’ toirt air falbh a’ bhacadh air cleachdadh CSI mar stòradh dàta iomallach a-mhàin, a’ fosgladh dhorsan don t-saoghal dhaibh meudan geàrr-ùine ionadail. Airson cleachdadh (eisimpleir bho sgrìobhainnean) feumar a chur an comas CSIInlineVolume geata feart.

Chaidh adhartas a dhèanamh cuideachd anns na “taobh a-staigh” de Kubernetes co-cheangailte ri CSI, nach eil cho follaiseach do luchd-cleachdaidh deireannach (luchd-rianachd an t-siostaim) ... An-dràsta, feumaidh luchd-leasachaidh taic a thoirt do dhà dhreach de gach plugan stòraidh: aon - “anns an seann dòigh”, taobh a-staigh còd K8s (ann an -tree), agus an dàrna fear - mar phàirt den CSI ùr (leugh tuilleadh mu dheidhinn, mar eisimpleir, ann an an seo). Tha seo ag adhbhrachadh mì-ghoireasachd so-thuigsinn ris am feumar dèiligeadh mar a bhios CSI fhèin a’ bunailteachadh. Chan eil e comasach dìreach an API de plugins a-staigh (in-tree) a lughdachadh air sgàth poileasaidh Kubernetes buntainneach.

Dh'adhbhraich seo uile gun do ràinig an tionndadh alpha pròiseas imrich Còd plugan a-staigh, air a chuir an gnìomh mar in-craobh, ann am plugins CSI, le taing dha sin thèid draghan luchd-leasachaidh a lughdachadh gu bhith a’ toirt taic do aon dreach de na plugins aca, agus fuirichidh co-chòrdalachd le seann APIan agus faodar an ainmeachadh gun fheum san t-suidheachadh àbhaisteach. Thathas an dùil ron ath fhoillseachadh de Kubernetes (1.15) gun tèid a h-uile plugan solaraiche sgòthan a ghluasad, gheibh am buileachadh inbhe beta agus thèid a chuir an gnìomh ann an ionadan K8s gu bunaiteach. Airson mion-fhiosrachadh, faic moladh dealbhaidh. Thàinig an gluasad seo gu buil cuideachd отказ bho chrìochan meud air am mìneachadh le solaraichean sgòthan sònraichte (AWS, Azure, GCE, Cinder).

A bharrachd air an sin, taic airson innealan bloca le CSI (CSIBlockVolume) air a ghluasad gu tionndadh beta.

Nòtaichean/Cubelet

Tionndadh Alpha air a thaisbeanadh puing crìochnachaidh ùr ann an Kubelet, air a dhealbhadh airson slatan-tomhais tilleadh air prìomh stòrasan. San fharsaingeachd, nam biodh Kubelet roimhe seo air staitistig fhaighinn mu chleachdadh soithichean bho cAdvisor, a-nis tha an dàta seo a’ tighinn bho àrainneachd ùine ruith nan soithichean tro CRI (Container Runtime Interface), ach tha co-chòrdalachd airson a bhith ag obair le dreachan nas sine de Docker cuideachd air a ghleidheadh. Roimhe sin, chaidh staitistig a chaidh a chruinneachadh ann an Kubelet a chuir tron ​​​​REST API, ach a-nis tha àite crìochnachaidh suidhichte aig /metrics/resource/v1alpha1. Ro-innleachd fad-ùine de luchd-leasachaidh tha a bhith a’ lughdachadh an t-seata de mheatairean a thug Kubelet seachad. Co-dhiù, na slatan-tomhais sin iad fhèin nis glaodhaidh iad chan e “prìomh mheatrics”, ach “meatrics stòrais”, agus tha iad air am mìneachadh mar “goireasan den chiad ìre, leithid cpu, agus cuimhne”.

Mion-fhiosrachadh inntinneach: a dh’ aindeoin a ’bhuannachd coileanaidh soilleir a tha aig puing crìochnachaidh gRPC an taca ri diofar chùisean de bhith a’ cleachdadh cruth Prometheus (faic toradh aon de na slatan-tomhais gu h-ìosal), b’ fheàrr leis na h-ùghdaran cruth teacsa Prometheus air sgàth ceannas soilleir an t-siostam sgrùdaidh seo sa choimhearsnachd.

“Chan eil gRPC co-chòrdail ri prìomh phìoban sgrùdaidh. Cha bhith Endpoint feumail ach airson metrics a lìbhrigeadh gu Metrics Server no sùil a chumail air pàirtean a bhios ag amalachadh gu dìreach leis. Coileanadh cruth teacsa Prometheus nuair a bhios tu a’ cleachdadh caching ann am Metrics Server math gu leòr airson gum b’ fheàrr leinn Prometheus na gRPC leis gu bheil gabhail ri Prometheus gu farsaing sa choimhearsnachd. Cho luath ‘s a dh’ fhàsas cruth OpenMetrics nas seasmhaiche, bidh e comasach dhuinn dèiligeadh ri coileanadh gRPC le cruth stèidhichte air proto. ”

Kubernetes 1.14: Prìomh thachartasan de na tha ùr
Aon de na deuchainnean coileanaidh coimeasach air a bhith a’ cleachdadh chruthan gRPC agus Prometheus ann an ceann-uidhe ùr Kubelet airson meatrach. Gheibhear barrachd ghrafaichean agus mion-fhiosrachadh eile ann an CAP.

Am measg atharrachaidhean eile:

  • Kubelet a-nis (aon turas) a' feuchainn ri stad soithichean ann an staid neo-aithnichte mus tòisich iad air ais agus cuir às do ghnìomhachd.
  • Nuair a bhios tu a 'cleachdadh PodPresets a nis do'n t-soitheach init air a chur ris an aon fhiosrachadh agus airson soitheach àbhaisteach.
  • Ciùb thòisich e air a chleachdadh usageNanoCores bhon t-solaraiche staitistig CRI, agus airson nodan agus soithichean air Windows air a chur ris staitistig lìonra.
  • Tha fiosrachadh siostam obrachaidh agus ailtireachd a-nis air a chlàradh ann an bileagan kubernetes.io/os и kubernetes.io/arch Nithean noda (air a ghluasad bho beta gu GA).
  • Comas buidheann cleachdaiche siostam sònraichte a shònrachadh airson soithichean ann am pod (RunAsGroup, nochd ann an K8s 1.11) adhartach ro beta (air a chomasachadh gu bunaiteach).
  • du agus lorg air a chleachdadh ann an cAdvisor, air a chur na àite buileachadh on Go.

CLI

Ann an cli-runtime agus kubectl air a chur ris flag -k airson amalachadh le gnàthaich (leis an t-slighe, tha a leasachadh a-nis air a dhèanamh ann an stòr air leth), i.e. gus faidhlichean YAML a bharrachd a phròiseasadh bho chlàran kustomization sònraichte (airson mion-fhiosrachadh mu bhith gan cleachdadh, faic CAP):

Kubernetes 1.14: Prìomh thachartasan de na tha ùr
Eisimpleir de chleachdadh faidhle sìmplidh gnàthachadh (tha cleachdadh nas iom-fhillte de kustomize comasach taobh a-staigh ath-chòmhdach)

A thuilleadh air:

  • Air a chur ris sgioba ùr kubectl create cronjob, aig am bheil ainm a' labhairt air a shon fèin.
  • В kubectl logs a-nis faodaidh tu a chur còmhla brataichean -f (--follow airson clàran sruthadh) agus -l (--selector airson ceist leubail).
  • cubectl teagasg dèan lethbhreac de na faidhlichean air an taghadh le cairt fiadhaich.
  • Don sgioba kubectl wait air a chur ris bratach --all gus a h-uile goireas a thaghadh ann an ainm an t-seòrsa stòrais ainmichte.

Eile

Tha na comasan a leanas air inbhe seasmhach (GA) fhaighinn:

Atharraichean eile air an toirt a-steach ann an Kubernetes 1.14:

  • Chan eil poileasaidh bunaiteach RBAC a’ ceadachadh ruigsinneachd API tuilleadh discovery и access-review luchd-cleachdaidh gun dearbhadh (gun dearbhadh).
  • Taic oifigeil CoreDNS cinnteach Linux a-mhàin, mar sin nuair a bhios tu a’ cleachdadh kubeadm airson a chuir a-steach (CoreDNS) ann am brabhsair, feumaidh nodan ruith air Linux a-mhàin (bidh nodeSelectors gan cleachdadh airson a’ chuingealachadh seo).
  • Tha an rèiteachadh bunaiteach CoreDNS a-nis cleachdaidhean plugan air adhart an àite neach-ionaid. Cuideachd, ann an CoreDNS air a chur ris readinessProbe, a chuireas casg air cothromachadh luchdan air pods iomchaidh (nach eil deiseil airson seirbheis).
  • Ann an kubeadm, air ìrean init no upload-certs, dh’ fhàs comasach luchdaich na teisteanasan a tha a dhìth gus am plèana-smachd ùr a cheangal ri dìomhair kubeadm-certs (cleachd am bratach --experimental-upload-certs).
  • Tha tionndadh alpha air nochdadh airson ionadan Windows taic gMSA (Cunntas Seirbheis Stiùirichte Buidhne) - cunntasan sònraichte ann an Active Directory a ghabhas cleachdadh le soithichean cuideachd.
  • Airson G.C.E. air a chur an gnìomh crioptachadh mTLS eadar etcd agus kube-apiserver.
  • Ùrachaidhean ann am bathar-bog cleachdte / eisimeil: Rach 1.12.1, CSI 1.1, taic CoreDNS 1.3.1, Docker 18.09 ann an kubeadm, agus is e an tionndadh API Docker as lugha le taic a-nis 1.26.

PS

Leugh cuideachd air ar blog:

Source: www.habr.com

Cuir beachd ann