Kubernetes 1.17: Uchafbwyntiau o'r hyn sy'n newydd
Ddoe, Rhagfyr 9, ddigwyddodd datganiad nesaf Kubernetes - 1.17. Yn ôl y traddodiad sydd wedi datblygu ar gyfer ein blog, rydym yn siarad am y newidiadau mwyaf arwyddocaol yn y fersiwn newydd.
Daw’r wybodaeth a ddefnyddiwyd i baratoi’r deunydd hwn o’r cyhoeddiad swyddogol, Tablau olrhain gwelliannau Kubernetes, CHANGELOG-1.17 a materion cysylltiedig, ceisiadau tynnu, a Chynigion Gwella Kubernetes (KEP). Felly, beth sy'n newydd?..
Llwybro sy'n ymwybodol o dopoleg
Mae cymuned Kubernetes wedi bod yn aros am y nodwedd hon ers amser maith - Llwybro gwasanaeth sy'n ymwybodol o dopoleg. Os CAP mae'n tarddu ym mis Hydref 2018, a'r swyddogol gwella - 2 flynedd yn ôl, y materion arferol (fel o hyn) - ac ychydig flynyddoedd yn hŷn ...
Y syniad cyffredinol yw darparu'r gallu i weithredu llwybro “lleol” ar gyfer gwasanaethau sy'n byw yn Kubernetes. Mae “ardal” yn yr achos hwn yn golygu “yr un lefel topolegol” (lefel topoleg), a all fod yn:
nod union yr un fath ar gyfer gwasanaethau,
yr un rac gweinydd,
yr un rhanbarth
yr un darparwr cwmwl,
...
Enghreifftiau o ddefnyddio'r nodwedd hon:
arbedion ar draffig mewn gosodiadau cwmwl gyda pharthau argaeledd lluosog (aml-AZ) - gweler. darluniad ffres defnyddio'r enghraifft o draffig o'r un rhanbarth, ond gwahanol AZ yn AWS;
perfformiad cudd is/gwell trwybwn;
gwasanaeth wedi'i dorri'n ddarnau sydd â gwybodaeth leol am y nod ym mhob darn;
lleoli rhugl (neu analogau) ar yr un nod gyda'r cymwysiadau y mae eu logiau'n cael eu casglu;
I gael manylion am sut mae'r nodwedd yn gweithio a sut y gallwch chi ei defnyddio eisoes, darllenwch Mae'r erthygl hon yn gan un o'r awduron.
Cefnogaeth pentwr deuol IPv4 / IPv6
Cynnydd sylweddol sefydlog mewn nodwedd rhwydwaith arall: cefnogaeth ar yr un pryd ar gyfer dau bentwr IP, a gyflwynwyd gyntaf yn K8s 1.16. Yn benodol, daeth y datganiad newydd â'r newidiadau canlynol:
mewn ciwb-procsi gweithredu posibilrwydd o weithredu ar yr un pryd yn y ddau fodd (IPv4 a IPv6);
в Pod.Status.PodIPsymddangos cefnogaeth ar gyfer API i lawr (ar yr un pryd ag yn /etc/hosts nawr mae angen i'r gwesteiwr ychwanegu cyfeiriad IPv6);
cymorth pentwr deuol FATH (Kubernetes IN Docker) a kubeadm;
profion e2e wedi'u diweddaru.
Darlun gan ddefnyddio pentwr deuol IPV4/IPv6 mewn KIND
Cynnydd ar DPC
Wedi'i ddatgan yn sefydlog cymorth topoleg ar gyfer storio sy'n seiliedig ar CSI, a gyflwynwyd gyntaf yn K8s 1.12.
Menter ar gyfer mudo ategion cyfaint i CSI - CSI Mudo - cyrraedd fersiwn beta. Mae'r nodwedd hon yn hanfodol er mwyn cyfieithu ategion storio presennol (yn y goeden) i ryngwyneb modern (CSI, tu allan i'r goeden) anweledig i ddefnyddwyr terfynol Kubernetes. Dim ond CSI Migration y bydd angen i weinyddwyr clwstwr ei alluogi, ac ar ôl hynny bydd yr adnoddau a'r llwythi gwaith nodedig presennol yn parhau i “ddim ond yn gweithio”... ond gan ddefnyddio'r gyrwyr CSI diweddaraf yn lle'r rhai hen ffasiwn sydd wedi'u cynnwys yng nghraidd Kubernetes.
Ar hyn o bryd, mae mudo ar gyfer gyrwyr AWS EBS yn barod mewn fersiwn beta (kubernetes.io/aws-ebs) a TAG PD (kubernetes.io/gce-pd). Mae'r rhagolygon ar gyfer cyfleusterau storio eraill fel a ganlyn:
Buom yn siarad am sut y daeth cymorth storio “traddodiadol” mewn K8s i CSI i mewn Mae'r erthygl hon yn. Ac mae trosglwyddo mudo CSI i statws beta yn ymroddedig i cyhoeddiad ar wahân ar blog y prosiect.
Yn ogystal, cyrhaeddodd swyddogaeth arwyddocaol arall yng nghyd-destun CSI, sy'n tarddu (gweithredu alffa) yn K1.17s 8, statws beta (h.y. wedi'i alluogi yn ddiofyn) yn natganiad Kubernetes 1.12 - creu cipluniau ac adferiad oddi wrthynt. Ymhlith y newidiadau a wnaed i Kubernetes Volume Snapshot ar y ffordd i ryddhau beta:
rhannu'r car ochr ciplun allanol CSI yn ddau reolwr,
gyfrinach ychwanegol i'w dileu (cyfrinach dileu) fel anodiad i gynnwys ciplun cyfrol,
terfynwr newydd (terfynol) i atal y gwrthrych API ciplun rhag cael ei ddileu os oes cysylltiadau yn weddill.
Ar adeg rhyddhau 1.17, cefnogir y nodwedd gan dri gyrrwr CSI: Gyrrwr CSI Disg Parhaus TAG, Gyrrwr CSI Portworx a Gyrrwr CSI NetApp Trident. Ceir rhagor o fanylion am ei weithrediad a’i ddefnydd yn y cyhoeddiad hwn ar y blog.
Labeli Darparwr Cwmwl
Labeli sy'n awtomatig wedi'i neilltuo i nodau a chyfeintiau a grëwyd yn dibynnu ar y darparwr cwmwl a ddefnyddir, wedi bod ar gael yn Kubernetes fel fersiwn beta ers amser maith - ers rhyddhau K8s 1.2 (Ebrill 2016!). O ystyried eu defnydd eang am gymaint o amser, datblygwyr penderfynwyd, ei bod yn bryd datgan y nodwedd yn sefydlog (GA).
Felly, cawsant eu hail-enwi yn unol â hynny (yn ôl topoleg):
... ond yn dal i fod ar gael o dan eu hen enwau (am yn ôl cydnawsedd). Fodd bynnag, argymhellir bod pob gweinyddwr yn newid i labeli cyfredol. Dogfennau Cysylltiedig Mae K8s wedi'u diweddaru.
Cymhelliant i weithredu'r nodwedd hon (yn ôl CAP) yw:
Er y gellir defnyddio Kubernetes â llaw, y safon de facto (os nad de jure) ar gyfer y llawdriniaeth hon yw defnyddio kubeadm. Mae offer rheoli systemau poblogaidd fel Terraform yn dibynnu ar kubeadm ar gyfer defnyddio Kubernetes. Mae gwelliannau arfaethedig i'r API Clwstwr yn cynnwys pecyn cyfansawdd ar gyfer Kubernetes bootstrapping gyda kubeadm a cloud-init.
Heb allbwn strwythuredig, gall hyd yn oed y newidiadau mwyaf diniwed ar yr olwg gyntaf dorri Terraform, Cluster API a meddalwedd arall sy'n defnyddio canlyniadau kubeadm.
Mae ein cynlluniau uniongyrchol yn cynnwys cefnogaeth (ar ffurf allbwn strwythuredig) ar gyfer y gorchmynion kubeadm canlynol:
alpha certs
config images list
init
token create
token list
upgrade plan
version
Darlun o ymateb JSON i orchymyn kubeadm init -o json:
Yn gyffredinol, rhyddhawyd Kubernetes 1.17 o dan yr arwyddair “Sefydlogrwydd" Hwyluswyd hyn gan y ffaith bod llawer o nodweddion ynddo (cyfanswm eu nifer yw 14) wedi derbyn statws GA. Yn eu plith:
Gwyliwch Nodau Tudalen - math newydd o ddigwyddiadau sydd â label bod pob gwrthrych hyd at fersiwn benodol (resourceVersion) eisoes wedi'u prosesu gan oriawr;
"amddiffyniad terfynol" (Diogelu Terfynolwr) ar gyfer balanswyr llwyth (gwirio'r adnoddau Gwasanaeth cyfatebol cyn dileu adnoddau LoadBalancer);
optimeiddio kube-apiserver mewn perfformiad wrth weithio gyda gwylio lluosog monitro setiau unfath o wrthrychau - cyflawni drwy osgoi cyfresoli dro ar ôl tro o'r un gwrthrychau ar gyfer pob gwyliwr.
Newidiadau eraill
Nid yw'r rhestr lawn o ddatblygiadau arloesol yn Kubernetes 1.17, wrth gwrs, yn gyfyngedig i'r rhai a restrir uchod. Dyma rai eraill (ac am restr fwy cyflawn, gw CHANGELOG):
newid tebyg digwyddodd API EndpointSlice (hefyd o K8s 1.16), fodd bynnag am y tro nid yw'r datrysiad hwn i wella perfformiad / graddadwyedd yr API Endpoint wedi'i alluogi yn ddiofyn;
mae codennau bellach yn hanfodol ar gyfer gweithrediad clwstwr gellir ei greu nid yn unig mewn gofodau enwau kube-system(am fanylion, gweler y ddogfennaeth ar gyfer Cyfyngu defnydd Dosbarth Blaenoriaeth);
opsiwn newydd ar gyfer kubelet - --reserved-cpus — yn caniatáu ichi ddiffinio'n benodol y rhestr o CPUs a gedwir ar gyfer y system;
gyfer kubectl logswedi'i gyflwyno baner newydd --prefix, gan ychwanegu enw'r pod a'r cynhwysydd ffynhonnell i bob llinell o'r log;