Kubernetes 1.17: he tirohanga whanui mo nga mahi hou
Inanahi, Tihema 9, i tupu tukunga muri o Kubernetes - 1.17. E ai ki nga tikanga kua whakawhanakehia mo to maatau blog, ka korero matou mo nga huringa tino nui o te putanga hou.
Ko nga korero e whakamahia ana hei whakarite i tenei rauemi i tangohia mai i te panui whaimana, Ko nga teepu aroturuki a Kubernetes, CHANGELOG-1.17 me nga take e pa ana, nga tono toia, me nga Kaupapa Whakanuia Kubernetes (KEP). Na, he aha te mea hou?..
Topology-mohio ararere
Kua roa te hapori Kubernetes e tatari ana mo tenei ahuatanga - Topology-mohio ratonga ararere. Mena KAUPAPA ka puta mai i Oketopa 2018, me te mana whakarei ake — 2 tau ki muri, ko nga take o mua (penei reira) - me etahi tau kua pakeke ake...
Ko te whakaaro nui ko te whakarato i te kaha ki te whakatinana i nga ararere "rohe" mo nga ratonga e noho ana i Kubernetes. Ko te tikanga "rohe" i roto i tenei keehi ko "te taumata o te topological" (taumata topology), tera pea:
node rite mo nga ratonga,
ko taua whata tūmau,
ko taua rohe ano
ko taua kaiwhakarato kapua,
...
He tauira mo te whakamahi i tenei waahanga:
penapena i runga i nga waka i roto i nga whakaurunga kapua me nga waahi waatea maha (maha-AZ) - tirohia. whakaahua hou te whakamahi i te tauira o nga waka mai i te rohe kotahi, engari he rereke nga AZ i AWS;
he iti ake te roanga mahi/he pai ake te whakaputa;
he ratonga maramara e whai korero paetata ana mo te node i ia maramara;
te whakanohonga o te fluentd (whakariterite ranei) ki runga i te node kotahi me nga tono kua kohia nga raarangi;
Mo nga korero mo te mahi o te waahanga me te pehea e taea ai e koe te whakamahi, panui tenei tuhinga mai i tetahi o nga kaituhi.
IPv4/IPv6 tautoko tāpae rua
Te ahunga whakamua nui whakaritea i tetahi atu waahanga whatunga: tautoko i te wa kotahi mo nga taapu IP e rua, i whakaurua tuatahi ki roto K8s 1.16. Ina koa, ko te tukunga hou i kawe mai nga huringa e whai ake nei:
i te kube-takawaenga whakatinana ka taea te mahi tukutahi i roto i nga tikanga e rua (IPv4 me IPv6);
в Pod.Status.PodIPsputa mai tautoko mo te API whakararo (i te wa ano i roto i /etc/hosts Inaianei kei te hiahia te kaihautu ki te taapiri i tetahi wahitau IPv6);
tautoko tāpae rua KIND (Kubernetes IN Docker) me kubeadm;
nga whakamatautau e2e kua whakahoutia.
Whakaahua te whakamahi i te puranga rua IPV4/IPv6 i KIND
Te ahunga whakamua i runga i te CSI
Whakapuakihia te pumau tautoko topology mo te rokiroki-a-CSI, i whakauruhia tuatahi ki roto K8s 1.12.
He kaupapa mo te hekenga o nga taapiri rōrahi ki CSI - Hekenga CSI - kua tae ki te putanga beta. He mea nui tenei ahuatanga hei whakamaori i nga taputapu rokiroki o naianei (i roto i te rakau) ki te atanga hou (CSI, waho-o-rakau) e kore e kitea e nga kaiwhakamahi mutunga o Kubernetes. Ko nga kaiwhakahaere o te roopu ka hiahia noa kia taea te Migration CSI, ka mutu ka "mahi noa" nga rauemi o mua me nga kawenga mahi...
I tenei wa, kua rite te hekenga mo nga taraiwa AWS EBS i te putanga beta (kubernetes.io/aws-ebs) me GCE PD (kubernetes.io/gce-pd). Ko nga matapae mo etahi atu waahi rokiroki e whai ake nei:
I korero matou mo te pehea o te tautoko rokiroki "tuku iho" i roto i nga K8 i tae mai ki a CSI tenei tuhinga. A ko te whakawhiti o te hekenga CSI ki te mana beta kua whakatapua ki tānga motuhake i runga i te rangitaki kaupapa.
I tua atu, ko tetahi atu mahinga nui i roto i te horopaki o te CSI, i puta mai (te whakatinanatanga alpha) i roto i te K1.17s 8, i tae ki te mana beta (arā, kua whakahohea ma te taunoa) i roto i te tukunga Kubernetes 1.12 - te hanga pikitia me te whakaora mai i a ratou. I roto i nga huringa ki te Kubernetes Volume Snapshot i te huarahi ki te tuku beta:
ka wehea te CSI-waho-snapshotter sidecar kia rua nga kaiwhakahaere,
kua tapirihia te mea ngaro mo te whakakore (Muku ngaro) hei whakamohiotanga ki nga mea o roto o te hopukanga rōrahi,
he whakaotinga hou (whakaoti) kia kore e mukua te ahanoa API whakaahua mena he hononga e toe ana.
I te wa o te tukunga 1.17, ka tautokohia te ahuatanga e toru nga taraiwa CSI: GCE Persistent Disk CSI Driver, Portworx CSI Driver me NetApp Trident CSI Driver. Ka kitea etahi atu korero mo tona whakatinanatanga me tana whakamahinga i roto tenei whakaputanga i runga i te rangitaki.
Tapanga Kaiwhakarato Kapua
Tapanga e aunoa kua tohua ki nga pona me nga pukapuka i hangaia i runga i te kaiwhakarato kapua i whakamahia, kua waatea ki Kubernetes hei putanga beta mo te wa roa - mai i te tukunga o K8s 1.2 (Aperira 2016!). I runga i to raatau whakamahinga mo te wa roa, nga kaihanga whakatau, kua tae ki te wa ki te kii i te ahua pumau (GA).
Na reira, i whakaingoatia katoatia (ma te topology):
... engari kei te waatea tonu i raro i o raatau ingoa tawhito (mo te hototahi whakamuri). Heoi, ka tūtohu nga kaiwhakahaere katoa ki te huri ki nga tapanga o naianei. Tuhinga e Pa ana Kua whakahoutia nga K8s.
Te hihiri mo te whakatinana i tenei ahuatanga (e ai ki KAUPAPA) ko:
Ahakoa ka taea te tuku a-ringa i nga Kubernetes, ko te paerewa de facto (mehemea ehara i te de jure) mo tenei mahi ko te whakamahi kubeadm. Ko nga taputapu whakahaere punaha rongonui penei i a Terraform ka whakawhirinaki ki te kubeadm mo te tuku Kubernetes. Ko nga whakapainga kua whakamaheretia ki te Cluster API kei roto he kete tito mo te Kubernetes bootstrapping me te kubeadm me te kapua-init.
Ki te kore he putanga hanganga, ahakoa nga huringa tino harakore i te titiro tuatahi ka taea te pakaru i te Terraform, Cluster API me etahi atu rorohiko e whakamahi ana i nga hua o te kubeadm.
Kei roto i a maatau mahere te tautoko (i te ahua o te whakaputanga hanganga) mo nga whakahau kubeadm e whai ake nei:
alpha certs
config images list
init
token create
token list
upgrade plan
version
Whakaahua o te whakautu JSON ki tetahi whakahau kubeadm init -o json:
I te nuinga, ko te tukunga o Kubernetes 1.17 i puta i raro i te pepeha "Whakahaumau" I awhinahia tenei na te maha o nga ahuatanga kei roto (ko to raatau nama ko 14) riro te mana GA. I roto ia ratou:
"tiaki whakaotinga" (Parenga Whakaoti) mo nga taurite kawenga (tirohia nga rauemi Ratonga e rite ana i mua i te whakakore i nga rauemi LoadBalancer);
kube-apiserver arotautanga i roto i te mahi i te wa e mahi ana me nga maataki maha ki te tirotiro i nga huinga orite o nga mea - ka tutuki ma te karo i nga raupapatanga tukurua o nga mea rite mo ia kaititiro.
Othertahi atu whakarerekētanga
Ko te rarangi katoa o nga mea hou i roto i te Kubernetes 1.17, o te akoranga, ehara i te mea iti ki era kua whakarārangihia i runga ake nei. Anei etahi atu (a mo te rarangi tino katoa, tirohia PANUI):
huringa rite i pa EndpointSlice API (mai i K8s 1.16 ano), engari mo tenei wa ko tenei otinga hei whakapai ake i te mahinga/whakanui o te Endpoint API kaore i te whakahohea ma te taunoa;