Namuhla, ngoLwesithathu,
Ulwazi olusetshenziselwe ukulungisa le nto ithathwe kuyo
Izinombolo
Inani elikhulu ngempela lezinto ezintsha eziqanjiwe (ngesimo senguqulo ye-alpha) zethulwa ohlangothini lwama-cluster nodes e-K8s (Kubelet).
Okokuqala, okuthiwa «kubectl debug
, okufana ncamashí ne kubectl exec
: kuphela esikhundleni sokwenza inqubo esitsheni (njengaku exec
) yethula isiqukathi ebhodweni. Isibonelo, lo myalo uzoxhuma isitsha esisha ku-pod:
kubectl debug -c debug-shell --image=debian target-pod -- bash
Imininingwane mayelana neziqukathi ze-ephemeral (kanye nezibonelo zokusetshenziswa kwazo) ingatholakala ku
NB: Ngobunjalo bayo ngisho negama layo, isici sifana ne-plugin esivele ikhona
Okunye okusha - PodOverhead
PodSpec
inkambu yengeziwe Overhead *ResourceList
(iqhathanisa nedatha ku RuntimeClass
, uma isetshenziswa).
Enye innovation ephawulekayo umphathi we-node topology (Umphathi we-Node Topology), eklanyelwe ukuhlanganisa indlela yokulungisa kahle ukwabiwa kwezinsiza zehadiwe ezingxenyeni ezihlukahlukene ku-Kubernetes. Lesi sinyathelo siqhutshwa isidingo esikhulayo sezinhlelo ezihlukahlukene zesimanje (ezivela emkhakheni wezokuxhumana, ukufunda ngomshini, izinsizakalo zezezimali, njll.) zekhompuyutha esebenza kahle ehambisanayo kanye nokunciphisa ukubambezeleka kokwenziwa kwemisebenzi, lapho zisebenzisa i-CPU ethuthukisiwe kanye amakhono okusheshisa ihadiwe. Ukulungiswa okunjalo ku-Kubernetes kuze kube manje sekufinyelelwe ngenxa yezingxenye ezihlukene (umphathi we-CPU, imenenja yedivayisi, i-CNI), futhi manje zizokwengezwa isikhombimsebenzisi esisodwa sangaphakathi esihlanganisa indlela futhi senza lula ukuxhumana okufanayo okusha - okubizwa nge-topology- uyazi - izingxenye ohlangothini Kubelet. Imininingwane - ku
Umdwebo Wengxenye Yesiphathi Se-Topology
Isici esilandelayo - ukuhlola iziqukathi ngenkathi zisebenza (StartupProbeEnabled
) ikhansela - noma kunalokho, ihlehlisa - umphumela wanoma yikuphi okunye ukuhlola kuze kube yilapho i-pod iqeda ukusebenza. Ngenxa yalesi sizathu, isici ekuqaleni sabizwa
Ngaphezu kwalokho, ukuthuthukiswa kwe-RuntimeClass kutholakala ngokushesha esimweni se-beta, okwengeza usekelo "lweqoqo elihlukile". C
Inethiwekhi
Izici ezimbili ezibalulekile zokuxhumana ezivele okokuqala (enguqulweni ye-alpha) ku-Kubernetes 1.16 yilezi:
-
ukweseka isitaki senethiwekhi esikabili - IPv4/IPv6 - kanye "nokuqonda" okuhambisanayo ezingeni lama-pods, ama-node, izinsizakalo. Ihlanganisa ukusebenzisana kwe-IPv4-to-IPv4 kanye ne-IPv6-kuya-IPv6 phakathi kwama-pods, kusukela kuma-pod kuya ezinsizeni zangaphandle, ukusetshenziswa kwereferensi (ngaphakathi kwe-Bridge CNI, PTP CNI kanye nama-plugin we-Host-Local IPAM), kanye nokuhlehla Iyahambisana namaqoqo e-Kubernetes asebenzayo. IPv4 noma IPv6 kuphela. Imininingwane yokusetshenziswa ingaphakathiI-CAP .Isibonelo sokubonisa amakheli e-IP ezinhlobo ezimbili (IPv4 ne-IPv6) ohlwini lwama-pods:
kube-master# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE nginx-controller 1/1 Running 0 20m fd00:db8:1::2,192.168.1.3 kube-minion-1 kube-master#
- I-API entsha ye-Endpoint -
I-EndpointSlice API . Ixazulula izinkinga zokusebenza/ukuqina kwe-Endpoint API ekhona ethinta izingxenye ezahlukahlukene endizeni yokulawula (i-apiserver, njlld, isilawuli se-endpoints, kube-proxy). I-API entsha izokwengezwa eqenjini le-Discovery API futhi izokwazi ukuhlinzeka amashumi ezinkulungwane zama-backend endpoints kusevisi ngayinye kuqoqo elihlanganisa izinkulungwane zamanodi. Ukwenza lokhu, Isevisi ngayinye ifakwe kumephu yezinto ezingu-NEndpointSlice
, ngayinye yazo ngokuzenzakalelayo ayinamaphoyinti okugcina angaphezu kuka-100 (inani liyalungiseka). I-EndpointSlice API izophinde inikeze amathuba okuthuthukiswa kwayo kwesikhathi esizayo: ukusekelwa kwamakheli amaningi e-IP ku-pod ngayinye, izifunda ezintsha zezindawo zokugcina (hhayi kuphelaReady
иNotReady
), isilungiselelo esingaphansi esiguqukayo samaphoyinti okugcina.
Owethulwe ekukhishweni kokugcina ufinyelele inguqulo ye-beta service.kubernetes.io/load-balancer-cleanup
futhi inamathiselwe kusevisi ngayinye enohlobo LoadBalancer
. Ngesikhathi sokususa isevisi enjalo, ivimbela ukususwa kwangempela kwensiza kuze kube yilapho "ukuhlanza" kwazo zonke izinsiza ezifanele zebhalansi kuqediwe.
Imishini ye-API
"Ingqophamlando yokuqinisa" isendaweni yeseva ye-Kubernetes API nokusebenzisana nayo. Lokhu kwenzeka kakhulu ngenxa ukudlulisela esimweni esizinzile labo abangadingi isingeniso esikhethekile
-
"imithombo engaphansi" nge/status
и/scale
kweCustomResources; -
uguquko izinguqulo ze-CRD, ezisuselwe ku-webhook yangaphandle; -
esanda kwethulwa (ku-K8s 1.15) amanani azenzakalelayo (okuzenzakalelayo) nokususwa kwensimu okuzenzakalelayo (ukuthena) kweCustomResources; -
ithuba usebenzisa i-schema se-OpenAPI v3 ukuze udale futhi ushicilele amadokhumenti e-OpenAPI asetshenziselwa ukuqinisekisa izinsiza ze-CRD ohlangothini lweseva.
Enye indlela osekuyisikhathi eside ijwayelekile kubaphathi bakwaKubernetes:
Ezinye izici ezimbili zifinyelele ku-beta:
Futhi okuwukuphela kokuqanjwa okubalulekile enguqulweni ye-alpha kwaba SelfLink
— i-URI ekhethekile emele into ethile nokuba yingxenye yayo ObjectMeta
и ListMeta
(okungukuthi, ingxenye yanoma iyiphi into ku-Kubernetes). Kungani beyilahla? Ukugqugquzela ngendlela elula SelfLink
kuzokwenzeka ngenguqulo ye-Kubernetes 1.20, futhi yokugcina - 1.21.
Isitoreji sedatha
Umsebenzi oyinhloko endaweni yokugcina, njengokukhishwa kwangaphambilini, uyabonwa endaweni
- ngokokuqala ngqa (ngenguqulo ye-alpha)
kwavela Ukusekelwa kwe-plugin ye-CSI yamanodi ezisebenzi ze-Windows: indlela yamanje yokusebenza ngesitoreji izophinde ithathele indawo ama-plugin angaphakathi kwesihlahla ku-Kubernetes core kanye nama-plugin e-FlexVolume avela ku-Microsoft asekelwe ku-Powershell;
Uhlelo lokuqalisa ama-plugin e-CSI ku-Kubernetes ye-Windows - ithuba
ukushintsha usayizi wamavolumu e-CSI , eyethulwe emuva ku-K8s 1.12, isikhule yaba inguqulo ye-beta; - "Iphromoshini" efanayo (kusuka ku-alpha iye ku-beta) yafezwa ngokukwazi ukusebenzisa i-CSI ukuze kudaleke amavolumu e-ephemeral wendawo (
I-CSI Inline Volume Support ).
Kwethulwe enguqulweni yangaphambilini ye-Kubernetes DataSource
ukudala i-PVC entsha) nayo manje isithole isimo se-beta.
Isihleli
Izinguquko ezimbili eziphawulekayo ekuhleleni (zombili ku-alpha):
-
- ithuba sebenzisa ama-pods esikhundleni samayunithi wohlelo lokusebenza anengqondo "ukusabalalisa okulungile" kwemithwalo (njenge-Deployment ne-ReplicaSet) kanye nokulungisa lokhu kusatshalaliswa (njengesidingo esinzima noma njengesimo esithambile, okungukuthi kuqala). Isici sizonweba amandla akhona okusabalalisa ama-pod ahleliwe, okwamanje anomkhawulo ngezinkethoEvenPodsSpreading
PodAffinity
иPodAntiAffinity
, enikeza abalawuli ukulawula okungcono kakhulu kulolu daba, okusho ukutholakala okungcono okuphezulu nokusetshenziswa okuthuthukisiwe kwensiza. Imininingwane - kuI-CAP . - Sebenzisa Inqubomgomo ye-BestFit в RequestedToCapacityRatio Priority Function ngesikhathi sokuhlela i-pod, okuzovumela faka isicelo
ukupakisha emgqonyeni (“ukupakisha ezitsheni”) kuzo zombili izinsiza eziyisisekelo (iphrosesa, inkumbulo) kanye nezinwetshiwe (njenge-GPU). Ukuze uthole imininingwane eyengeziwe, bhekaI-CAP .
Ukuhlela ama-pods: ngaphambi kokusebenzisa inqubomgomo yokulingana okungcono kakhulu (ngokuqondile ngesihleli esimisiwe) kanye nokusetshenziswa kwayo (nge-scheduler extender)
Ngaphezu kwalokho,
Ezinye izinguquko
Futhi ekukhishweni kwe-Kubernetes 1.16 kungaphawulwa initiative for
Ngaphezu kwalokho, izinguquko ezilandelayo zingaqashelwa:
- Ukuthuthukiswa kosekelo lweWindows с
ukubukeka Izinsiza ze-Kubeadm zale OS (inguqulo ye-alpha),ithuba RunAsUserName
zeziqukathi zeWindows (inguqulo ye-alpha),ngcono I-Akhawunti Yesevisi Ephethwe Iqembu (gMSA) isekela kuze kufike enguqulweni ye-beta,ukusekela khweza/namathisela kumavolumu e-vSphere. -
Kugaywe kabusha indlela yokucindezela idatha ezimpendulweni ze-API. Ngaphambilini, isihlungi se-HTTP sasisetshenziselwa lezi zinhloso, okwabeka inani lemikhawulo eyayisivimbela ukuthi sinikwe amandla ngokuzenzakalela. "Ukucindezelwa kwesicelo okusobala" manje kuyasebenza: ukuthumela amaklayentiAccept-Encoding: gzip
kunhlokweni, bathola impendulo ecindezelwe ye-GZIP uma usayizi wayo udlula u-128 KB. Amaklayenti e-Go asekela ngokuzenzakalelayo ukucindezela (ukuthumela unhlokweni odingekayo), ngakho azobona ngokushesha ukuncipha kwethrafikhi. (Kungase kudingeke ukulungiswa okuncane kwezinye izilimi.) -
Kwangenzeka ukukala i-HPA ukusuka/kuya kuziro kuma-metrics angaphandle. Uma ukala ngokusekelwe ezintweni/amamethrikhi angaphandle, lapho-ke umthwalo wokusebenza ungenzi lutho ungakwazi ukukala ngokuzenzakalelayo ufike kuma-replicas angu-0 ukuze ulondoloze izinsiza. Lesi sici kufanele sibe wusizo ikakhulukazi ezimeni lapho abasebenzi becela izinsiza ze-GPU, kanye nenani lezinhlobo ezahlukene zezisebenzi ezingenzi lutho lidlula inani lama-GPU atholakalayo. - Iklayenti elisha -
— ukuze uthole ukufinyelela “okujwayelekile” ezintweni. Iklanyelwe ukuthola kalula imethadatha (okungukuthi isigatshanak8s.io/client-go/metadata.Client
metadata
) kusuka kuzinsiza zeqoqo futhi enze imisebenzi yokuqoqwa kukadoti kanye nesabelo-mali nazo. - Yakha i-Kubernetes
manje usungakwazi ngaphandle kwefa (“eyakhelwe ngaphakathi” esihlahleni) abahlinzeki bamafu (inguqulo ye-alpha). - Kuhlelo lokusebenza lwe-kubeadm
kwengezwe ikhono lokuhlola (inguqulo ye-alpha) lokusebenzisa amapeshi okwenza ngendlela oyifisayo ngesikhathi sokusebenzainit
,join
иupgrade
. Funda kabanzi mayelana nendlela yokusebenzisa ifulegi--experimental-kustomize
, bheka kuI-CAP . - Isiphetho esisha se-apiserver -
, - ikuvumela ukuthi uthumele ulwazi mayelana nokulungela kwayo. Iseva ye-API nayo manje isinefulegireadyz
--maximum-startup-sequence-duration
, okukuvumela ukuthi ulawule ukuqala kabusha kwayo. - Okubili izici ze-Azure kumenyezelwe ukuthi izinzile: ukwesekwa
izindawo zokutholakala (Izindawo Ezitholakalayo) kanyecross resource group (RG). Ngaphezu kwalokho, i-Azure yengeze:-
ukwesekwa kobuqiniso I-AAD ne-ADFS; -
isichasiselo service.beta.kubernetes.io/azure-pip-name
ukucacisa i-IP yomphakathi yesilinganisi somthwalo; -
ithuba izilungiseleloLoadBalancerName
иLoadBalancerResourceGroup
.
-
- I-AWS manje isinayo
ukwesekwa ye-EBS ku-Windows kanyeyenziwe kahle Izingcingo ze-EC2 APIDescribeInstances
. - I-Kubeadm manje isizimele
iyafuduka Ukucushwa kwe-CoreDNS lapho uthuthukisa inguqulo ye-CoreDNS. - Kanambambili njll esithombeni esihambisanayo se-Docker
kwenziwe i-world-executable, ekuvumela ukuthi usebenzise lesi sithombe ngaphandle kwesidingo samalungelo empande. Futhi, njlld isithombe sokuthuthawema etcd2 version ukwesekwa. - В
I-Cluster Autoscaler 1.16.0 ishintshelwe ekusebenziseni i-distroless njengesithombe esiyisisekelo, ukusebenza okuthuthukisiwe, yengeza abahlinzeki bamafu abasha (DigitalOcean, Magnum, Packet). - Izibuyekezo kusofthiwe esetshenzisiwe/encike: Hamba 1.12.9, njlld 3.3.15, CoreDNS 1.6.2.
PS
Funda futhi kubhulogi yethu:
- «
I-Kubernetes 1.15: ukubuka konke okusha okuyinhloko "; - «
I-Kubernetes 1.14: ukubuka konke okusha okuyinhloko "; - «
I-Kubernetes 1.13: ukubuka konke okusha okuyinhloko "; - «
I-Kubernetes 1.12: ukubuka konke okusha okuyinhloko ".
Source: www.habr.com