Í gær, 9. desember, fór fram næsta útgáfa af Kubernetes - 1.17. Samkvæmt þeirri hefð sem hefur skapast fyrir bloggið okkar, tölum við um mikilvægustu breytingarnar í nýju útgáfunni.
Upplýsingarnar sem notaðar eru til að útbúa þetta efni eru teknar úr opinberri tilkynningu, Kubernetes endurbætur rakningartöflur, BREYTINGAR-1.17 og tengd málefni, dráttarbeiðnir og Kubernetes Enhancement Proposals (KEP). Hvað er títt?..
Staðfræði-meðvituð leið
Kubernetes samfélagið hefur beðið eftir þessum eiginleika í langan tíma - Þjónustuleiðir sem eru meðvitaðir um gróðurfræði. Ef KEP það er upprunnið í október 2018, og opinber aukahlutur — Fyrir 2 árum, venjuleg mál (eins og af þessu) - og nokkrum árum eldri...
Almenn hugmynd er að bjóða upp á getu til að innleiða „staðbundna“ leið fyrir þjónustu sem býr í Kubernetes. „Staðsetning“ þýðir í þessu tilfelli „sama staðfræðilega stig“ (staðfræðistig), sem getur verið:
hnútur eins fyrir þjónustu,
sama netþjóna rekki,
sama svæði
sama skýjafyrirtækið,
...
Dæmi um notkun þessa eiginleika:
sparnaður á umferð í skýjauppsetningum með mörgum framboðssvæðum (multi-AZ) - sjá. fersk mynd að nota dæmi um umferð frá sama svæði, en mismunandi AZ í AWS;
minni afköst leynd/betra afköst;
sundruð þjónusta sem hefur staðbundnar upplýsingar um hnútinn í hverju broti;
staðsetning fluentd (eða hliðstæður) á sama hnút með forritunum þar sem annálum er safnað;
Til að fá upplýsingar um hvernig aðgerðin virkar og hvernig þú getur nú þegar notað hann, lestu Þessi grein frá einum höfundanna.
IPv4/IPv6 tvískiptur stafla stuðningur
Verulegar framfarir fastur í öðrum neteiginleika: samtímis stuðningur við tvo IP stafla, sem fyrst var kynntur í K8s 1.16. Sérstaklega færði nýja útgáfan eftirfarandi breytingar:
í kube-proxy komið til framkvæmda möguleiki á samtímis notkun í báðum stillingum (IPv4 og IPv6);
в Pod.Status.PodIPsbirtist stuðningur við API niður á við (á sama tíma og í /etc/hosts nú þurfa þeir að gestgjafinn bæti við IPv6 vistfangi);
stuðningur við tvöfaldan stafla KIND (Kubernetes IN Docker) og kubeadm;
Frumkvæði fyrir flutningur á bindiviðbótum yfir í CSI - CSI Flutningur - náði beta útgáfu. Þessi eiginleiki er mikilvægur til að þýða núverandi geymsluviðbætur (í tré) við nútímalegt viðmót (CSI, utan trés) ósýnilegt fyrir endanotendur Kubernetes. Klasastjórnendur þurfa aðeins að virkja CSI Migration, eftir það munu núverandi tilföng og vinnuálag halda áfram að „bara virka“... en nota nýjustu CSI reklana í stað þeirra úreltu sem eru í Kubernetes kjarnanum.
Í augnablikinu er flutningur fyrir AWS EBS rekla tilbúinn í beta útgáfu (kubernetes.io/aws-ebs) og GCE PD (kubernetes.io/gce-pd). Spár fyrir aðrar geymslur eru sem hér segir:
Við ræddum um hvernig „hefðbundinn“ geymslustuðningur í K8s kom til CSI Þessi grein. Og umskipti CSI flutnings yfir í beta stöðu er tileinkað sérstakri útgáfu á verkefnisblogginu.
Að auki náði annar mikilvægur virkni í tengslum við CSI, sem er upprunninn (alfa útfærsla) í K1.17s 8, beta stöðu (þ.e. virkjuð sjálfgefið) í Kubernetes 1.12 útgáfunni - búa til skyndimyndir og bata frá þeim. Meðal breytinga sem gerðar voru á Kubernetes Volume Snapshot á leiðinni til beta útgáfu:
að skipta CSI ytri skyndimyndarhliðarvagninum í tvo stýringar,
bætt við leyndarmáli til eyðingar (eyða leyndarmál) sem athugasemd við innihald skyndimyndar bindis,
nýr lokaritari (endari) til að koma í veg fyrir að skyndimynd API hlutnum sé eytt ef tengingar eru eftir.
Við útgáfu 1.17 er eiginleikinn studdur af þremur CSI rekla: GCE Persistent Disk CSI Driver, Portworx CSI Driver og NetApp Trident CSI Driver. Nánari upplýsingar um útfærslu þess og notkun er að finna í þessa útgáfu á blogginu.
Merki fyrir skýjaveitur
Merkir sem sjálfkrafa úthlutað til búna hnúta og bindi eftir því hvaða skýjaveita er notuð, hafa verið fáanlegir í Kubernetes sem beta útgáfu í mjög langan tíma - frá útgáfu K8s 1.2 (apríl 2016!). Í ljósi víðtækrar notkunar þeirra svo lengi, verktaki ákveðið, að það sé kominn tími til að lýsa eiginleikanum stöðugum (GA).
Þess vegna voru þeir allir endurnefndir í samræmi við það (eftir staðfræði):
... en eru enn fáanlegir undir gömlu nöfnunum (fyrir bakábakssamhæfi). Hins vegar er mælt með því að allir stjórnendur skipti yfir í núverandi merki. Tengd skjöl K8s hefur verið uppfært.
Hvatning til að innleiða þennan eiginleika (skv KEP) er:
Þó að hægt sé að nota Kubernetes handvirkt, er raunverulegur (ef ekki de jure) staðallinn fyrir þessa aðgerð að nota kubeadm. Vinsæl kerfisstjórnunartæki eins og Terraform treysta á kubeadm fyrir uppsetningu Kubernetes. Fyrirhugaðar endurbætur á Cluster API innihalda samsettan pakka fyrir Kubernetes bootstrapping með kubeadm og cloud-init.
Án skipulögðrar framleiðslu geta jafnvel skaðlausustu breytingarnar við fyrstu sýn brotið Terraform, Cluster API og annan hugbúnað sem notar niðurstöður kubeadm.
Almennt séð fór útgáfa Kubernetes 1.17 fram undir kjörorðinu "Stöðugleiki" Þetta var auðveldað af því að margir eiginleikar í því (heildarfjöldi þeirra er 14) fékk GA stöðu. Meðal þeirra:
"lokavörn" (Lokavörn) fyrir álagsjafnara (athugaðu samsvarandi þjónustutilföng áður en LoadBalancer tilföngum er eytt);
kúbe-apiserver hagræðingu í frammistöðu þegar unnið er með mörgum úrum sem fylgjast með sams konar hlutum - náð með því að forðast endurtekna röðun á sömu hlutunum fyrir hvern áhorfanda.
Aðrar breytingar
Listinn yfir nýjungar í Kubernetes 1.17 er auðvitað ekki takmarkaður við þær sem taldar eru upp hér að ofan. Hér eru nokkrir aðrir (og fyrir frekari lista, sjá SKIPTI):
svipuð breyting kom fyrir EndpointSlice API (einnig frá K8s 1.16), en í augnablikinu er þessi lausn til að bæta frammistöðu/stærðni Endpoint API ekki sjálfgefið virkjuð;