Skalierung vor dem Anstieg: Prädiktives Autoscaling für GPU-Workloads auf Kubernetes
TL;DR Ein neu entwickelter prädiktiver Autoscaling-Controller für Kubernetes optimiert die …
Kubernetes v1.37 hat die Metrics API auf die stabile Version v1 hochgestuft, die nun die CPU- und Speichernutzung für Knoten und Pods bereitstellt. Diese Stabilität bedeutet, dass die API für Cluster-Betreiber und Anwendungsentwickler nun zuverlässige Garantien bietet, ohne Änderungen an den gesammelten Metriken.
Mit der Veröffentlichung von Kubernetes v1.37 erfolgt die Graduierung der Metrics API zu einer stabilen Version. Die API, die unter metrics.k8s.io erreichbar ist, bietet Informationen über die CPU- und Speichernutzung sowohl auf Knoten- als auch auf Pod-Ebene. Diese API ist entscheidend für Funktionen wie kubectl top und die ressourcenbasierten Autoskalierungsmechanismen.
Die Metrics API wurde erstmals in Kubernetes v1.6 als Alpha eingeführt und erreichte mit v1.8 den Beta-Status. In den folgenden Jahren wurde sie von verschiedenen Clients, einschließlich des HorizontalPodAutoscalers (HPA), in Produktionsumgebungen verwendet. Die Stabilitätsgarantien der v1 API sind besonders relevant für Cluster-Betreiber und Entwickler, da sie nun auf eine bewährte und zuverlässige Schnittstelle zugreifen können.
Die API bietet zwei Hauptressourcentypen: NodeMetrics, das die CPU- und Speichernutzung für einen Knoten bereitstellt, und PodMetrics, das ähnliche Informationen für Pods liefert und eine detaillierte Aufschlüsselung pro Container
bietet. Es ist wichtig zu beachten, dass die API absichtlich klein gehalten wurde, um die notwendigen Ressourcen für Autoskalierung und grundlegende Inspektion bereitzustellen, jedoch nicht als Ersatz für umfassende Monitoring-Pipelines oder für die API für benutzerdefinierte Metriken dient.
Die API-Oberfläche der v1-Version ist identisch mit der der vorherigen v1beta1-Version, mit Ausnahme der Versionsnummer. Es gibt keine umbenannten Felder, neuen Felder oder Änderungen an der Bedeutung der zurückgegebenen Werte für CPU und Speicher. Die Abfrage von Knotenmetriken erfolgt beispielsweise über den Befehl kubectl get --raw /apis/metrics.k8s.io/v1/nodes. Für Pods innerhalb eines Namensraums kann kubectl get --raw /apis/metrics.k8s.io/v1/namespaces/default/pods verwendet werden.
Die Verwendung von kubectl top unterstützt beide API-Versionen, wobei v1 bevorzugt wird, wenn sie verfügbar ist. Der HPA-Controller unterstützt derzeit jedoch nur die v1beta1-Version. Eine zukünftige Unterstützung für eine entdeckungsbasierte Auswahl zwischen v1 und v1beta1 ist geplant, aber noch nicht in v1.37 verfügbar.
Für die Nutzung der Metrics API ist keine Aktivierung eines Feature Gates erforderlich. Die API wird über die API-Aggregationsschicht bereitgestellt, und eine Implementierung wie metrics-server muss eingerichtet werden. Um die v1-Metrics API in einem Cluster verfügbar zu machen, muss die gewählte Implementierung die v1.metrics.k8s.io API unterstützen und ein zugehöriger APIService registriert werden. Während der Übergangszeit sollten Implementierungen sowohl v1 als auch v1beta1 bereitstellen, um die Kompatibilität mit älteren Clients zu gewährleisten.
Die Graduierung der Metrics API zu v1 in Kubernetes v1.37 stellt einen wichtigen Schritt in der Stabilität und Zuverlässigkeit der Metriken dar, die für die Überwachung und Skalierung von Anwendungen in Kubernetes -Clustern benötigt werden. Die zukünftige Unterstützung für die nahtlose Integration zwischen v1 und v1beta1 wird die Benutzerfreundlichkeit weiter verbessern.
Dieser Beitrag wurde automatisch aus dem englischsprachigen Original erstellt und auf Deutsch zusammengefasst. Wir bieten diesen Service an, um Sie bei der oft zerklüfteten und überwiegend englischsprachigen News-Situation im Bereich Cloud-Native Software, Souveräne Cloud, Kubernetes und Container-Technologien zeitnah auf Deutsch zu informieren.
TL;DR Ein neu entwickelter prädiktiver Autoscaling-Controller für Kubernetes optimiert die …
TL;DR Kubernetes v1.37 bringt 67 Verbesserungen, darunter 16 stabile, 23 Beta- und 27 …
TL;DR Das Erlernen von Kubernetes erfordert einen strukturierten Ansatz, der sich zunächst auf die …