Oggi, 18 settembre, viene rilasciata la prossima versione di Kubernetes: 1.16. Come sempre ci aspettano tanti miglioramenti e novità. Vorrei però attirare la vostra attenzione sulle sezioni Azione richiesta del file
In generale, richiedono un intervento manuale...
Cominciamo subito con un cambiamento che molto probabilmente interesserà tutti coloro che lavorano con Kubernetes da abbastanza tempo. L'API Kubernetes non supporta più le versioni API delle risorse legacy.
Se qualcuno non lo sapeva o se ne era dimenticato...La versione API della risorsa è indicata nel manifest, nel campo apiVersion: apps/v1
Vale a dire
Tipo di risorsa
vecchia versione
Con cosa dovrebbe essere sostituito
Tutte le risorse
app/v1beta1
app/v1beta2
app / v1
implementazioni
demonset
set di repliche
estensione/v1beta1
app / v1
politiche di rete
estensioni/v1beta1
networking.k8s.io/v1
podsecuritypolicies
estensioni/v1beta1
policy/v1beta1
Vorrei anche attirare la vostra attenzione sul fatto che gli oggetti di tipo Ingress
anche cambiato apiVersion
su networking.k8s.io/v1beta1
. Vecchio significato extensions/v1beta1
è ancora supportato, ma c'è una buona ragione per aggiornare contemporaneamente questa versione nei manifest.
Ci sono molti cambiamenti nelle varie etichette di sistema (etichette dei nodi) installate sui nodi.
A Kubelet era vietato impostare etichette arbitrarie (in precedenza potevano essere impostate tramite chiavi di avvio kubelet --node-labels
), hanno lasciato solo questo elenco
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/*
tag beta.kubernetes.io/metadata-proxy-ready
, beta.kubernetes.io/metadata-proxy-ready e beta.kubernetes.io/kube-proxy-ds-ready non vengono più aggiunti ai nuovi nodi e vari componenti aggiuntivi hanno iniziato a utilizzare etichette leggermente diverse come selettori di nodo:
componente
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
proxy dei metadati
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready
kubeadm ora rimuove il file di configurazione iniziale del kublet dietro di esso bootstrap-kubelet.conf
. Se i tuoi strumenti accedevano a questo file, passa a using kubelet.conf
, che memorizza le impostazioni di accesso correnti.
Cadvisor non fornisce più metriche pod_name
и container_name
se li hai usati in Prometheus, vai alle metriche pod
и container
rispettivamente.
Rimosse le chiavi con la riga di comando:
componente
Chiave retratta
iperkubo
--make-link simbolico
kube-proxy
--contenitore-risorse
Lo scheduler ha iniziato a utilizzare la versione v1beta1 dell'API Event. Se utilizzi strumenti di terze parti per interagire con l'API Event, passa alla versione più recente.
Un momento di umorismo. Durante la preparazione della release 1.16 sono state apportate le seguenti modifiche:
- rimosso l'annotazione
scheduler.alpha.kubernetes.io/critical-pod
nella versione v1.16.0-alpha.1 - ha restituito l'annotazione
scheduler.alpha.kubernetes.io/critical-pod
nella versione v1.16.0-alpha.2 - rimosso l'annotazione
scheduler.alpha.kubernetes.io/critical-pod
nella versione v1.16.0-beta.1
Usa il campo spec.priorityClassName
per indicare l'importanza del baccello.
Fonte: habr.com