Kubernetes v1.31: Optimierte CPU-Verteilung für mehr Leistung auf Multi-Core-Prozessoren

Entdecken Sie die neue CPUManager-Funktion in Kubernetes v1.31, die eine verbesserte CPU-Verteilung über Kerne ermöglicht und die Leistung steigert.

Meta: ayedo Redaktion · 25.08.2024 · ⏳ 3 Minuten · Alle Blogs →

In Kubernetes v1.31 freuen wir uns, eine bedeutende Verbesserung im CPU-Management vorzustellen: die Option distribute-cpus-across-cores für die CPUManager statische Richtlinie. Diese Funktion befindet sich derzeit in der Alpha-Phase und ist standardmäßig verborgen. Sie markiert einen strategischen Wandel, der darauf abzielt, die CPU-Auslastung zu optimieren und die Systemleistung auf Multi-Core-Prozessoren zu verbessern.

Verständnis der Funktion

Traditionell tendiert der CPUManager von Kubernetes dazu, CPUs so kompakt wie möglich zuzuweisen, indem er sie in der Regel auf die geringste Anzahl physischer Kerne packt. Diese Zuweisungsstrategie ist entscheidend, da CPUs auf demselben physischen Host weiterhin einige Ressourcen des physischen Kerns teilen, wie z.B. den Cache und die Ausführungseinheiten.

Während der Standardansatz die Inter-Core-Kommunikation minimiert und unter bestimmten Szenarien vorteilhaft sein kann, stellt er auch eine Herausforderung dar. CPUs, die sich einen physischen Kern teilen, können zu Ressourcenkonflikten führen, was wiederum zu Leistungsengpässen führen kann, die insbesondere bei CPU-intensiven Anwendungen bemerkbar sind.

Die neue Funktion distribute-cpus-across-cores geht dieses Problem an, indem sie die Zuweisungsstrategie ändert. Wenn diese Option aktiviert ist, weist die CPUManager Richtlinie an, die CPUs (Hardware-Threads) so weit wie möglich über mehrere physische Kerne zu verteilen. Diese Verteilung soll Konflikte zwischen CPUs, die sich denselben physischen Kern teilen, minimieren und so die Leistung von Anwendungen verbessern, indem ihnen dedizierte Kernressourcen zur Verfügung gestellt werden.

Technisch gesehen wird innerhalb dieser statischen Richtlinie die Liste der verfügbaren CPUs in der im Diagramm dargestellten Weise neu angeordnet, um CPUs von separaten physischen Kernen zuzuweisen.

Aktivieren der Funktion

Um diese Funktion zu aktivieren, müssen Benutzer zunächst das Kubelet-Flag --cpu-manager-policy=static oder das Feld cpuManagerPolicy: static in der Kubelet-Konfiguration hinzufügen. Anschließend kann die Option --cpu-manager-policy-options distribute-cpus-across-cores=true oder distribute-cpus-across-cores=true zu ihren CPUManager-Richtlinieneinstellungen in der Kubernetes-Konfiguration hinzugefügt werden. Diese Einstellung weist den CPUManager an, die neue Verteilungsstrategie zu übernehmen. Es ist wichtig zu beachten, dass diese Richtlinienoption derzeit nicht in Verbindung mit den Optionen full-pcpus-only oder distribute-cpus-across-numa verwendet werden kann.

Aktuelle Einschränkungen und zukünftige Richtungen

Wie bei jeder neuen Funktion, insbesondere einer in der Alpha-Phase, gibt es Einschränkungen und Bereiche für zukünftige Verbesserungen. Eine wesentliche aktuelle Einschränkung besteht darin, dass distribute-cpus-across-cores nicht mit anderen Richtlinienoptionen kombiniert werden kann, die in Bezug auf CPU-Zuweisungsstrategien möglicherweise in Konflikt stehen. Diese Einschränkung kann die Kompatibilität mit bestimmten Arbeitslasten und Bereitstellungsszenarien beeinträchtigen, die auf spezialisierte Ressourcenverwaltung angewiesen sind.

Wir sind jedoch bestrebt, die Kompatibilität und Funktionalität der Option distribute-cpus-across-cores zu verbessern. Zukünftige Updates werden sich darauf konzentrieren, diese Kompatibilitätsprobleme zu lösen, sodass diese Richtlinie nahtlos mit anderen CPUManager-Richtlinien kombiniert werden kann. Unser Ziel ist es, ein flexibleres und robusteres Rahmenwerk für die CPU-Zuweisung zu bieten, das sich an eine Vielzahl von Arbeitslasten und Leistungsanforderungen anpassen kann.

Ein praktisches Beispiel für die Nutzung dieser neuen Funktion könnte ein Unternehmen sein, das rechenintensive Anwendungen betreibt, wie etwa Datenanalysen oder maschinelles Lernen. Durch die Aktivierung der neuen Verteilungsrichtlinie können diese Anwendungen von einer besseren CPU-Leistung profitieren, was zu schnelleren Ergebnissen und effizienteren Abläufen führt. Bei ayedo unterstützen wir Unternehmen dabei, Kubernetes optimal zu nutzen und diese neuen Funktionalitäten in ihre Arbeitsabläufe zu integrieren.


Quelle: Kubernetes Blog

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps bei ayedo

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



ayedo Redaktion · 06.07.2025 · ⏳ 2 Minuten

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods

Kubernetes ist der De-facto-Standard für die Container-Orchestrierung, aber wenn es um den Umgang mit spezialisierter Hardware wie GPUs und anderen Beschleunigern geht, wird es kompliziert. In diesem …

Lesen →

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods
Katrin Peter · 03.07.2025 · ⏳ 2 Minuten

Produkt-Update bei Loopback:

Lesen →

Produkt-Update bei Loopback:
Katrin Peter · 03.07.2025 · ⏳ 3 Minuten

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland

Lesen →

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland
ayedo Redaktion · 28.06.2025 · ⏳ 3 Minuten

Kompatibilität von Container-Images: Ein Schlüssel zur Zuverlässigkeit in Cloud-Umgebungen

In Branchen, in denen Systeme äußerst zuverlässig laufen müssen und strenge Leistungsanforderungen bestehen, wie beispielsweise in der Telekommunikation, Hochleistungs- oder KI-Computing, benötigen …

Lesen →

Kompatibilität von Container-Images: Ein Schlüssel zur Zuverlässigkeit in Cloud-Umgebungen
Katrin Peter · 17.06.2025 · ⏳ 3 Minuten

Kubernetes kann Freiheit - wenn man es richtig macht.

Lesen →

Kubernetes kann Freiheit - wenn man es richtig macht.

Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →


Noch Fragen? Melden Sie sich!

Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.