Kubernetes 1.16 - kiel ĝisdatigi sen rompi ion

Kubernetes 1.16 - kiel ĝisdatigi sen rompi ion

Hodiaŭ, la 18-an de septembro, la sekva versio de Kubernetes estas publikigita - 1.16. Kiel ĉiam, multaj plibonigoj kaj novaj produktoj atendas nin. Sed mi ŝatus atentigi vin pri la sekcioj de Ago Bezonata de la dosiero ŜANĜOLOGO-1.16.md. Ĉi tiuj sekcioj publikigas ŝanĝojn, kiuj eble rompas vian aplikaĵon, amasajn prizorgajn ilojn aŭ postulas ŝanĝojn al agordaj dosieroj.

Ĝenerale, ili postulas manan intervenon...

Ni komencu tuj per ŝanĝo, kiu plej verŝajne influos ĉiujn, kiuj sufiĉe longe laboras kun kubernetes. La Kubernetes API ne plu subtenas heredajn rimedajn API-versiojn.

Se iu ne sciis aŭ forgesis...La API-versio de la rimedo estas indikita en la manifesto, en la kampo apiVersion: apps/v1

Nome:

Rimeda tipo
malnova versio
Per kio oni devas anstataŭigi

Ĉiuj rimedoj
apps/v1beta1
apps/v1beta2
apps/v1

deplojoj
daemonset
kopiaro
etendo/v1beta1
apps/v1

retaj politikoj
etendoj/v1beta1
networking.k8s.io/v1

podsekurecaj politikoj
etendoj/v1beta1
politiko/v1beta1

Mi ankaŭ ŝatus atentigi vin pri tio, ke objektoj de tipo Ingress ankaŭ ŝanĝiĝis apiVersion sur networking.k8s.io/v1beta1. Malnova signifo extensions/v1beta1 estas ankoraŭ subtenata, sed estas bona kialo por ĝisdatigi ĉi tiun version en la manifestoj samtempe.

Estas sufiĉe multaj ŝanĝoj en diversaj sistemaj etikedoj (Nodaj etikedoj), kiuj estas instalitaj sur nodoj.

Kubelet estis malpermesita meti arbitrajn etikedojn (antaŭe ili povus esti agorditaj per lanĉklavoj kubelet --node-labels), ili lasis nur ĉi tiun liston permesite:

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

Etikedoj beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready kaj beta.kubernetes.io/kube-proxy-ds-ready ne plu estas aldonitaj al novaj nodoj, kaj diversaj kromaj komponantoj komencis uzi iomete malsamajn etikedojn kiel nodo-elektilojn:

Komponanto
Malnova etikedo
Nuna etikedo

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

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

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

kubeadm nun forigas la komencan kublet-agordan dosieron malantaŭ ĝi bootstrap-kubelet.conf. Se viaj iloj aliris ĉi tiun dosieron, tiam ŝanĝu al uzado kubelet.conf, kiu konservas aktualajn alirajn agordojn.

Cadvisor ne plu disponigas metrikojn pod_name и container_namese vi uzis ilin en Prometheus, iru al metriko pod и container laŭe.

Forigis la klavojn per la linio komando:

Komponanto
Retirita ŝlosilo

hiperkube
--faru-simbolligo

kube-proxy
--rimedo-ujo

La planisto komencis uzi version v1beta1 de la Event API. Se vi uzas triajn ilojn por interagi kun la Event API, ŝanĝu al la plej nova versio.

Momento de humuro. Dum la preparado de eldono 1.16, la sekvaj ŝanĝoj estis faritaj:

  • forigis la komentarion scheduler.alpha.kubernetes.io/critical-pod en versio v1.16.0-alpha.1
  • resendis la komentarion scheduler.alpha.kubernetes.io/critical-pod en versio v1.16.0-alpha.2
  • forigis la komentarion scheduler.alpha.kubernetes.io/critical-pod en versio v1.16.0-beta.1

Uzu la kampon spec.priorityClassName por indiki la gravecon de la balgo.

fonto: www.habr.com

Aldoni komenton