Kubernetes 1.16 — so aktualisieren Sie und vermeiden Probleme

Kubernetes 1.16 — so aktualisieren Sie und vermeiden Probleme

Heute, am 18. September, erscheint die neue Version von Kubernetes — 1.16. Wie immer erwarten uns viele Verbesserungen und Neuerungen. Ich möchte jedoch Ihre Aufmerksamkeit auf die Abschnitte Action Required in der CHANGELOG-1.16.md. In diesen Abschnitten werden Änderungen aufgefĂŒhrt, die die Funktion Ihrer Anwendung, die Wartungswerkzeuge des Clusters beeintrĂ€chtigen oder Anpassungen in den Konfigurationsdateien erfordern können.

Im Allgemeinen erfordern sie manuelles Eingreifen...

Fangen wir direkt mit der Änderung an, die wahrscheinlich alle betreffen wird, die schon lĂ€nger mit Kubernetes arbeiten. Die Kubernetes-API unterstĂŒtzt keine veralteten API-Versionen mehr.

Falls es jemand nicht wusste oder vergessen hat...Die API-Version der Ressource wird im Manifest im Feld apiVersion: apps/v1

angegeben. Genauer gesagt:

Ressourcentyp
Alte Version
Worauf Sie umstellen sollten

Alle Ressourcen
apps/v1beta1
apps/v1beta2
apps/v1

deployments
daemonset
replicaset
extension/v1beta1
apps/v1

networkpolicies
extensions/v1beta1
networking.k8s.io/v1

podsecuritypolicies
extensions/v1beta1
policy/v1beta1

Ich möchte auch darauf hinweisen, dass bei Objekten vom Typ Ingress sich ebenfalls die apiVersion findet man networking.k8s.io/v1beta1. Der alte Wert extensions/v1beta1 wird weiterhin unterstĂŒtzt, aber es gibt guten Grund, auch diese Version in den Manifests auf den neuesten Stand zu bringen.

Es gibt zahlreiche Änderungen bei den verschiedenen Systemetiketten (Node-Labels), die auf den Knoten festgelegt werden.

Kubelet erlaubt das Setzen beliebiger Labels nicht mehr (frĂŒher konnten sie ĂŒber die StartschlĂŒssel gesetzt werden kubelet --node-labels), nur diese Liste wurde beibehalten erlaubter:

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

Kennzeichnungen beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready und beta.kubernetes.io/kube-proxy-ds-ready werden nicht mehr zu neuen Knoten hinzugefĂŒgt, und verschiedene zusĂ€tzliche Komponenten verwenden nun etwas andere Labels als Node-Selector:

Komponente
Altes Label
Aktuelles Label

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 entfernt jetzt die ursprĂŒngliche Konfigurationsdatei des Kubelets bootstrap-kubelet.conf. Wenn Ihre Werkzeuge auf diese Datei zugegriffen haben, wechseln Sie bitte zur Verwendung von kubelet.conf, in der die aktuellen Zugriffseinstellungen gespeichert sind.

Cadvisor gibt keine Metriken mehr zurĂŒck. pod_name und container_name, wenn Sie diese in Prometheus verwendet haben, wechseln Sie zu Metriken pod und container entsprechend.

Die Befehlszeilenoptionen wurden entfernt:

Komponente
Entfernte Option

hyperkube
—make-symlink

kube-proxy
—resource-container

Der Scheduler verwendet jetzt die Version v1beta1 des Event-APIs. Wenn Sie Drittanbieter-Tools zur Interaktion mit dem Event-API verwenden, wechseln Sie zur aktuellen Version.

Ein kleiner Witz. WĂ€hrend der Vorbereitung von Release 1.16 wurden folgende Änderungen vorgenommen:

  • Annotation entfernt scheduler.alpha.kubernetes.io/critical-pod in Version v1.16.0-alpha.1
  • Annotation zurĂŒckgegeben scheduler.alpha.kubernetes.io/critical-pod in Version v1.16.0-alpha.2
  • Annotation entfernt scheduler.alpha.kubernetes.io/critical-pod in Version v1.16.0-beta.1

Verwenden Sie das Feld spec.priorityClassName um die Wichtigkeit des Pods anzugeben.

Quelle: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster