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 →



Fabian Peter · 17.08.2025 · ⏳ 4 Minuten

K3s on Flatcar via Ansible & vSphere: automatisiertes K8s für regulierte Umgebungen

Lesen →

K3s on Flatcar via Ansible & vSphere: automatisiertes K8s für regulierte Umgebungen
Fabian Peter · 17.08.2025 · ⏳ 9 Minuten

k3k: agent-less k3s in Kubernetes

Lesen →

k3k: agent-less k3s in Kubernetes
Fabian Peter · 17.08.2025 · ⏳ 18 Minuten

Developer Platforms von ayedo: Maßgeschneidert, flexibel und zukunftsgerichtet

Lesen →

Developer Platforms von ayedo: Maßgeschneidert, flexibel und zukunftsgerichtet
Fabian Peter · 17.08.2025 · ⏳ 13 Minuten

GPUs in Kubernetes: Praxisleitfaden für H100, MIG & Time‑Slicing

Lesen →

GPUs in Kubernetes: Praxisleitfaden für H100, MIG & Time‑Slicing
Fabian Peter · 06.08.2025 · ⏳ 3 Minuten

Warum Helm der Standard für Kubernetes Apps ist

Lesen →

Warum Helm der Standard für Kubernetes Apps ist

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.