
Dnes, 18. září, vychází nová verze Kubernetes – 1.16. Jak je obvyklé, čeká nás mnoho vylepšení a novinek. Chtěl bych však upozornit na sekce Action Required v souboru . V těchto sekcích se zveřejňují změny, které mohou způsobit poruchy ve funkčnosti vaší aplikace, nástrojích pro údržbu clusteru, nebo vyžadují úpravy v konfiguračních souborech.
Obecně vyžadují manuální zásah…
Začněme hned se změnou, která se pravděpodobně dotkne všech, kdo pracují s Kubernetes dostatečně dlouho. Kubernetes API přestalo podporovat zastaralé verze API zdrojů.
Pro ty, kdo to nevěděli, nebo zapomněli…Verze API zdroje se uvádí v manifestu v poli apiVersion: apps/v1
A to konkrétně:
Typ zdroje
Stará verze
Na co je potřeba nahradit
Všechny zdroje
apps/v1beta1
apps/v1beta2
apps/v1
nasazení
daemonset
replicaset
extension/v1beta1
apps/v1
networkpolicies
extensions/v1beta1
networking.k8s.io/v1
podsecuritypolicies
extensions/v1beta1
policy/v1beta1
Také bych chtěl upozornit, že objekty typu Ingress také změnily apiVersion na networking.k8s.io/v1beta1. Stará hodnota extensions/v1beta1 je stále podporována, ale je dobrým důvodem pro aktualizaci i této verze v manifestech.
Existuje poměrně mnoho změn v různých systémových označeních (Node labels), které jsou nastaveny na uzlech.
Kubelet už zakazuje nastavovat libovolné oznacení (dříve bylo možné zadávat je přes spouštěcí klíče kubelet --node-labels), ponechal pouze tento seznam :
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 již nejsou přidávány na nové uzly, a různé další komponenty začaly používat mírně jiná označení jako node selector:
Komponenta
Staré označení
Aktuální označení
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 nyní odstraňuje soubor počáteční konfigurace kubeletu bootstrap-kubelet.conf. Pokud vaše nástroje k tomuto souboru přistupovaly, přepněte se na použití kubelet.conf, který uchovává aktuální nastavení přístupu.
Cadvisor již nevrací metriky pod_name a container_name, pokud je používáte v Prometheus, přejděte na metriky pod a container odpovídajícím způsobem.
Byly odstraněny příznaky příkazového řádku:
Komponenta
Odstraněný klíč
hyperkube
—make-symlink
kube-proxy
—resource-container
Scheduler začal používat verzi v1beta1 Event API. Pokud používáte třetí strany nástroje pro interakci s Event API, přepněte na aktuální verzi.
Chvíle humoru. Během přípravy vydání 1.16 byly provedeny následující změny:
- byla odstraněna anotace
scheduler.alpha.kubernetes.io/critical-podve verzi v1.16.0-alpha.1 - byla vrácena anotace
scheduler.alpha.kubernetes.io/critical-podve verzi v1.16.0-alpha.2 - byla odstraněna anotace
scheduler.alpha.kubernetes.io/critical-podve verzi v1.16.0-beta.1
Použijte pole spec.priorityClassName k určení významnosti podu.
Zdroj: habr.com
