Kubernetes 1.16 — kuidas uuendada ja mitte midagi katki teha

Kubernetes 1.16 — kuidas uuendada ja mitte midagi katki teha

TĂ€na, 18. septembril, ilmub uus Kubernetes versioon — 1.16. Nagu tavaliselt, ootab meid palju parandusi ja uuendusi. Kuid sooviksin juhtida teie tĂ€helepanu failist Action Required lĂ”ikudele. CHANGELOG-1.16.md. Nendes lĂ”ikudes avaldatakse muudatused, mis vĂ”ivad katkestada teie rakenduse, klastri haldamise tööriistade tööd vĂ”i nĂ”uda muudatusi konfiguratsioonifailides.

Üldiselt vajavad need kĂ€sitsi sekkumist


Alustame kohe muudatusest, mis tÔenÀoliselt puudutab kÔiki, kes on piisavalt kaua Kubernetesega töötanud. Kubernetes API on lÔpetanud vananenud API versioonide toetamise.

Kui keegi ei teadnud, vĂ”i unustas
Ressursi API versioon on mÀÀratud manifestis, vĂ€lja apiVersion: apps/v1

Konkreetsemalt:

Ressurssi tĂŒĂŒp
Vana versioon
Millele tuleb asendada

KÔik ressursid
apps/v1beta1
apps/v1beta2
apps/v1

deployments
daemonset
replicaset
extension/v1beta1
apps/v1

networkpolicies
extensions/v1beta1
networking.k8s.io/v1

podsecuritypolicies
extensions/v1beta1
policy/v1beta1

Samuti tahan tĂ€helepanu juhtida, et objektide tĂŒĂŒp Ingress on samuti muutunud apiVersion jĂ€rgnevaga networking.k8s.io/v1beta1. Vana vÀÀrtus extensions/v1beta1 on veel toetatud, kuid on hea pĂ”hjus samuti see versioon manifestides uuendada.

Erinevus erinevates sĂŒsteemimĂ€rkides (Node labels), mida mÀÀratakse sĂ”lmedele, on mĂ€rkimisvÀÀrne.

Kubelet ei luba enam mÀÀrata juhuslikke silte (varem oli nende seadmine vÔimalik kÀivitamisvÔtmete kaudu. kubelet --node-labels), jÀtab ainult selle loendi lubatud:

kubernetes.io/hostname
kubernetes.io/instance-type
kubernetes.io/os
kubernetes.io/arch

beta.kubernetes.io/instance-type
beta.kubernetes.io/os
beta.kubernetes.io/arch

failure-domain.beta.kubernetes.io/zone
failure-domain.beta.kubernetes.io/region

failure-domain.kubernetes.io/zone
failure-domain.kubernetes.io/region

[*.]kubelet.kubernetes.io/*
[*.]node.kubernetes.io/*

MÀrgid beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready ja beta.kubernetes.io/kube-proxy-ds-ready ei lisata enam uutele sÔlmedele ning erinevad tÀiendavad komponendid on hakanud kasutama veidi teisi silte node selectorina:

Komponent
Vana mÀrk
Praegune mÀrk

kube-proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready

ip-mask-agent
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready

metadata-proxy
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready

kubeadm eemaldab nĂŒĂŒd ka algse konfigureerimise faili kubletile bootstrap-kubelet.conf. Kui teie tööriistad kasutasid seda faili, siis switchige kasutama kubelet.conf, milles hoitakse аĐșŃ‚ŃƒĐ°Đ»ŃŒĐœŃ‹Ń… juurdepÀÀsu seadistusi.

Cadvisor ei edasta enam mÔÔdikuid. pod_name ja container_name, kui olete neid kasutanud Prometheuses, liikuge mÔÔdikute juurde pod ja konteiner vastavalt.

KÀskude vÔtmed on eemaldatud:

Komponent
Eemaldatud vÔti

hyperkube
—make-symlink

kube-proxy
—resource-container

SĂŒsteem hakkas kasutama v1beta1 ĂŒrituste API versiooni. Kui kasutate kolmanda osapoole tööriistu ĂŒrituste API-interaktsiooniks, vahetage tĂ”elise versiooni vastu.

Naerutav hetk. Versiooni 1.16 vÀljalaske valmistamise ajal tehti jÀrgmised muudatused:

  • eemaldati annotatsioon scheduler.alpha.kubernetes.io/critical-pod versioonis v1.16.0-alpha.1
  • tagasi annotatsioon scheduler.alpha.kubernetes.io/critical-pod versioonis v1.16.0-alpha.2
  • eemaldati annotatsioon scheduler.alpha.kubernetes.io/critical-pod versioonis v1.16.0-beta.1

Kasutage vÀlja spec.priorityClassName pod'i tÀhtsuse mÀÀramiseks.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster