Kubernetes 1.16 - kaip atnaujinti nieko nesulaužant

Kubernetes 1.16 - kaip atnaujinti nieko nesulaužant

Šiandien, rugsėjo 18 d., išleista kita Kubernetes versija – 1.16. Kaip visada, mūsų laukia daug patobulinimų ir naujų produktų. Tačiau norėčiau atkreipti jūsų dėmesį į failo skyrius, kurių reikia imtis CHANGELOG-1.16.md. Šiose skiltyse skelbiami pakeitimai, kurie gali pažeisti jūsų programą, grupių priežiūros įrankius arba reikalauti pakeisti konfigūracijos failus.

Paprastai jiems reikia rankinio įsikišimo...

Iš karto pradėkime nuo pakeitimo, kuris greičiausiai palies visus, kurie pakankamai ilgai dirba su kubernetes. Kubernetes API nebepalaiko senų išteklių API versijų.

Jei kas nežinojo ar pamiršo...Ištekliaus API versija nurodyta manifeste, lauke apiVersion: apps/v1

Būtent:

Ištekliaus tipas
sena versija
Ką reikėtų pakeisti

Visi ištekliai
apps/v1beta1
apps/v1beta2
programos / v1

dislokacijos
demonset
replikatas
plėtinys/v1beta1
programos / v1

tinklo politiką
plėtiniai/v1beta1
networking.k8s.io/v1

podsaugumo politika
plėtiniai/v1beta1
politika/v1beta1

Taip pat norėčiau atkreipti jūsų dėmesį į tai, kad objektai tipo Ingress taip pat pasikeitė apiVersion apie networking.k8s.io/v1beta1. Sena prasmė extensions/v1beta1 vis dar palaikoma, tačiau yra rimta priežastis atnaujinti šią versiją aprašuose tuo pačiu metu.

Įvairiose sistemos etiketėse (Node labels), kurios yra įdiegtos mazguose, yra gana daug pakeitimų.

„Kubelet“ buvo uždrausta nustatyti savavališkas etiketes (anksčiau jas buvo galima nustatyti naudojant paleidimo klavišus kubelet --node-labels), jie paliko tik šį sąrašą leidžiama:

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

Žymos beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready ir beta.kubernetes.io/kube-proxy-ds-ready nebepridedami prie naujų mazgų, o įvairūs papildomi komponentai pradėjo naudoti šiek tiek skirtingas etiketes kaip mazgų parinkiklius:

Komponentas
Sena etiketė
Dabartinė etiketė

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

metaduomenų tarpinis serveris
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready

kubeadm dabar pašalina pradinį kubleto konfigūracijos failą bootstrap-kubelet.conf. Jei jūsų įrankiai pasiekė šį failą, pereikite prie naudojimo kubelet.conf, kuriame saugomi esami prieigos nustatymai.

„Cadvisor“ nebeteikia metrikos pod_name и container_namejei naudojote juos „Prometheus“, eikite į metriką pod и container atitinkamai.

Pašalinti klavišai su eilutės komanda:

Komponentas
Ištrauktas raktas

hiperkubas
--make-symlink

Kube-Proxy
--išteklių-konteineris

Planuotojas pradėjo naudoti įvykio API versiją v1beta1. Jei naudojate trečiųjų šalių įrankius sąveikai su Event API, perjunkite į naujausią versiją.

Akimirka humoro. Rengiant 1.16 versiją buvo atlikti šie pakeitimai:

  • anotaciją pašalino scheduler.alpha.kubernetes.io/critical-pod versijoje v1.16.0-alpha.1
  • grąžino anotaciją scheduler.alpha.kubernetes.io/critical-pod versijoje v1.16.0-alpha.2
  • anotaciją pašalino scheduler.alpha.kubernetes.io/critical-pod versijoje v1.16.0-beta.1

Naudokite lauką spec.priorityClassName kad parodytų ankšties svarbą.

Šaltinis: www.habr.com

Добавить комментарий