Kubernetes 1.16 - kā jaunināt, neko nesalaužot

Kubernetes 1.16 - kā jaunināt, neko nesalaužot

Šodien, 18. septembrī, tiek izlaista nākamā Kubernetes versija - 1.16. Kā vienmēr, mūs sagaida daudzi uzlabojumi un jauni produkti. Taču es vēlos vērst jūsu uzmanību uz faila sadaļām Nepieciešama darbība CHANGELOG-1.16.md. Šajās sadaļās tiek publicētas izmaiņas, kas var sabojāt jūsu lietojumprogrammu, klasteru uzturēšanas rīkus vai pieprasīt izmaiņas konfigurācijas failos.

Kopumā tiem nepieciešama manuāla iejaukšanās...

Sāksim uzreiz ar izmaiņām, kas, visticamāk, skars visus, kas ar kubernetes ir strādājuši pietiekami ilgi. Kubernetes API vairs neatbalsta mantotās resursu API versijas.

Ja kāds nezināja vai aizmirsa...Resursa API versija ir norādīta manifestā laukā apiVersion: apps/v1

Proti

Resursa veids
vecā versija
Ar ko man to vajadzētu aizstāt?

Visi resursi
apps/v1beta1
apps/v1beta2
lietotnes / v1

izvietošanu
dēmonsets
replikāts
paplašinājums/v1beta1
lietotnes / v1

tīkla politikas
paplašinājumi/v1beta1
networking.k8s.io/v1

poddrošības politikas
paplašinājumi/v1beta1
politika/v1beta1

Vēlos vērst jūsu uzmanību arī uz to, ka objekti tipa Ingress arī mainījās apiVersion par networking.k8s.io/v1beta1. Vecā nozīme extensions/v1beta1 joprojām tiek atbalstīts, taču ir labs iemesls vienlaikus atjaunināt šo versiju manifestos.

Ir diezgan daudz izmaiņu dažādās sistēmas etiķetēs (Node labels), kas tiek instalētas mezglos.

Kubelet bija aizliegts iestatīt patvaļīgas etiķetes (iepriekš tās varēja iestatīt, izmantojot palaišanas taustiņus kubelet --node-labels), viņi atstāja tikai šo sarakstu atļauts:

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/*

Uzlīmes beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready un beta.kubernetes.io/kube-proxy-ds-ready vairs netiek pievienoti jauniem mezgliem, un dažādi papildu komponenti ir sākuši izmantot nedaudz atšķirīgas etiķetes kā mezglu atlasītājus:

komponents
Vecā etiķete
Pašreizējā etiķete

kube starpniekserveris
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

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

kubeadm tagad noņem aiz tā esošo sākotnējo kubleta konfigurācijas failu bootstrap-kubelet.conf. Ja jūsu rīki piekļuva šim failam, pārejiet uz izmantošanu kubelet.conf, kurā tiek saglabāti pašreizējie piekļuves iestatījumi.

Cadvisor vairs nesniedz metriku pod_name и container_nameja tos izmantojāt programmā Prometheus, dodieties uz metriku pod и container attiecīgi.

Noņemti taustiņi ar rindas komandu:

komponents
Ievilkta atslēga

hiperkube
--make-symlink

kube starpniekserveris
--resurss-konteiners

Plānotājs sāka izmantot Event API versiju v1beta1. Ja izmantojat trešās puses rīkus, lai mijiedarbotos ar Event API, pārslēdzieties uz jaunāko versiju.

Humora mirklis. Izlaiduma 1.16 sagatavošanas laikā tika veiktas šādas izmaiņas:

  • noņēma anotāciju scheduler.alpha.kubernetes.io/critical-pod versijā v1.16.0-alpha.1
  • atgrieza anotāciju scheduler.alpha.kubernetes.io/critical-pod versijā v1.16.0-alpha.2
  • noņēma anotāciju scheduler.alpha.kubernetes.io/critical-pod versijā v1.16.0-beta.1

Izmantojiet lauku spec.priorityClassName lai norādītu uz pāksts nozīmi.

Avots: www.habr.com

Pievieno komentāru