Kubernetes 1.16 - kako nadgraditi, ne da bi karkoli pokvaril

Kubernetes 1.16 - kako nadgraditi, ne da bi karkoli pokvaril

Danes, 18. septembra, je izdana naslednja različica Kubernetesa - 1.16. Kot vedno nas čakajo številne izboljšave in novi izdelki. Vendar bi vas rad opozoril na razdelke datoteke, ki zahtevajo ukrepanje DNEVNIK SPREMEMB-1.16.md. Ti razdelki objavljajo spremembe, ki lahko pokvarijo vašo aplikacijo, orodja za vzdrževanje gruče ali zahtevajo spremembe konfiguracijskih datotek.

Na splošno zahtevajo ročno posredovanje ...

Začnimo takoj s spremembo, ki bo najverjetneje prizadela vse, ki že dovolj dolgo delate s kubernetesom. Kubernetes API ne podpira več starejših različic API-ja virov.

Če kdo ni vedel ali je pozabil...Različica API-ja vira je navedena v manifestu v polju apiVersion: apps/v1

In sicer:

Vrsta vira
stara različica
S čim bi bilo treba zamenjati

Vsi viri
aplikacije/v1beta1
aplikacije/v1beta2
apps / v1

razmestitve
daemonset
replikaset
razširitev/v1beta1
apps / v1

omrežne politike
razširitve/v1beta1
mreženje.k8s.io/v1

podsecuritypolicies
razširitve/v1beta1
pravilnik/v1beta1

Prav tako bi vas rad opozoril na dejstvo, da predmeti tipa Ingress tudi spremenila apiVersion o networking.k8s.io/v1beta1. Stari pomen extensions/v1beta1 je še vedno podprt, vendar obstaja dober razlog za posodobitev te različice v manifestih hkrati.

V različnih sistemskih oznakah (Node labels), ki so nameščene na vozliščih, je kar nekaj sprememb.

Kubeletu je bilo prepovedano nastavljati poljubne oznake (prej jih je bilo mogoče nastaviti prek tipk za zagon kubelet --node-labels), pustili so samo ta seznam dovoljeno:

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 in beta.kubernetes.io/kube-proxy-ds-ready niso več dodani novim vozliščem, različne dodatne komponente pa so začele uporabljati nekoliko drugačne oznake kot izbirnike vozlišč:

Komponenta
Stara etiketa
Trenutna oznaka

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

ip-maska-agent
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready

metapodatki-proxy
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready

kubeadm zdaj odstrani začetno konfiguracijsko datoteko kublet za seboj bootstrap-kubelet.conf. Če so vaša orodja dostopala do te datoteke, preklopite na uporabo kubelet.conf, ki shranjuje trenutne nastavitve dostopa.

Cadvisor ne zagotavlja več meritev pod_name и container_nameče ste jih uporabili v Prometheusu, pojdite na metrike pod и container zaporedju.

Odstranjeni ključi z vrstičnim ukazom:

Komponenta
Umaknjen ključ

hiperkube
--make-symlink

kube-proxy
--resource-container

Razporejevalnik je začel uporabljati različico v1beta1 API-ja za dogodke. Če za interakcijo z API-jem za dogodke uporabljate orodja tretjih oseb, preklopite na najnovejšo različico.

Trenutek humorja. Med pripravo izdaje 1.16 so bile narejene naslednje spremembe:

  • odstranil opombo scheduler.alpha.kubernetes.io/critical-pod v različici v1.16.0-alpha.1
  • vrnil pripis scheduler.alpha.kubernetes.io/critical-pod v različici v1.16.0-alpha.2
  • odstranil opombo scheduler.alpha.kubernetes.io/critical-pod v različici v1.16.0-beta.1

Uporabite polje spec.priorityClassName za označevanje pomembnosti pod.

Vir: www.habr.com

Dodaj komentar