Kubernetes 1.17 - wie Sie ein Upgrade durchführen und nicht das gesamte Fehlerbudget ausgeben

Bild

Am 9. Dezember wurde die nächste Version von Kubernetes veröffentlicht - 1.17. Sein Motto ist "Stabilität", viele Features erhielten den Status von GA, einige veraltete Features wurden entfernt ...

Und wie immer erfordert unser bevorzugter Abschnitt Action Required in CHANGELOG-1.17.md Aufmerksamkeit.

Lass uns mit deinen Händen arbeiten ...

Warnung Lagerung!


Das direkte Aktualisieren von kubelet in Version 1.17 wird nicht unterstützt, da sich der Pfad zum Blockieren von Volumes geändert hat. Bevor Sie den Knoten aktualisieren, müssen Sie alle Pods mit dem Befehl kubectl drain aus dem Knoten kubectl drain .

Fahnen und Tore ...


Changelog schreibt normalerweise, dass ein Flag oder ein Feature-Gate entfernt oder hinzugefügt wurde, aber aus irgendeinem Grund schreiben sie niemals eine Anwendung, die diese Änderung aufweist ...:

  • Das Flag --include-uninitialized für kubectl .
  • Die GCERegionalPersistentDisk Funktionen für die Gates GCERegionalPersistentDisk , EnableAggregatedDiscoveryTimeout und PersistentLocalVolumes jetzt immer verwendet und können nicht deaktiviert werden. Diese Optionen werden von den möglichen api-server und controller-manager Schlüsseln entfernt.
  • Das Netzwerk der IP-Adressen für Dienste wird standardmäßig nicht mehr zugewiesen. Sie müssen es mit dem --service-cluster-ip-range angeben, wenn Sie die Server-API und den Controller-Manager starten.

kubeadm


  • Kubeadm hat gelernt, wie die automatische Erneuerung von Zertifikaten für kubelet auf allen Knoten des Clusters konfiguriert wird, einschließlich des ersten Assistenten, in dem der Befehl kubeadm init . Ein Nebeneffekt war die Anforderung, eine Datei mit der Anfangskonfiguration kubelet bootstrap-kubelet.conf anstelle von kubelet.conf während kubeadm init .
  • Wenn Sie der API Autorisierungsmodi hinzufügen, ersetzt der kubeadm-Server nicht mehr die Knoten- Node, RBAC Modi im Manifest der Pod-Statik, sodass Sie die Konfiguration vollständig ändern können.

RBAC


Das integrierte Cluster- system:csi-external-provisioner und das system:csi-external-attacher .

Veraltet ...


Einige Funktionen sind veraltet, werden jedoch weiterhin unterstützt. Vor allem aber möchte ich den Umstieg auf ContainerStorageInterface erwähnen. Administratoren, die ihre eigenen (nicht verwalteten) Cluster in AWS und GCE bereitgestellt haben, sollten vorhaben, den CSI-Treiber anstelle der in Kubernetes integrierten Treiber für die Arbeit mit persistenten Volumes zu verwenden. Das CSIMigration-Verfahren sollte ihnen dabei helfen - wir warten darauf, dass die schrittweise Anleitung angezeigt wird. Es ist an der Zeit, dass Administratoren, die andere Anbieter verwenden, dauerhafte Laufwerke zum Durchsuchen und Lesen der Dokumentation anschließen: In Version 1.21 werden alle integrierten Treiber endgültig entfernt.

Source: https://habr.com/ru/post/de479534/


All Articles