Kubernetes 1.16 - si të përmirësoni pa prishur asgjë

Kubernetes 1.16 - si të përmirësoni pa prishur asgjë

Sot, 18 shtator, lëshohet versioni tjetër i Kubernetes - 1.16. Si gjithmonë, shumë përmirësime dhe produkte të reja na presin. Por unë do të doja të tërhiqja vëmendjen te seksionet "Veprimi i kërkuar" i skedarit CHANGELOG-1.16.md. Këto seksione publikojnë ndryshime që mund të prishin aplikacionin tuaj, mjetet e mirëmbajtjes së grupeve ose kërkojnë ndryshime në skedarët e konfigurimit.

Në përgjithësi, ato kërkojnë ndërhyrje manuale...

Le të fillojmë menjëherë me një ndryshim që ka shumë të ngjarë të prekë të gjithë ata që kanë punuar me kubernetes mjaft gjatë. API Kubernetes nuk mbështet më versionet e API-së të burimeve të vjetra.

Nëse dikush nuk e dinte apo harronte...Versioni API i burimit tregohet në manifest, në fushë apiVersion: apps/v1

Domethënë

Lloji i burimit
version i vjeter
Me çfarë duhet zëvendësuar

Të gjitha burimet
aplikacionet/v1beta1
aplikacionet/v1beta2
aplikacionet / v1

vendosjet
daemonset
replikaset
zgjerimi/v1beta1
aplikacionet / v1

politikat e rrjetit
shtesat/v1beta1
networking.k8s.io/v1

politikat e sigurisë së poshtme
shtesat/v1beta1
politika/v1beta1

Unë gjithashtu do të doja të tërhiqja vëmendjen tuaj për faktin se objektet e tipit Ingress gjithashtu ndryshoi apiVersion mbi networking.k8s.io/v1beta1. Kuptimi i vjetër extensions/v1beta1 është ende i mbështetur, por ka një arsye të mirë për të përditësuar këtë version në manifeste në të njëjtën kohë.

Ka shumë ndryshime në etiketat e ndryshme të sistemit (Node labels) që janë instaluar në nyje.

Kubelet ishte i ndaluar të vendoste etiketa arbitrare (më parë ato mund të caktoheshin nëpërmjet çelësave të nisjes kubelet --node-labels), ata lanë vetëm këtë listë lejohet:

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/*

Tags beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready dhe beta.kubernetes.io/kube-proxy-ds-ready nuk shtohen më te nyjet e reja dhe komponentë të ndryshëm shtesë kanë filluar të përdorin etiketa paksa të ndryshme si përzgjedhës të nyjeve:

komponent
Etiketë e vjetër
Etiketa aktuale

kube-proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready

ip-mask-agjent
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 tani heq skedarin fillestar të konfigurimit kublet pas tij bootstrap-kubelet.conf. Nëse veglat tuaja po i qasen këtij skedari, atëherë kaloni te përdorimi kubelet.conf, i cili ruan cilësimet aktuale të aksesit.

Cadvisor nuk ofron më metrikë pod_name и container_namenëse i keni përdorur në Prometheus, shkoni te metrika pod и container respektivisht.

Hoqi çelësat me komandën e linjës:

komponent
Çelësi i tërhequr

hiperkube
--bëj-symlink

kube-proxy
--burim-enë

Planifikuesi filloi të përdorë versionin v1beta1 të API-së së ngjarjeve. Nëse përdorni mjete të palëve të treta për të bashkëvepruar me API-në e ngjarjeve, kaloni në versionin më të fundit.

Një moment humori. Gjatë përgatitjes së publikimit 1.16, u bënë ndryshimet e mëposhtme:

  • hoqi shënimin scheduler.alpha.kubernetes.io/critical-pod në versionin v1.16.0-alpha.1
  • ia ktheu shënimin scheduler.alpha.kubernetes.io/critical-pod në versionin v1.16.0-alpha.2
  • hoqi shënimin scheduler.alpha.kubernetes.io/critical-pod në versionin v1.16.0-beta.1

Përdorni fushën spec.priorityClassName për të treguar rëndësinë e pod.

Burimi: www.habr.com

Shto një koment