Kubernetes 1.16 – wie man aktualisiert, ohne etwas zu brechen

Kubernetes 1.16 – wie man aktualisiert, ohne etwas zu brechen

Heute, am 18. September, erscheint die neueste Version von Kubernetes — 1.16. Wie immer erwartet uns eine Menge Verbesserungen und Neuheiten. Ich möchte jedoch Ihre Aufmerksamkeit auf die Abschnitte "Action Required" in der Datei CHANGELOG-1.16.md. In diesen Abschnitten werden Änderungen veröffentlicht, die die Funktionsweise Ihrer Anwendung, Tools fĂŒr die Clusterverwaltung beeintrĂ€chtigen könnten oder Änderungen an den Konfigurationsdateien erfordern.

Im Allgemeinen erfordern sie manuelles Eingreifen...

Lassen Sie uns gleich zu einer Änderung kommen, die wahrscheinlich alle betreffen wird, die lange genug mit Kubernetes arbeiten. Die Kubernetes API unterstĂŒtzt keine veralteten Versionen der API-Ressourcen mehr.

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

Und zwar:

Ressourcentyp
Die alte Version
Worauf sie ersetzt werden muss

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 sich bei Objekttypen Ingress auch geĂ€ndert hat apiVersion auf networking.k8s.io/v1beta1. Der alte Wert extensions/v1beta1 wird weiterhin unterstĂŒtzt, aber es gibt einen guten Grund, auch diese Version in den Manifesten zu aktualisieren.

Es gibt viele Änderungen bei verschiedenen Systemetiketten (Node labels), die auf Knoten gesetzt werden.

Kubelet wurde verboten, beliebige Labels zu setzen (frĂŒher konnten sie ĂŒber die StartschlĂŒssel kubelet --node-labels), nur diese Liste von erlaubten:

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 und beta.kubernetes.io/kube-proxy-ds-ready werden nicht mehr auf neuen Knoten hinzugefĂŒgt, und verschiedene zusĂ€tzliche Komponenten verwenden etwas andere Labels als Node-Selector:

Komponente
Das alte Label
Das aktuelle 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 anfÀngliche Konfigurationsdatei des Kubelets. bootstrap-kubelet.conf. Wenn Ihre Tools auf diese Datei zugegriffen haben, wechseln Sie zur Verwendung kubelet.conf, in dem die aktuellen Zugriffseinstellungen gespeichert sind.

Cadvisor gibt keine Metriken mehr aus pod_name und container_name, wenn Sie diese in Prometheus verwendet haben, wechseln Sie zu den Metriken Pod und Container entsprechend.

Die folgenden Befehlszeilenparameter wurden entfernt:

Komponente
Der entfernte SchlĂŒssel

hyperkube
—make-symlink

kube-proxy
—resource-container

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

Ein Moment des Humors. Im Zuge der Vorbereitung des Releases 1.16 wurden folgende Änderungen vorgenommen:

  • die Annotation entfernt scheduler.alpha.kubernetes.io/critical-pod in der Version v1.16.0-alpha.1
  • die Annotation wieder hinzugefĂŒgt scheduler.alpha.kubernetes.io/critical-pod in der Version v1.16.0-alpha.2
  • die Annotation entfernt scheduler.alpha.kubernetes.io/critical-pod in der Version v1.16.0-beta.1

Verwenden Sie das Feld spec.priorityClassName zur Angabe der Wichtigkeit des Pods.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster