Kubernetes 1.16 — kako se nadograditi i ništa ne pokvariti

Kubernetes 1.16 — kako se nadograditi i ništa ne pokvariti

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 CHANGELOG-1.16.md. 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 dozvoljenih:

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-pod u verziji v1.16.0-alpha.1
  • vratili smo anotaciju scheduler.alpha.kubernetes.io/critical-pod u verziji v1.16.0-alpha.2
  • uklonjena je anotacija scheduler.alpha.kubernetes.io/critical-pod u verziji v1.16.0-beta.1

Koristite polje spec.priorityClassName za određivanje važnosti poda.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster