
Dnes, 18. septembra, vychádza nová verzia Kubernetes — 1.16. Ako obvykle nás čaká mnoho vylepšení a noviniek. Ale chcel by som upriamiť vašu pozornosť na sekcie Action Required v súbore . V týchto sekciách sú zverejnené zmeny, ktoré môžu narušiť fungovanie vašej aplikácie, nástrojov na správu klastera alebo si vyžadujú úpravy v konfiguračných súboroch.
V skratke, vyžadujú manuálny zásah...
Začneme hneď so zmenou, ktorá pravdepodobne zasiahne všetkých, ktorí dostatočne dlho pracujú s Kubernetes. Kubernetes API prestalo podporovať zastarané verzie API zdrojov.
Ak niekto nevedel, alebo zabudol...Verzia API zdroja sa uvádza v manifeste, v poli apiVersion: apps/v1
A konkrétne:
Typ zdroja
Stará verzia
Na čo treba nahradiť
Všetky zdroje
apps/v1beta1
apps/v1beta2
apps/v1
nasadenia
daemonset
replicaset
extension/v1beta1
apps/v1
networkpolicies
extensions/v1beta1
networking.k8s.io/v1
podsecuritypolicies
extensions/v1beta1
policy/v1beta1
Taktiež chcem upozorniť, že objekty typu Ingress tiež zmenili apiVersion na networking.k8s.io/v1beta1. Stará hodnota extensions/v1beta1 je stále podporovaná, ale je dobrý dôvod zároveň aktualizovať aj túto verziu v manifestoch.
Existuje mnoho zmien v rôznych systémových značkách (Node labels), ktoré sa nastavujú na uzloch.
Kubelet zakázal nastavovať ľubovoľné značky (predtým bolo možné ich nastaviť pomocou spúšťacích kľúčov kubelet --node-labels), zostal iba tento zoznam :
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/*
Štítky beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready a beta.kubernetes.io/kube-proxy-ds-ready sa už nepridávajú na nové uzly, a rôzne ďalšie komponenty začali používať trochu iné značky ako node selector:
Komponent
Stará značka
Aktuálna značka
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 teraz odstraňuje svoj konfiguračný súbor iniciálnej konfigurácie kubeletu bootstrap-kubelet.conf. Ak vaše nástroje pristupovali k tomuto súboru, prepnite sa na používanie kubelet.conf, v ktorom sú uložené aktuálne nastavenia prístupu.
Cadvisor už nevracia metriky pod_name a container_name, ak ste ich používali v Prometheus, prejdite na metriky pod a kontejner prípadne.
Vymazali sme kľúče príkazového riadku:
Komponent
Odstránený kľúč
hyperkube
—make-symlink
kube-proxy
—resource-container
Plánovač začal používať verziu v1beta1 Event API. Ak používate externé nástroje na interakciu s Event API, prepnite na aktuálnu verziu.
Minútka humoru. Počas prípravy verzie 1.16 boli vykonané nasledujúce zmeny:
- vymazali sme anotáciu
scheduler.alpha.kubernetes.io/critical-podvo verzii v1.16.0-alpha.1 - vrátili sme anotáciu
scheduler.alpha.kubernetes.io/critical-podvo verzii v1.16.0-alpha.2 - vymazali sme anotáciu
scheduler.alpha.kubernetes.io/critical-podvo verzii v1.16.0-beta.1
Použite pole spec.priorityClassName na určenie dôležitosti podu.
Zdroj: habr.com
