
Heute, am 18. September, wird die nächste Version von Kubernetes veröffentlicht - 1.16. Wie immer werden wir viele Verbesserungen und neue Produkte finden. Ich möchte Sie jedoch auf die Abschnitte der Datei "Aktion erforderlich"
CHANGELOG-1.16.md aufmerksam machen . In diesen Abschnitten werden Änderungen veröffentlicht, die Ihre Anwendung beschädigen können, Cluster-Wartungstools oder Änderungen an Konfigurationsdateien erfordern.
Im Allgemeinen erfordern sie manuelle Eingriffe ...
Beginnen wir gleich mit einer Änderung, die wahrscheinlich alle betrifft, die schon seit einiger Zeit mit Kubernetes arbeiten. Die Kubernetes-API unterstützt keine älteren Versionen der Ressourcen-API mehr.
Wenn jemand es nicht wusste oder vergaß ...Die Version der Ressourcen-API wird im Manifest im Feld apiVersion: apps/v1
Nämlich:
Ich möchte auch darauf hinweisen, dass
apiVersion für Objekte wie
Ingress apiVersion geändert wurde. Der alte
extensions/v1beta1 weiterhin unterstützt, aber es gibt einen guten Grund, diese Version gleichzeitig in Manifesten zu aktualisieren.
Es gibt viele Änderungen an verschiedenen Systembezeichnungen (Knotenbezeichnungen), die auf den Knoten installiert sind.
Kubelet war es verboten, beliebige Beschriftungen festzulegen (bevor sie über die
kubelet --node-labels ). Sie ließen nur diese Liste der
zulässigen :
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/*
Die Bezeichnungen
beta.kubernetes.io/metadata-proxy-ready ,
beta.kubernetes.io/masq-agent-ds-ready und
beta.kubernetes.io/kube-proxy-ds-ready nicht mehr zu neuen Knoten hinzugefügt, und verschiedene zusätzliche Komponenten verwendeten leicht unterschiedliche Bezeichnungen als Knotenselektor:
kubeadm entfernt jetzt die anfängliche Konfigurationsdatei
bootstrap-kubelet.conf . Wenn Ihre Tools auf diese Datei zugegriffen haben, wechseln Sie zur Verwendung von
kubelet.conf , in der die aktuellen Zugriffseinstellungen
kubelet.conf sind.
Cadvisor gibt die Metriken
pod_name und
container_name nicht mehr an. Wenn Sie sie in Prometheus verwendet haben,
pod_name Sie zu den Metriken
pod und
container .
Die Schlüssel wurden über die Befehlszeile entfernt:
Sheduler begann mit der Verwendung der Ereignis-API der Version v1beta1. Wenn Sie Tools von Drittanbietern verwenden, um mit der Ereignis-API zu interagieren, wechseln Sie zur aktuellen Version.
Ein Moment des Humors. Bei der Vorbereitung von Release 1.16 wurden folgende Änderungen vorgenommen:
- Annotation
scheduler.alpha.kubernetes.io/critical-pod in Version v1.16.0-alpha.1 entfernt - gab annotation
scheduler.alpha.kubernetes.io/critical-pod in Version v1.16.0-alpha.2 zurück - Annotation
scheduler.alpha.kubernetes.io/critical-pod in Version v1.16.0-beta.1 entfernt
Verwenden Sie das Feld
spec.priorityClassName , um die Wichtigkeit des Herdes anzugeben.