
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.