Kubernetes 1.17: Mga highlight sa kung unsa ang bag-o
Kagahapon, Disyembre 9, nahitabo sunod nga pagpagawas sa Kubernetes - 1.17. Sumala sa tradisyon nga naugmad alang sa among blog, naghisgot kami bahin sa labing hinungdanon nga mga pagbag-o sa bag-ong bersyon.
Ang impormasyon nga gigamit sa pag-andam niini nga materyal gikuha gikan sa opisyal nga pahibalo, Mga lamesa sa pagsubay sa mga pagpaayo sa Kubernetes, CHANGELOG-1.17 ug may kalabutan nga mga isyu, pull request, ug Kubernetes Enhancement Proposals (KEP). Busa, unsa ang bag-o? ..
Topology-aware nga ruta
Ang komunidad sa Kubernetes dugay nang naghulat alang niini nga bahin - Topology-aware nga serbisyo routing. Kon GIPANGITA ni KEP kini naggikan sa Oktubre 2018, ug ang opisyal gipanindot β 2 ka tuig na ang milabay, ang naandan nga mga isyu (sama sa kini) - ug pila pa ka tuig ang edad ...
Ang kinatibuk-ang ideya mao ang paghatag ug katakus sa pagpatuman sa "lokal" nga ruta para sa mga serbisyo nga nagpuyo sa Kubernetes. Ang "Lokalidad" niini nga kaso nagpasabut nga "parehas nga lebel sa topological" (topology nga lebel), nga mahimong:
node parehas alang sa mga serbisyo,
parehas nga rack sa server,
parehas nga rehiyon
parehas nga cloud provider,
...
Mga pananglitan sa paggamit niini nga feature:
pagtipig sa trapiko sa mga pag-install sa panganod nga adunay daghang mga sona nga magamit (multi-AZ) - tan-awa. bag-ong ilustrasyon gamit ang panig-ingnan sa trapiko gikan sa samang rehiyon, apan lain-laing mga AZ sa AWS;
ubos nga performance latency / mas maayo nga throughput;
usa ka sharded nga serbisyo nga adunay lokal nga kasayuran bahin sa node sa matag shard;
pagbutang sa fluentd (o mga analogue) sa parehas nga node sa mga aplikasyon kansang mga troso gikolekta;
Para sa mga detalye kung giunsa ang paggana sa feature ug kung giunsa nimo kini magamit, basaha kini nga artikulo gikan sa usa sa mga tagsulat.
IPv4/IPv6 dual stack nga suporta
Mahinungdanon nga pag-uswag naayo sa laing bahin sa network: dungan nga suporta alang sa duha ka IP stacks, nga unang gipaila sa K8s 1.16. Sa partikular, ang bag-ong pagpagawas nagdala sa mosunod nga mga pagbag-o:
sa kube-proxy gipatuman posibilidad sa dungan nga operasyon sa duha ka mga mode (IPv4 ug IPv6);
Π² Pod.Status.PodIPsnagpakita suporta alang sa ubos nga API (sa parehas nga oras sama sa /etc/hosts karon gikinahanglan nila ang host nga magdugang ug IPv6 address);
dual stack nga suporta KIND (Kubernetes SA Docker) ug kubeadm;
gi-update nga e2e nga mga pagsulay.
Ilustrasyon gamit ang dual stack IPV4/IPv6 sa KIND
Inisyatibo para sa paglalin sa volume plugins ngadto sa CSI - CSI Paglalin - nakaabot sa beta nga bersyon. Kini nga bahin hinungdanon aron mahubad ang naglungtad nga mga plugin sa pagtipig (sa-kahoy) sa usa ka modernong interface (CSI, wala sa punoan) dili makita sa mga end user sa Kubernetes. Ang mga administrador sa pundok kinahanglan lamang nga makahimo sa CSI Migration, nga human niini ang kasamtangan nga stateful nga mga kapanguhaan ug mga workloads magpadayon sa "pagtrabaho lang" ... apan ang paggamit sa pinakabag-o nga mga drayber sa CSI imbes sa mga wala na sa panahon nga gilakip sa Kubernetes core.
Sa pagkakaron, ang paglalin para sa AWS EBS drivers andam na sa beta version (kubernetes.io/aws-ebs) ug GCE PD (kubernetes.io/gce-pd). Ang mga panagna alang sa ubang mga pasilidad sa pagtipig mao ang mosunod:
Naghisgot kami kung giunsa ang "tradisyonal" nga suporta sa pagtipig sa K8s miabot sa CSI kini nga artikulo. Ug ang transisyon sa CSI migration ngadto sa beta status gipahinungod sa lahi nga publikasyon sa blog sa proyekto.
Dugang pa, usa pa ka hinungdanon nga pag-andar sa konteksto sa CSI, nga nagsugod (implementasyon sa alpha) sa K1.17s 8, nakaabot sa status sa beta (ie gi-enable pinaagi sa default) sa pagpagawas sa Kubernetes 1.12 - paghimo og mga snapshot ug pagkaayo gikan kanila. Lakip sa mga pagbag-o nga gihimo sa Kubernetes Volume Snapshot sa dalan sa pagpagawas sa beta:
pagbahin sa CSI external-snapshotter sidecar ngadto sa duha ka controllers,
gidugang sekreto para sa pagtangtang (sekreto sa pagtangtang) isip annotation sa sulod sa volume snapshot,
bag-ong finalizer (finalizer) aron mapugngan ang snapshot API object nga matangtang kung adunay nahabilin nga mga koneksyon.
Sa panahon sa pagpagawas sa 1.17, ang feature gisuportahan sa tulo ka CSI drivers: GCE Persistent Disk CSI Driver, Portworx CSI Driver ug NetApp Trident CSI Driver. Ang dugang nga mga detalye bahin sa pagpatuman ug paggamit niini makita sa niini nga publikasyon sa blog.
Mga Label sa Cloud Provider
Mga label nga awtomatiko gi-assign sa gibuhat nga mga node ug volume depende sa cloud provider nga gigamit, anaa na sa Kubernetes isip beta nga bersyon sa dugay kaayong panahon - sukad sa pagpagawas sa K8s 1.2 (Abril 2016!). Tungod sa ilang kaylap nga paggamit sa dugay nga panahon, ang mga developers nakahukom, nga panahon na nga ideklara ang feature stable (GA).
Busa, silang tanan giilisan sumala sa ngalan (pinaagi sa topology):
... apan anaa gihapon ubos sa ilang daan nga mga ngalan (alang sa paatras nga pagkaangay). Bisan pa, girekomenda ang tanan nga mga administrador nga magbalhin sa mga karon nga label. May Kalabutan nga Dokumentasyon Gi-update ang K8s.
Pagdasig sa pagpatuman niini nga bahin (sumala sa GIPANGITA ni KEP) mao ang:
Samtang ang Kubernetes mahimong i-deploy sa mano-mano, ang de facto (kon dili de jure) nga sumbanan alang niini nga operasyon mao ang paggamit sa kubeadm. Ang popular nga mga himan sa pagdumala sa sistema sama sa Terraform nagsalig sa kubeadm alang sa pag-deploy sa Kubernetes. Ang giplano nga mga pagpaayo sa Cluster API naglakip sa usa ka composable package para sa Kubernetes bootstrap nga adunay kubeadm ug cloud-init.
Kung walaβy istruktura nga output, bisan ang labing dili makadaot nga mga pagbag-o sa una nga pagtan-aw mahimong makaguba sa Terraform, Cluster API ug uban pang software nga naggamit sa mga resulta sa kubeadm.
Ang among hinanaling mga plano naglakip sa suporta (sa porma sa structured output) para sa mosunod nga mga kubeadm commands:
alpha certs
config images list
init
token create
token list
upgrade plan
version
Ilustrasyon sa tubag sa JSON sa usa ka sugo kubeadm init -o json:
Sa kinatibuk-an, ang pagpagawas sa Kubernetes 1.17 nahitabo ubos sa motto "Kalig-on" Gipadali kini sa kamatuoran nga daghang mga bahin niini (ang ilang kinatibuk-ang gidaghanon mao ang 14) nakadawat sa status sa GA. Lakip kanila:
Tan-awa ang mga Bookmark - usa ka bag-ong klase sa mga panghitabo nga adunay label nga ang tanan nga mga butang hangtod sa usa ka piho nga bersyon (resourceVersion) giproseso na sa relo;
"panalipod sa finalizer" (Proteksyon sa Finalizer) para sa mga load balancer (pagsusi sa katugbang nga mga kapanguhaan sa Serbisyo sa dili pa tangtangon ang mga kapanguhaan sa LoadBalancer);
pag-optimize sa kube-apiserver sa pasundayag kung nagtrabaho uban ang daghang mga relo nga nagmonitor sa parehas nga mga set sa mga butang - makab-ot pinaagi sa paglikay sa gibalikbalik nga serialization sa parehas nga mga butang alang sa matag tigbantay.
Uban pang mga pagbag-o
Ang bug-os nga listahan sa mga inobasyon sa Kubernetes 1.17, siyempre, dili limitado sa mga nalista sa ibabaw. Ania ang uban pa (ug alang sa mas kompleto nga lista, tan-awa PAGBAG-O):
susama nga pagbag-o nahitabo EndpointSlice API (gikan usab sa K8s 1.16), apan sa pagkakaron kini nga solusyon aron mapausbaw ang performance/scalability sa Endpoint API wala ma-enable pinaagi sa default;