Nach zwei Monaten Entwicklung präsentierte Linus Torvalds die Veröffentlichung des Linux-Kernels.

Veröffentlicht Einführung der Container-Orchestrierungsplattform Kubernetes 1.18, die es ermöglicht, einen Cluster aus isolierten Containern als Ganzes zu verwalten, und Mechanismen für das Deployment, die Wartung und das Skalieren von in Containern laufenden Anwendungen bereitstellt. Das Projekt wurde ursprünglich von Google ins Leben gerufen, dann aber auf eine unabhängige Plattform übertragen, die von der Linux Foundation betreut wird. Die Plattform wird als universelle Lösung für eine sich entwickelnde Gemeinschaft positioniert, die nicht an bestimmte Systeme gebunden ist und mit allen Anwendungen in allen Cloud-Umgebungen arbeiten kann. Der Kubernetes-Code ist in Go geschrieben und wird verbreitet unter der Apache 2.0 Lizenz.

stellt Funktionen für das Deployment und die Verwaltung der Infrastruktur bereit, wie z.B. DNS-Management, Lastverteilung,
Verteilung der Container auf die Knoten des Clusters (Migration der Container je nach Laständerung und Dienstbedarf), Überprüfung der Anwendungsintegrität, Verwaltung von Konten, Aktualisierung und dynamisches Skalieren des laufenden Clusters, ohne es anzuhalten. Es ist möglich, Gruppen von Containern bereitzustellen, bei denen Aktualisierungs- und Rollback-Operationen sofort für die gesamte Gruppe durchgeführt werden, sowie logische Partitionierung des Clusters mit Ressourcenteilung. Eine Unterstützung für dynamische Anwendungs-Migration ist gegeben, für die sowohl lokale Speicher als auch Netzwerkspeichersysteme verwendet werden können.

Die Veröffentlichung von Kubernetes 1.18 umfasst 38 Änderungen und Verbesserungen, von denen 15 in den stabilen Status überführt wurden, 11 in den Beta-Status. 12 neue Änderungen wurden im Alpha-Status vorgeschlagen. Bei der Vorbereitung der neuen Version wurden gleichwertige Anstrengungen sowohl für die Verbesserung verschiedener Funktionalitäten und die Stabilisierung experimenteller Funktionen als auch für die Hinzufügung neuer Entwicklungen eingesetzt. Zu den wichtigsten Änderungen gehören:

  • Kubectl
    • Hinzugefügt Alpha-Version des Befehls „kubectl debug“, der die Fehlersuche in Pods erleichtert, indem er ephemeral Container mit Debugging-Tools startet.
    • Als stabil eingestuft Befehl „kubectl diff“, der es ermöglicht zu sehen, was sich im Cluster ändern wird, wenn das Manifest angewendet wird.
    • Entfernt wurden alle Generatoren des Befehls „kubectl run“, mit Ausnahme des Generators zum Starten eines einzelnen Pods.
    • Änderten Das Flag «—dry-run», abhängig von seinem Wert (client, server und none), führt die Testausführung des Befehls entweder auf der Client- oder der Serverseite aus.
    • Der kubectl-Code wurde in ein separates Repository ausgelagert. Dadurch konnte kubectl von internen Abhängigkeiten von Kubernetes getrennt werden, was den Import des Codes in Drittprojekte erleichtert.
  • Ingress
    • Hat begonnen Änderung der API-Gruppe für Ingress auf networking.v1beta1.
    • Hinzugefügt Neue Felder:
      • pathType, das angibt, wie der Pfad in der Anfrage verglichen wird.
      • IngressClassName — Ersatz für die Annotation kubernetes.io/ingress.class, die als veraltet gilt. In diesem Feld wird der Name eines speziellen Objekts IngressClass angegeben.
    • Hinzugefügt Das IngressClass-Objekt, in dem der Name des Ingress-Controllers, seine zusätzlichen Parameter und das Zeichen für seine Standardverwendung angegeben sind.
  • Service
    • Hinzugefügt Das Feld AppProtocol, in dem angegeben werden kann, welches Protokoll die Anwendung verwendet.
    • Wurde in den Beta-Status überführt und standardmäßig aktiviert EndpointSlicesAPI, das eine funktionsreichere Alternative zu den normalen Endpoints darstellt.
  • Netzwerk
    • Bestellen IPv6 wurde in den Beta-Status überführt.
  • Persistent Disks. Folgende Funktionalität wurde als stabil erklärt:
  • Konfiguration der Anwendung
    • In die Objekte ConfigMap und Secret. hinzugefügt ein neues Feld «immutable». Das Festlegen des Wertes dieses Feldes auf true verbietet die Änderung des Objekts.
  • Scheduler
    • Hinzugefügt die Möglichkeit, zusätzliche Profile für kube-scheduler zu erstellen. Wenn zuvor separate zusätzliche Scheduler zur Implementierung von Nicht-Standard-Algorithmen zur Pod-Zuweisung erforderlich waren, besteht nun die Möglichkeit, zusätzliche Einstellungssätze für den Standard-Scheduler zu erstellen und seinen Namen im selben Feld des Pods «.spec.schedulerName» anzugeben. Status — Alpha.
    • Taint Based Eviction wurde als stabil erklärt.
  • Skalierung
    • Hinzugefügt die Möglichkeit, im Manifest HPA den Grad der Aggressivität beim Ändern der Anzahl der gestarteten Pods anzugeben, das heißt, bei steigender Last sofort N-mal mehr Instanzen zu starten.
  • Kubelet
    • Topology Manager hat den Beta-Status erhalten. Die Funktion umfasst die NUMA-Zuweisung, die eine Leistungsverschlechterung in Multi-Socket-Systemen vermeidet.
    • Beta-Status eine die Funktion PodOverhead, die es ermöglicht, in RuntimeClass die zusätzliche Menge an Ressourcen anzugeben, die erforderlich ist, um einen Pod zu starten.
    • wurde erweitert. Unterstützung von HugePages, die Isolation auf Container-Ebene wurde in den Alpha-Status hinzugefügt, sowie die Unterstützung mehrerer Größen von HugePages.
    • Entfernt Endpoint für Metriken /metrics/resource/v1alpha1, stattdessen wird /metrics/resource verwendet
  • API
    • Endgültig Die Möglichkeit, die veralteten API-Gruppen apps/v1beta1 und extensions/v1beta1 zu verwenden, wurde entfernt.
    • ServerSide Apply Auf Beta2 erhöht. Diese Verbesserung verlagert die Objektmanipulation von kubectl zum API-Server. Die Autoren der Verbesserung behaupten, dass dies viele bestehende Fehler beheben wird, die in der aktuellen Situation nicht behoben werden können. Sie haben auch den Abschnitt „.metadata.managedFields“ hinzugefügt, in dem die Änderungshistorie des Objekts gespeichert werden soll, mit Angabe von wer, wann und was genau geändert hat.
    • Der Mechanismus Stabiles CertificateSigningRequest API.
  • Unterstützung für die Windows-Plattform.

Quelle: opennet.ru

60GB SSD 8Gb DDR4