Heute, am 18. September, wird die nächste Version von Kubernetes veröffentlicht – 1.16. Wie immer erwarten uns viele Verbesserungen und neue Produkte. Ich möchte Sie jedoch auf die Abschnitte mit den erforderlichen Maßnahmen in der Datei aufmerksam machen
Im Allgemeinen erfordern sie einen manuellen Eingriff...
Beginnen wir gleich mit einer Änderung, die höchstwahrscheinlich jeden betreffen wird, der schon lange genug mit Kubernetes arbeitet. Die Kubernetes-API unterstützt keine älteren Ressourcen-API-Versionen mehr.
Falls es jemand nicht wusste oder vergessen hat...Die API-Version der Ressource wird im Manifest im Feld angegeben apiVersion: apps/v1
Diese sind:
Ressourcentyp
Alte Version
Wodurch soll ersetzt werden
Alle Ressourcen
apps/v1beta1
apps/v1beta2
Apps / v1
Implementierungen
Dämonensatz
Replikatsatz
Erweiterung/v1beta1
Apps / v1
Netzwerkrichtlinien
Erweiterungen/v1beta1
network.k8s.io/v1
Podsicherheitsrichtlinien
Erweiterungen/v1beta1
Policy/v1beta1
Ich möchte Sie auch darauf aufmerksam machen, dass Objekte des Typs Ingress
auch geändert apiVersion
auf networking.k8s.io/v1beta1
. Alte Bedeutung extensions/v1beta1
wird weiterhin unterstützt, aber es gibt einen guten Grund, diese Version gleichzeitig in den Manifesten zu aktualisieren.
Es gibt eine ganze Reihe von Änderungen an verschiedenen Systemetiketten (Knotenetiketten), die auf Knoten installiert sind.
Kubelet war es untersagt, willkürliche Labels festzulegen (zuvor konnten sie über Starttasten festgelegt werden). kubelet --node-labels
), haben sie nur diese Liste hinterlassen
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/*
Stichworte 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 haben begonnen, leicht unterschiedliche Bezeichnungen als Knotenselektoren zu verwenden:
Komponente
Altes Etikett
Aktuelles Etikett
Kube-Proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready
IP-Masken-Agent
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready
Metadaten-Proxy
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready
kubeadm entfernt jetzt die anfängliche Kublet-Konfigurationsdatei dahinter bootstrap-kubelet.conf
. Wenn Ihre Tools auf diese Datei zugegriffen haben, wechseln Sie zu „using“. kubelet.conf
, das die aktuellen Zugriffseinstellungen speichert.
Cadvisor stellt keine Metriken mehr bereit pod_name
и container_name
Wenn Sie sie in Prometheus verwendet haben, gehen Sie zu Metriken pod
и container
jeweils.
Die Schlüssel wurden mit dem Zeilenbefehl entfernt:
Komponente
Eingezogener Schlüssel
Hyperkube
--make-symlink
Kube-Proxy
--resource-container
Der Planer begann mit der Verwendung der Version v1beta1 der Event-API. Wenn Sie Tools von Drittanbietern verwenden, um mit der Event-API zu interagieren, wechseln Sie zur neuesten Version.
Ein Moment voller Humor. Während der Vorbereitung von Release 1.16 wurden folgende Änderungen vorgenommen:
- habe die Anmerkung entfernt
scheduler.alpha.kubernetes.io/critical-pod
in Version v1.16.0-alpha.1 - hat die Anmerkung zurückgegeben
scheduler.alpha.kubernetes.io/critical-pod
in Version v1.16.0-alpha.2 - habe die Anmerkung entfernt
scheduler.alpha.kubernetes.io/critical-pod
in Version v1.16.0-beta.1
Benutzen Sie das Feld spec.priorityClassName
um auf die Wichtigkeit des Pods hinzuweisen.
Source: habr.com