
Danas, 18. rujna, izlazi nova verzija Kubernetes-a — 1.16. Kao i obično, očekuje nas mnogo poboljšanja i noviteta. No, želio bih skrenuti vašu pažnju na dijelove Action Required datoteke . U ovim dijelovima objavljuju se promjene koje mogu uzrokovati prekid rada vaše aplikacije, alata za održavanje klastera ili zahtijevati izmjene u konfiguracijskim datotekama.
Uglavnom, zahtijevaju ručnu intervenciju…
Počnimo odmah s promjenom koja će vjerojatno utjecati na sve koji dovoljno dugo rade s Kubernetes-om. Kubernetes API je prestao podržavati zastarjele verzije API resursa.
Ako netko nije znao, ili zaboravio…Verzija API resursa navodi se u manifestu, u polju apiVersion: apps/v1
To jest:
Tip resursa
Stara verzija
Na što treba zamijeniti
Sve resurse
apps/v1beta1
apps/v1beta2
apps/v1
deploymente
daemonset
replicaset
extension/v1beta1
apps/v1
networkpolicies
extensions/v1beta1
networking.k8s.io/v1
podsecuritypolicies
extensions/v1beta1
policy/v1beta1
Također želim skrenuti pažnju da je kod objekata tipa Ingress također promijenjen apiVersion na networking.k8s.io/v1beta1. Stara vrijednost extensions/v1beta1 još uvijek se podržava, ali postoji dobar razlog da se istovremeno ažurira i ova verzija u manifestima.
Postoji mnogo promjena u raznim sistemskim oznakama (Node labels) koje se postavljaju na čvorove.
Kubelet je zabranio postavljanje proizvoljnih oznaka (ranije su se mogle postavljati preko opcija pokretanja kubelet --node-labels), ostavili su samo ovaj popis :
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/*
Oznake beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready i beta.kubernetes.io/kube-proxy-ds-ready više se ne dodaju novim čvorovima, a razne dodatne komponente počele su koristiti nešto druge oznake kao node selector:
Komponenta
Stara oznaka
Trenutna oznaka
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 sada briše početnu konfiguracijsku datoteku kubeleta bootstrap-kubelet.conf. Ako su vaši alati pristupali ovoj datoteci, prebacite se na korištenje kubelet.conf, u kojem su pohranjene aktualne postavke pristupa.
Cadvisor više ne isporučuje metrike pod_name i container_name, ako ste ih koristili u Prometheus-u, pređite na metrike pod i container odgovarajuće.
Uklonjene su opcije naredbenog retka:
Komponenta
Uklonjena opcija
hyperkube
—make-symlink
kube-proxy
—resource-container
Scheduler sada koristi verziju v1beta1 Event API. Ako koristite alate trećih strana za interakciju s Event API, prebacite se na aktualnu verziju.
Malo humora. Tijekom pripreme verzije 1.16 napravljene su sljedeće promjene:
- uklonjena je anotacija
scheduler.alpha.kubernetes.io/critical-podu verziji v1.16.0-alpha.1 - vratili smo anotaciju
scheduler.alpha.kubernetes.io/critical-podu verziji v1.16.0-alpha.2 - uklonjena je anotacija
scheduler.alpha.kubernetes.io/critical-podu verziji v1.16.0-beta.1
Koristite polje spec.priorityClassName za određivanje važnosti poda.
Izvor: habr.com
