Kubernetes 1.16 - cumu aghjurnà senza rompe nunda

Kubernetes 1.16 - cumu aghjurnà senza rompe nunda

Oghje, 18 settembre, a prossima versione di Kubernetes hè liberata - 1.16. Cum'è sempre, ci aspettanu assai megliurenze è novi prudutti. Ma vogliu attirà a vostra attenzione à e rùbbriche Action Required di u schedariu CHANGELOG-1.16.md. Queste rùbbriche publicanu cambiamenti chì ponu rompe a vostra applicazione, strumenti di mantenimentu di cluster, o necessitanu cambiamenti à i schedarii di cunfigurazione.

In generale, anu bisognu di intervenzione manuale ...

Cuminciamu subitu cù un cambiamentu chì probabilmente affetterà tutti quelli chì anu travagliatu cù kubernetes abbastanza longu. L'API Kubernetes ùn supporta più e versioni di l'API di risorse legacy.

Sì qualchissia ùn sapia o scurdatu...A versione API di a risorsa hè indicata in u manifestu, in u campu apiVersion: apps/v1

Sò nimu:

Tipu di risorsa
versione vechja
Ciò chì deve esse rimpiazzatu

Tutte e risorse
apps/v1beta1
apps/v1beta2
apps/v1

dispiegazioni
daemonset
replicaset
estensione/v1beta1
apps/v1

e pulitiche di rete
estensioni/v1beta1
networking.k8s.io/v1

e pulitiche di sicurezza
estensioni/v1beta1
pulitica/v1beta1

Vogliu ancu attirà a vostra attenzione à u fattu chì l'uggetti di tipu Ingress ancu cambiatu apiVersion nantu networking.k8s.io/v1beta1. Vechju significatu extensions/v1beta1 hè sempre supportatu, ma ci hè una bona ragione per aghjurnà sta versione in i manifesti à u stessu tempu.

Ci sò assai cambiamenti in e diverse etichette di u sistema (Etichette Node) chì sò installate nantu à i nodi.

Kubelet era pruibitu di stabilisce etichette arbitrarie (prima si pudianu esse stabilitu per via di e chjave di lanciu kubelet --node-labels), anu lasciatu solu sta lista permessu:

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

Etichetti beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready è beta.kubernetes.io/kube-proxy-ds-ready ùn sò più aghjuntu à i novi nodi, è parechji cumpunenti addiziunali anu cuminciatu à aduprà etichette ligeramente diverse cum'è selettori di nodi:

Componenti
Vecchia etichetta
Etichetta attuale

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 elimina avà u schedariu di cunfigurazione iniziale di kublet daretu bootstrap-kubelet.conf. Se i vostri arnesi accedevanu à stu schedariu, cambiate à utilizà kubelet.conf, chì guarda i paràmetri di accessu attuale.

Cadvisor ùn furnisce più metrica pod_name и container_namese l'avete utilizatu in Prometheus, andate à metrica pod и container rispettivament.

Eliminate e chjave cù u cumandamentu di linea:

Componenti
Chjave ritirata

ipercube
--fà-simbulu

kube-proxy
--resource-container

U pianificatore hà cuminciatu à utilizà a versione v1beta1 di l'API Event. Se utilizate strumenti di terze parti per interagisce cù l'API Event, cambiate à l'ultima versione.

Un mumentu di umore. Durante a preparazione di a versione 1.16, i seguenti cambiamenti sò stati fatti:

  • hà eliminatu l'annotazione scheduler.alpha.kubernetes.io/critical-pod in a versione v1.16.0-alpha.1
  • riturnò l'annotazione scheduler.alpha.kubernetes.io/critical-pod in a versione v1.16.0-alpha.2
  • hà eliminatu l'annotazione scheduler.alpha.kubernetes.io/critical-pod in a versione v1.16.0-beta.1

Aduprà u campu spec.priorityClassName per indicà l'impurtanza di u pod.

Source: www.habr.com

Add a comment